From 583094aa26edc4171bad84f22ce948c840797e6e Mon Sep 17 00:00:00 2001 From: yynmt <45400583+yynmt@users.noreply.github.com> Date: Sun, 24 Nov 2019 18:35:03 +0900 Subject: [PATCH] Add RGB LED for Dozen0 (#7458) * enable rgb led. * add layer for default keymap * Update keymap.c * Update rules.mk * Update rules.mk * fix keymaps remove backslashes. --- keyboards/dozen0/config.h | 16 ++-- keyboards/dozen0/keymaps/default/keymap.c | 106 +++++++++++++++++++-- keyboards/dozen0/keymaps/default/readme.md | 45 ++++++++- keyboards/dozen0/keymaps/f12/keymap.c | 4 +- keyboards/dozen0/rules.mk | 20 ++-- 5 files changed, 159 insertions(+), 32 deletions(-) diff --git a/keyboards/dozen0/config.h b/keyboards/dozen0/config.h index 9ea2c1795..af6972e27 100644 --- a/keyboards/dozen0/config.h +++ b/keyboards/dozen0/config.h @@ -52,14 +52,14 @@ along with this program. If not, see . // #define BACKLIGHT_BREATHING // #define BACKLIGHT_LEVELS 3 -// #define RGB_DI_PIN E2 -// #ifdef RGB_DI_PIN -// #define RGBLIGHT_ANIMATIONS -// #define RGBLED_NUM 16 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #endif +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 2 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/dozen0/keymaps/default/keymap.c b/keyboards/dozen0/keymaps/default/keymap.c index da0aae0b0..fdc344f66 100644 --- a/keyboards/dozen0/keymaps/default/keymap.c +++ b/keyboards/dozen0/keymaps/default/keymap.c @@ -15,20 +15,110 @@ */ #include QMK_KEYBOARD_H +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_UP, KC_DEL, KC_BSPC, \ - KC_LCTRL, KC_LSFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT \ - ), +enum layer_number { + _BASE = 0, + _LOWER, + _RAISE, + _ADJUST }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, + ADJUST, + RGBRST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base + * ,-----------------------------------------. + * | Cut | Copy |Paste | Up |Delete| Bksp | + * | | | | | |Raise | + * |------+------+------+------+------+------| + * | Ctrl |Shift | Left | Down |Right |Enter | + * | | | | | |Lower | + * `-----------------------------------------' + */ + [_BASE] = LAYOUT( + LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_UP, KC_DEL, LT(_RAISE,KC_BSPC), + KC_LCTL, KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, LT(_LOWER,KC_ENT) + ), + + /* Lower + * ,-----------------------------------------. + * | | | | Page | | | + * | | | | Up | | | + * |------+------+------+------+------+------| + * | | | Home | Page | End | | + * | | | | Down | | | + * `-----------------------------------------' + */ + [_LOWER] = LAYOUT( + _______, _______, _______, KC_PGUP, _______, _______, + _______, _______, KC_HOME, KC_PGDN, KC_END, _______ + ), + + /* Raise + * ,-----------------------------------------. + * | | | | | | | + * | | | | | | | + * |------+------+------+------+------+------| + * | | | | | | | + * | | | | | | | + * `-----------------------------------------' + */ + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + /* Adjust + * ,-----------------------------------------. + * | RGB | RGB | RGB | RGB | RGB | | + * |Toggle|Mode+ | Hue+ | Sat+ | Val+ | | + * |------+------+------+------+------+------| + * | RGB | RGB | RGB | RGB | RGB | | + * |Reset |Mode- | Hue- | Sat- | Val- | | + * `-----------------------------------------' + */ + [_ADJUST] = LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, + RGBRST, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______ + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } -void matrix_init_user(void) { +int RGB_current_mode; +void matrix_init_user(void) { + #ifdef RGBLIGHT_ENABLE + RGB_current_mode = rgblight_config.mode; + #endif +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch (keycode) { + case RGBRST: + #ifdef RGBLIGHT_ENABLE + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_config.mode; + } + #endif + break; + } + return true; } void matrix_scan_user(void) { diff --git a/keyboards/dozen0/keymaps/default/readme.md b/keyboards/dozen0/keymaps/default/readme.md index bf63c1f1a..832c72075 100644 --- a/keyboards/dozen0/keymaps/default/readme.md +++ b/keyboards/dozen0/keymaps/default/readme.md @@ -1,8 +1,45 @@ # The default keymap for Dozen0 +## Base ``` - ,-------------------------------------------------. -| Ctrl+X | Ctrl+C | Ctrl+V | Up | Delete | Bksp | -| Ctrl | Shift | Left | Down | Right | Enter | -`--------------------------------------------------' +,-----------------------------------------. +| Cut | Copy |Paste | Up |Delete| Bksp | +| | | | | |Raise | +|------+------+------+------+------+------| +| Ctrl |Shift | Left | Down |Right |Enter | +| | | | | |Lower | +`-----------------------------------------' +``` + +## Lower +``` +,-----------------------------------------. +| | | | Page | | | +| | | | Up | | | +|------+------+------+------+------+------| +| | | Home | Page | End | | +| | | | Down | | | +`-----------------------------------------' +``` + +## Raise +``` +,-----------------------------------------. +| | | | | | | +| | | | | | | +|------+------+------+------+------+------| +| | | | | | | +| | | | | | | +`-----------------------------------------' +``` + +## Adjust +``` +,-----------------------------------------. +| RGB | RGB | RGB | RGB | RGB | | +|Toggle|Mode+ | Hue+ | Sat+ | Val+ | | +|------+------+------+------+------+------| +| RGB | RGB | RGB | RGB | RGB | | +|Reset |Mode- | Hue- | Sat- | Val- | | +`-----------------------------------------' ``` diff --git a/keyboards/dozen0/keymaps/f12/keymap.c b/keyboards/dozen0/keymaps/f12/keymap.c index bc8cd4123..167e29e10 100644 --- a/keyboards/dozen0/keymaps/f12/keymap.c +++ b/keyboards/dozen0/keymaps/f12/keymap.c @@ -18,8 +18,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = 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_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/dozen0/rules.mk b/keyboards/dozen0/rules.mk index 7218e1e1b..ffeffc7fe 100644 --- a/keyboards/dozen0/rules.mk +++ b/keyboards/dozen0/rules.mk @@ -9,25 +9,25 @@ MCU = atmega32u4 # QMK DFU qmk-dfu # ATmega32A bootloadHID # ATmega328P USBasp -BOOTLOADER = atmel-dfu +BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +BOOTMAGIC_ENABLE = no # Virtual DIP switch 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 # 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 -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches -HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +HD44780_ENABLE = no # Enable support for HD44780 based LCDs