From 18596b85e9d280004204e1e5a4fc08c7f392e2ff Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 27 Dec 2022 13:22:07 -0800 Subject: [PATCH] Bump to latest QMK, cleanup --- keyboards/betalupi_ergodox/betalupi_ergodox.c | 4 +- keyboards/betalupi_ergodox/config.h | 11 +- keyboards/betalupi_ergodox/info.json | 172 +++++++++--------- .../betalupi_ergodox/keymaps/default/keymap.c | 123 ++++++++----- .../betalupi_ergodox/keymaps/default/keymap.h | 54 ------ .../default/layers/definitions/arrows.h | 4 +- .../default/layers/definitions/desktop.h | 8 +- .../default/layers/definitions/keyboard.h | 2 +- .../keymaps/default/layers/definitions/main.h | 10 +- .../default/layers/definitions/plain.h | 8 +- .../default/layers/definitions/symbols.h | 6 +- .../keymaps/default/layers/layers.c | 48 ++++- .../keymaps/default/layers/layers.h | 41 ----- .../keymaps/default/parts/leader.c | 35 ++++ .../default/{tapdance => parts}/tapdance.c | 17 +- .../betalupi_ergodox/keymaps/default/rules.mk | 4 - .../keymaps/default/tapdance/tapdance.h | 12 -- keyboards/betalupi_ergodox/matrix.c | 29 --- keyboards/betalupi_ergodox/readme.md | 38 +--- keyboards/betalupi_ergodox/rules.mk | 9 +- 20 files changed, 281 insertions(+), 354 deletions(-) delete mode 100644 keyboards/betalupi_ergodox/keymaps/default/keymap.h delete mode 100644 keyboards/betalupi_ergodox/keymaps/default/layers/layers.h create mode 100644 keyboards/betalupi_ergodox/keymaps/default/parts/leader.c rename keyboards/betalupi_ergodox/keymaps/default/{tapdance => parts}/tapdance.c (78%) delete mode 100644 keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.h diff --git a/keyboards/betalupi_ergodox/betalupi_ergodox.c b/keyboards/betalupi_ergodox/betalupi_ergodox.c index c870a8b..7195645 100644 --- a/keyboards/betalupi_ergodox/betalupi_ergodox.c +++ b/keyboards/betalupi_ergodox/betalupi_ergodox.c @@ -181,7 +181,7 @@ void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { //{driver, R location, G location, B location} {0, C3_1, C2_1, C4_1}, // LED1 on right @@ -476,7 +476,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user(keycode, record); } -uint32_t layer_state_set_kb(uint32_t state) { +layer_state_t layer_state_set_kb(layer_state_t state) { //uint8_t layer = biton32(state); hid_send_state( diff --git a/keyboards/betalupi_ergodox/config.h b/keyboards/betalupi_ergodox/config.h index eb3c99c..bf0fbe9 100644 --- a/keyboards/betalupi_ergodox/config.h +++ b/keyboards/betalupi_ergodox/config.h @@ -4,12 +4,6 @@ // USB parameters -#define VENDOR_ID 0x3297 // ZSA Labs -#define PRODUCT_ID 0x4976 // Ergodox glow variant -#define DEVICE_VER 0x0002 -#define MANUFACTURER Betalupi -#define PRODUCT Betalupi ErgoDox -#define WEBUSB_LANDING_PAGE_URL u8"betalupi.com" #define USB_MAX_POWER_CONSUMPTION 500 #define USB_SUSPEND_WAKEUP_DELAY 0 @@ -75,7 +69,6 @@ #define LED_BRIGHTNESS_DEFAULT (LED_BRIGHTNESS_LO) - // RGBLight (Underglow) config #define RGBLED_NUM 8 #define RGB_DI_PIN D7 @@ -86,7 +79,7 @@ // Max brightness #define RGBLIGHT_LIMIT_VAL 200 -//#define RGBLIGHT_OFF_AT_START +#define RGBLIGHT_OFF_AT_START //#define RGBLIGHT_NO_EEPROM // Prevents RGB keycodes from affecting underglow. @@ -107,7 +100,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 24 #define DRIVER_2_LED_TOTAL 24 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_HUE_STEP 10 #define RGB_MATRIX_SAT_STEP 16 diff --git a/keyboards/betalupi_ergodox/info.json b/keyboards/betalupi_ergodox/info.json index 60eb424..4e1db3c 100644 --- a/keyboards/betalupi_ergodox/info.json +++ b/keyboards/betalupi_ergodox/info.json @@ -1,104 +1,114 @@ { - "keyboard_name": "Betalupi ErgoDox", - "url": "betalupi.com", - "maintainer": "mark@betalupi", - "width": 17, - "height": 8, + "keyboard_name": "Betalupi ErgoDox", + "url": "betalupi.com", + "maintainer": "mark@betalupi", + "manufacturer": "Betalupi", - "layouts": { - "LAYOUT_ergodox": { - "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + "usb": { + // ZSA Labs + "vid": "0x3297", + // Ergodox glow variant + "pid": "0x4976", + "device_version": "1.0.0" + }, - {"x":6, "y":5}, {"x":7, "y":5}, - {"x":7, "y":6}, - {"x":5, "y":6, "h":2}, {"x":6, "y":6, "h":2}, {"x":7, "y":7}, + "width": 17, + "height": 8, + + "layouts": { + "LAYOUT_ergodox": { + "layout": [ + {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, + {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, + {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, + {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, + {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + + {"x":6, "y":5}, {"x":7, "y":5}, + {"x":7, "y":6}, + {"x":5, "y":6, "h":2}, {"x":6, "y":6, "h":2}, {"x":7, "y":7}, - {"x":9.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.375, "w":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, - {"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.375, "w":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"x":9.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.375, "w":1.5}, + {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, + {"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.375, "w":1.5}, + {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, + {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, - {"x":9, "y":5}, {"x":10, "y":5}, - {"x":9, "y":6}, - {"x":9, "y":7}, {"x":10, "y":6, "h":2}, {"x":11, "y":6, "h":2} - ] - }, - "LAYOUT_ergodox_pretty": { - "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":9.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.375, "w":1.5}, + {"x":9, "y":5}, {"x":10, "y":5}, + {"x":9, "y":6}, + {"x":9, "y":7}, {"x":10, "y":6, "h":2}, {"x":11, "y":6, "h":2} + ] + }, + "LAYOUT_ergodox_pretty": { + "layout": [ + {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, + {"x":9.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.375, "w":1.5}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, + {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, + {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.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.375, "w":1.5}, + {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.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.375, "w":1.5}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, + {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, + {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, - {"x":6, "y":5}, {"x":7, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, - {"x":7, "y":6}, {"x":9, "y":6}, - {"x":5, "y":6, "h":2}, {"x":6, "y":6, "h":2}, {"x":7, "y":7}, {"x":9, "y":7}, {"x":10, "y":6, "h":2}, {"x":11, "y":6, "h":2} - ] - }, - "LAYOUT_ergodox_80": { - "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + {"x":6, "y":5}, {"x":7, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, + {"x":7, "y":6}, {"x":9, "y":6}, + {"x":5, "y":6, "h":2}, {"x":6, "y":6, "h":2}, {"x":7, "y":7}, {"x":9, "y":7}, {"x":10, "y":6, "h":2}, {"x":11, "y":6, "h":2} + ] + }, + "LAYOUT_ergodox_80": { + "layout": [ + {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, + {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, + {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, + {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, + {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, - {"x":6, "y":5}, {"x":7, "y":5}, - {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, - {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, + {"x":6, "y":5}, {"x":7, "y":5}, + {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, + {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, - {"x":9.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.375, "w":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, - {"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.375, "w":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"x":9.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.375, "w":1.5}, + {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, + {"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.375, "w":1.5}, + {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, + {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, - {"x":9, "y":5}, {"x":10, "y":5}, - {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, - {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7} - ] - }, - "LAYOUT_ergodox_pretty_80": { - "layout": [ - {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, - {"x":9.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.375, "w":1.5}, + {"x":9, "y":5}, {"x":10, "y":5}, + {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, + {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7} + ] + }, + "LAYOUT_ergodox_pretty_80": { + "layout": [ + {"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":6.5, "y":0.25}, + {"x":9.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.375, "w":1.5}, - {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, - {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, + {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25, "h":1.5}, + {"x":9.5, "y":1.25, "h":1.5}, {"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.375, "w":1.5}, - {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.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.375, "w":1.5}, + {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.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.375, "w":1.5}, - {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, - {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, + {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":6.5, "y":2.75, "h":1.5}, + {"x":9.5, "y":2.75, "h":1.5}, {"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.375, "w":1.5}, - {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, - {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, + {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, + {"x":11.5, "y":4.125}, {"x":12.5, "y":4}, {"x":13.5, "y":4.125}, {"x":14.5, "y":4.375}, {"x":15.5, "y":4.375}, - {"x":6, "y":5}, {"x":7, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, - {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, - {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7} - ] - } - } + {"x":6, "y":5}, {"x":7, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, + {"x":5, "y":6}, {"x":6, "y":6}, {"x":7, "y":6}, {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, + {"x":5, "y":7}, {"x":6, "y":7}, {"x":7, "y":7}, {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7} + ] + } + } } diff --git a/keyboards/betalupi_ergodox/keymaps/default/keymap.c b/keyboards/betalupi_ergodox/keymaps/default/keymap.c index 20d3ed1..980d19f 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/keymap.c +++ b/keyboards/betalupi_ergodox/keymaps/default/keymap.c @@ -1,25 +1,77 @@ -#include "keymap.h" -#include "layers/layers.h" +#include QMK_KEYBOARD_H +#include "version.h" +#include "keymap_russian.h" +#include "keymap_us_international.h" + + +// Values that should not be saved to git. +// There should be a`secrets.h` in this directory +// with the following contents: +// +// #define SECRET_EMAIL "value" +// #define SECRET_GMAIL "value" +// #define SECRET_SCHOOL_EMAIL "value" +#include "secrets.h" + +// Macro keycodes +enum custom_keycodes { + M_SHUTDOWN = BETA_SAFE_RANGE, + + // Macros + M_RESETWM, + M_RU_CTRL, + M_RU_ALT, + + // Special characters. + // M_SPECIAL_TOP and M_SPECIAL_BOTTOM are + // bounds used to parse these. Only special + // characters should be between them. + // + // Сharacters here should be in the same + // order as they are in the host inteface. + M_SPECIAL_TOP, + M_SC_GRAVE, + M_SC_TILD, + M_SC_QUOT, + M_SC_LBR, + M_SC_RBR, + M_SC_LCBR, + M_SC_RCBR, + M_SC_LKVCH, + M_SC_RKVCH, + M_SPECIAL_BOTTOM +}; + +// Tapdance keycodes +enum tap_dance_codes { + TD_WMLAYOUT, + TD_SCREENSHOT, + TD_OCR +}; + +// LED colors +#define LC_OFF LC_HSV( 0, 0, 0) +#define LC_GREEN LC_HSV( 85, 203, 158) +#define LC_YELLOW LC_HSV( 32, 176, 255) +#define LC_PINK LC_HSV(243, 222, 234) +#define LC_CYAN LC_HSV(134, 255, 213) +#define LC_ORANGE LC_HSV( 14, 255, 255) +#define LC_WHITE LC_HSV( 0, 0, 150) + +#define LC_RU_B LC_HSV( 0, 0, 165) +#define LC_RU_G LC_HSV(153, 255, 153) +#define LC_RU_K LC_HSV( 0, 255, 145) + #ifdef ENABLE_HID_SPELLCHECK #include "features/hid_spellcheck.h" #endif -#include "features/beta_rawhid.h" - #ifdef ENABLE_AUTOCORRECT #include "features/autocorrect/autocorrect.h" #endif -// Values that should not be saved to git. -// Create a `secrets.h` in the keymap directory. -// -// It should contain the following: -// #define SECRET_EMAIL "val" -// #define SECRET_GMAIL "val" -// #define SECRET_SCHOOL_EMAIL "val" -#include "secrets.h" - +#include "features/beta_rawhid.h" // Send a special character. // Returns false if character was caught, true otherwise. @@ -31,42 +83,13 @@ bool send_special_character(uint16_t keycode) { return true; } -LEADER_EXTERNS(); -void leader_start(void) { ergodox_right_led_3_on(); } -void leader_end(void) { ergodox_right_led_3_off(); } -void matrix_scan_user(void) { - LEADER_DICTIONARY() { - leading = false; - leader_end(); - SEQ_TWO_KEYS(KC_E, KC_M) { - SEND_STRING(SECRET_EMAIL); - } - - SEQ_TWO_KEYS(KC_G, KC_M) { - SEND_STRING(SECRET_GMAIL); - } - - SEQ_TWO_KEYS(KC_L, KC_I) { - SEND_STRING(SECRET_SCHOOL_EMAIL); - } - - - SEQ_TWO_KEYS(KC_P, KC_L) { - layer_move(LAYER_PLAIN); - } - - //SEQ_ONE_KEY(KC_F) {} - // - //SEQ_TWO_KEYS(KC_A, KC_S) { - // register_code(KC_LGUI); - // register_code(KC_S); - // unregister_code(KC_S); - // unregister_code(KC_LGUI); - //} - } -} +// Include all other parts of configuration +#include "layers/layers.c" +#include "parts/leader.c" +#include "parts/tapdance.c" +// Process macros. // Return FALSE to halt key processing, // Return TRUE to allow QMK to handle keypress. bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -101,9 +124,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case M_RU_CTRL: if (record->event.pressed) { layer_move(LAYER_MAIN); - register_code16(KC_LCTRL); + register_code16(KC_LCTL); } else { - unregister_code16(KC_LCTRL); + unregister_code16(KC_LCTL); layer_move(LAYER_RUSSIAN); } return false; @@ -121,4 +144,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; -} +} \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/keymaps/default/keymap.h b/keyboards/betalupi_ergodox/keymaps/default/keymap.h deleted file mode 100644 index 15f1482..0000000 --- a/keyboards/betalupi_ergodox/keymaps/default/keymap.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -#include "betalupi_ergodox.h" -#include "version.h" -#include "keymap_russian.h" -#include "keymap_us_international.h" - -#include "tapdance/tapdance.h" - - -extern rgb_config_t rgb_matrix_config; - -// LED colors, in HSV. -#define LC_OFF LC_HSV( 0, 0, 0) -#define LC_GREEN LC_HSV( 85, 203, 158) -#define LC_YELLOW LC_HSV( 32, 176, 255) -#define LC_PINK LC_HSV(243, 222, 234) -#define LC_CYAN LC_HSV(134, 255, 213) -#define LC_ORANGE LC_HSV( 14, 255, 255) -#define LC_WHITE LC_HSV( 0, 0, 150) - -#define LC_RU_B LC_HSV( 0, 0, 165) -#define LC_RU_G LC_HSV(153, 255, 153) -#define LC_RU_K LC_HSV( 0, 255, 145) - -// Define custom keys -// (Must be done before keymaps are loaded) -enum custom_keycodes { - M_SHUTDOWN = BETA_SAFE_RANGE, - - // Macros - M_RESETWM, - M_RU_CTRL, - M_RU_ALT, - - // Special characters. - // M_SPECIAL_TOP and M_SPECIAL_BOTTOM are - // bounds used to parse these. Only special - // characters should be between them. - // - // Сharacters here should be in the same - // order as they are in the host inteface. - M_SPECIAL_TOP, - M_SC_GRAVE, - M_SC_TILD, - M_SC_QUOT, - M_SC_LBR, - M_SC_RBR, - M_SC_LCBR, - M_SC_RCBR, - M_SC_LKVCH, - M_SC_RKVCH, - M_SPECIAL_BOTTOM -}; diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/arrows.h b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/arrows.h index ed83cd7..1262c56 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/arrows.h +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/arrows.h @@ -11,8 +11,8 @@ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_TRANSPARENT, LGUI(LCTL(KC_ENTER)), KC_NO, KC_UP, KC_NO, KC_PGUP, KC_TRANSPARENT,\ - KC_LGUI, LALT(KC_LCTRL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,\ - KC_TRANSPARENT, LGUI(KC_LCTRL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\ + KC_LGUI, LALT(KC_LCTL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,\ + KC_TRANSPARENT, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\ KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\ \ KC_TRANSPARENT, KC_TRANSPARENT,\ diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/desktop.h b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/desktop.h index a102aaa..2f73e85 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/desktop.h +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/desktop.h @@ -10,14 +10,14 @@ #ifdef BETA_LAYER_KEYS #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ KC_TRANSPARENT, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), TO(LAYER_MAIN),\ - KC_NO, KC_NO, LGUI(LCTL(KC_ENTER)), KC_NO, KC_NO, LGUI(KC_T), LGUI(KC_ENTER),\ + KC_NO, KC_NO, LGUI(LCTL(KC_ENTER)), KC_NO, KC_NO, LGUI(KC_T), KC_NO,\ KC_NO, LGUI(KC_EQL), LGUI(KC_MINUS), KC_NO, LGUI(KC_F), LGUI(KC_G),\ - KC_NO, KC_NO, KC_NO, LGUI(LSFT(KC_C)), LGUI(KC_N), LGUI(KC_M), LGUI(KC_BSLASH),\ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ + KC_NO, KC_NO, KC_NO, LGUI(LSFT(KC_C)), LGUI(KC_N), LGUI(KC_M), KC_NO,\ + TO(LAYER_MAIN), KC_NO, KC_NO, KC_NO, KC_NO,\ \ KC_NO, M_RESETWM,\ KC_NO,\ - KC_NO, KC_NO, TO(LAYER_MAIN),\ + LGUI(KC_ENTER), LGUI(KC_BSLS), KC_NO,\ \ \ M_SHUTDOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/keyboard.h b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/keyboard.h index c4a4e7b..7dfd074 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/keyboard.h +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/keyboard.h @@ -28,7 +28,7 @@ \ KC_NO, RGB_TOG,\ KC_NO,\ - RESET, KC_NO, KC_NO\ + QK_BOOTLOADER, KC_NO, KC_NO\ ) BETA_LAYER_MAGIC_MACRO diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/main.h b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/main.h index b775599..fdfa9dd 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/main.h +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/main.h @@ -9,15 +9,15 @@ #ifdef BETA_LAYER_KEYS #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ - KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(LAYER_DESKTOP),\ + KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, TO(LAYER_NUMPAD),\ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,\ KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G,\ - KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, TO(LAYER_NUMPAD),\ - KC_LALT, KC_NO, KC_NO, KC_LSHIFT, MO(LAYER_ARROWS),\ + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT,\ + OSL(LAYER_DESKTOP), KC_NO, KC_NO, KC_LSFT, MO(LAYER_ARROWS),\ \ TD(TD_SCREENSHOT), TD(TD_OCR),\ TD(TD_WMLAYOUT),\ - KC_SPACE, KC_BSPACE, OSL(LAYER_DESKTOP),\ + KC_SPACE, KC_BSPC, KC_NO,\ \ \ KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB),\ @@ -28,7 +28,7 @@ \ KC_LNG1, KC_LNG2,\ KC_LNG3,\ - TO(LAYER_RUSSIAN), KC_RSHIFT, KC_ENTER\ + TO(LAYER_RUSSIAN), KC_RSFT, KC_ENTER\ ) BETA_LAYER_MAGIC_MACRO diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/plain.h b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/plain.h index 06b4407..d8b934f 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/plain.h +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/plain.h @@ -12,12 +12,12 @@ KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PSCR,\ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,\ KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G,\ - KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP,\ - KC_LALT, KC_NO, KC_NO, KC_LSHIFT, MO(LAYER_ARROWS),\ + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP,\ + KC_LALT, KC_NO, KC_NO, KC_LSFT, MO(LAYER_ARROWS),\ \ KC_F1, KC_F2,\ KC_F3,\ - KC_SPACE, KC_BSPACE, KC_F4,\ + KC_SPACE, KC_BSPC, KC_F4,\ \ \ KC_SCRL, KC_6, KC_7, KC_8, KC_9, KC_0, TO(LAYER_MAIN),\ @@ -28,7 +28,7 @@ \ KC_F7, KC_F8,\ KC_F6,\ - KC_F5, KC_RSHIFT, KC_ENTER\ + KC_F5, KC_RSFT, KC_ENTER\ ) BETA_LAYER_MAGIC_MACRO diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/symbols.h b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/symbols.h index 6fcbf16..e749489 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/symbols.h +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/definitions/symbols.h @@ -39,7 +39,7 @@ KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO,\ KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_TRNS,\ KC_NO, KC_TILD, KC_QUOTE, KC_COMMA, KC_DOT, KC_DQUO,\ - KC_NO, KC_NO, KC_LBRACKET, KC_RBRACKET, KC_EXLM, KC_RCBR, KC_NO,\ + KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ \ KC_NO, KC_NO,\ @@ -48,9 +48,9 @@ \ \ KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_NO, KC_NO, KC_NO,\ - KC_NO, KC_LABK, KC_RABK, KC_SLASH, KC_NO, KC_BSLASH, KC_NO,\ + KC_NO, KC_LABK, KC_RABK, KC_SLASH, KC_NO, KC_BSLS, KC_NO,\ KC_UNDS, KC_MINUS, KC_COLN, KC_TRANSPARENT, KC_PIPE, KC_NO,\ - KC_NO, KC_EQUAL, KC_PLUS, KC_SCOLON, KC_NO, KC_NO, KC_NO,\ + KC_NO, KC_EQUAL, KC_PLUS, KC_SCLN, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ \ KC_NO, KC_NO,\ diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c b/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c index e5fff1b..657583d 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c +++ b/keyboards/betalupi_ergodox/keymaps/default/layers/layers.c @@ -1,5 +1,39 @@ -#include "layers.h" #include "extra_mappings.h" +#define LAYER_INCLUDE_FILE "definitions/layers.inc" + + +/* + Setup +*/ + +// Generate layer ids +#define BETA_LAYER_KEYS +#define BETA_LAYER(name) LAYER_##name, +enum layer_indices { + #include LAYER_INCLUDE_FILE + X_LAYER_MAX +}; +#undef BETA_LAYER +#undef BETA_LAYER_KEYS + + +// Generate RGBMatrix ids +// We don't use the same id for layers and layer colors +// to save memory. Not every layer has colors! +#define BETA_LAYER_LEDS +#define BETA_LAYER(name) LAYER_##name##_LEDS, +enum led_indices { + #include LAYER_INCLUDE_FILE + X_LAYER_LEDS_MAX +}; +#undef BETA_LAYER +#undef BETA_LAYER_LEDS + + +/* + Load layers +*/ + // Create keymap array #define BETA_LAYER_KEYS @@ -14,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Create led map array #define BETA_LAYER_LEDS #define BETA_LAYER(name) [LAYER_##name##_LEDS] = BETA_LAYER_CONTEXT_DATA, -const uint8_t PROGMEM ledmaps[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmaps[][RGB_MATRIX_LED_COUNT][3] = { #include LAYER_INCLUDE_FILE }; #undef BETA_LAYER @@ -31,7 +65,7 @@ uint8_t layer_layouts[] = { void set_layer_color(int layer) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmaps[layer][i][0]), .s = pgm_read_byte(&ledmaps[layer][i][1]), @@ -49,9 +83,9 @@ void set_layer_color(int layer) { -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (keyboard_config.disable_layer_led) { - return; + return true; } switch (biton32(layer_state)) { @@ -74,11 +108,13 @@ void rgb_matrix_indicators_user(void) { } break; } + + return true; } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { uint8_t layer = biton32(state); ergodox_board_led_off(); diff --git a/keyboards/betalupi_ergodox/keymaps/default/layers/layers.h b/keyboards/betalupi_ergodox/keymaps/default/layers/layers.h deleted file mode 100644 index b4acc04..0000000 --- a/keyboards/betalupi_ergodox/keymaps/default/layers/layers.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once -// This header declares custom keycodes -#include "keymap.h" - -#define LAYER_INCLUDE_FILE "definitions/layers.inc" - -// Generate layer ids -#define BETA_LAYER_KEYS -#define BETA_LAYER(name) LAYER_##name, -enum layer_indices { - #include LAYER_INCLUDE_FILE - X_LAYER_MAX -}; -#undef BETA_LAYER -#undef BETA_LAYER_KEYS - - -// Generate RGBMatrix ids -// We don't use the same id for layers and layer colors -// to save memory. Not every layer has colors! -#define BETA_LAYER_LEDS -#define BETA_LAYER(name) LAYER_##name##_LEDS, -enum led_indices { - #include LAYER_INCLUDE_FILE - X_LAYER_LEDS_MAX -}; -#undef BETA_LAYER -#undef BETA_LAYER_LEDS - - -// We don't need these in the header, -// they shouldn't be used anywhere else. -//const uint16_t PROGMEM keymaps[X_LAYER_MAX][MATRIX_ROWS][MATRIX_COLS]; -//const uint8_t PROGMEM ledmaps[X_LAYER_LEDS_MAX][DRIVER_LED_TOTAL][3]; - -extern uint8_t layer_layouts[]; - -void set_layer_color(int layer); // Helper method -void rgb_matrix_indicators_user(void); // QMK method -uint32_t layer_state_set_user(uint32_t state); // QMK method - diff --git a/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c b/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c new file mode 100644 index 0000000..abe8fa7 --- /dev/null +++ b/keyboards/betalupi_ergodox/keymaps/default/parts/leader.c @@ -0,0 +1,35 @@ +LEADER_EXTERNS(); +void leader_start(void) { ergodox_right_led_3_on(); } +void leader_end(void) { ergodox_right_led_3_off(); } +void matrix_scan_user(void) { + LEADER_DICTIONARY() { + leading = false; + leader_end(); + + SEQ_TWO_KEYS(KC_E, KC_M) { + SEND_STRING(SECRET_EMAIL); + } + + SEQ_TWO_KEYS(KC_G, KC_M) { + SEND_STRING(SECRET_GMAIL); + } + + SEQ_TWO_KEYS(KC_L, KC_I) { + SEND_STRING(SECRET_SCHOOL_EMAIL); + } + + + SEQ_TWO_KEYS(KC_P, KC_L) { + layer_move(LAYER_PLAIN); + } + + //SEQ_ONE_KEY(KC_F) {} + // + //SEQ_TWO_KEYS(KC_A, KC_S) { + // register_code(KC_LGUI); + // register_code(KC_S); + // unregister_code(KC_S); + // unregister_code(KC_LGUI); + //} + } +} \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.c b/keyboards/betalupi_ergodox/keymaps/default/parts/tapdance.c similarity index 78% rename from keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.c rename to keyboards/betalupi_ergodox/keymaps/default/parts/tapdance.c index 8b2b12c..07baa66 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.c +++ b/keyboards/betalupi_ergodox/keymaps/default/parts/tapdance.c @@ -1,13 +1,10 @@ -#include "keymap.h" -#include "tapdance.h" - void td_screenshot(qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { - tap_code16(KC_PSCREEN); + tap_code16(KC_PSCR); } else if (state->count == 2) { - tap_code16(LSFT(KC_PSCREEN)); + tap_code16(LSFT(KC_PSCR)); } else if (state->count == 3) { - tap_code16(LALT(KC_PSCREEN)); + tap_code16(LALT(KC_PSCR)); } else { reset_tap_dance(state); } @@ -15,9 +12,9 @@ void td_screenshot(qk_tap_dance_state_t *state, void *user_data) { void td_ocr(qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { - tap_code16(LCTL(KC_PSCREEN)); + tap_code16(LCTL(KC_PSCR)); } else if (state->count == 2) { - tap_code16(LCTL(LSFT(KC_PSCREEN))); + tap_code16(LCTL(LSFT(KC_PSCR))); } else { reset_tap_dance(state); } @@ -33,10 +30,8 @@ void td_wmlayout(qk_tap_dance_state_t *state, void *user_data) { } } - - qk_tap_dance_action_t tap_dance_actions[] = { [TD_WMLAYOUT] = ACTION_TAP_DANCE_FN(td_wmlayout), [TD_SCREENSHOT] = ACTION_TAP_DANCE_FN(td_screenshot), [TD_OCR] = ACTION_TAP_DANCE_FN(td_ocr), -}; +}; \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/keymaps/default/rules.mk b/keyboards/betalupi_ergodox/keymaps/default/rules.mk index 8af1119..1cb00f5 100644 --- a/keyboards/betalupi_ergodox/keymaps/default/rules.mk +++ b/keyboards/betalupi_ergodox/keymaps/default/rules.mk @@ -2,7 +2,3 @@ LEADER_ENABLE = yes TAP_DANCE_ENABLE = yes - -SRC += \ - tapdance/tapdance.c \ - layers/layers.c diff --git a/keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.h b/keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.h deleted file mode 100644 index 8922f76..0000000 --- a/keyboards/betalupi_ergodox/keymaps/default/tapdance/tapdance.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -#include "keymap.h" - -enum tap_dance_codes { - TD_WMLAYOUT, - TD_SCREENSHOT, - TD_OCR -}; - -void td_screenshot(qk_tap_dance_state_t *state, void *user_data); -void td_ocr(qk_tap_dance_state_t *state, void *user_data); -void td_wmlayout(qk_tap_dance_state_t *state, void *user_data); \ No newline at end of file diff --git a/keyboards/betalupi_ergodox/matrix.c b/keyboards/betalupi_ergodox/matrix.c index 2efff8e..d74baa5 100644 --- a/keyboards/betalupi_ergodox/matrix.c +++ b/keyboards/betalupi_ergodox/matrix.c @@ -1,32 +1,3 @@ -/* - -Note for ErgoDox EZ customizers: Here be dragons! -This is not a file you want to be messing with. -All of the interesting stuff for you is under keymaps/ :) -Love, Erez - -Copyright 2012 Jun Wako -Copyright 2013 Oleg Kostyuk -Copyright 2015 ZSA Technology Labs Inc (@zsa) -Copyright 2020 Christopher Courtney (@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 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General 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 diff --git a/keyboards/betalupi_ergodox/readme.md b/keyboards/betalupi_ergodox/readme.md index de8e561..9a4850e 100644 --- a/keyboards/betalupi_ergodox/readme.md +++ b/keyboards/betalupi_ergodox/readme.md @@ -3,44 +3,18 @@ This is a modified version of the [ZSA ErgoDox firmware](https://git.betalupi.com/mirrors-QMK/zsa_firmware), based on the `ergodox_ex/glow` keyboard. -## TODO - - - Layer switch cleanup - - Define indicator in keymap - - Define language in keymap - - Auto-switch all - --------------------------------------------------------------------------------- -# Setup - -Clone this repo into `keyboards/betalupi_ergodox` in your qmk directory. - -Make example for this keyboard (after setting up your build environment): - - make betalupi_ergodox:default:flash - - -If you get array-bounds errors on build, you may have a bad avr-gcc version. Read [this issue](https://github.com/qmk/qmk_firmware/issues/17064), and try - - AVR_CFLAGS="-Wno-array-bounds" - - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. - --------------------------------------------------------------------------------- # Notes -Custom configuration defines +This keyboard adds a few extra options in `config.h`: ```cpp -// Enable fft animation (requires RGB_MATRIX_FRAMEBUFFER_EFFECTS) -#def ENABLE_RGB_MATRIX_FFT_ANIM - -// Enable spellcheck over hid (features/spellcheck) -#def ENABLE_SPELLCHECK +#define RGBLIGHT_OFF_AT_START +#define RGBLIGHT_NO_EEPROM +#ifdef ENABLE_HID_SPELLCHECK +#ifdef ENABLE_AUTOCORRECT ``` -Custom keycodes (betalupi_keyboard.c) +Also, there are a few custom kecodes defined in `betalupi_keyboard.c`. This allows us to control the rgb matrix and rgb lighting seperately---my keyboard has both. ``` // Custom RGBLIGHT macros diff --git a/keyboards/betalupi_ergodox/rules.mk b/keyboards/betalupi_ergodox/rules.mk index 6f28404..423ff0c 100644 --- a/keyboards/betalupi_ergodox/rules.mk +++ b/keyboards/betalupi_ergodox/rules.mk @@ -28,10 +28,12 @@ UNICODE_ENABLE = no # Unicode SWAP_HANDS_ENABLE= no # Allow swapping hands of keyboard SLEEP_LED_ENABLE = no API_SYSEX_ENABLE = no - -# Disable some unused qmk features -# to save space +MOUSE_SHARED_EP = no MAGIC_ENABLE = no +LEADER_ENABLE = yes +TAP_DANCE_ENABLE = yes +AUDIO_SUPPORTED = no +BACKLIGHT_SUPPORTED = no DEBOUNCE_TYPE = sym_eager_pr @@ -54,7 +56,6 @@ LTO_ENABLE = yes # Enable keyboard-specific effects RGB_MATRIX_CUSTOM_KB = yes -MOUSE_SHARED_EP = no # FROM glow dir RGB_MATRIX_ENABLE = yes