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.
This commit is contained in:
yynmt 2019-11-24 18:35:03 +09:00 committed by fauxpark
parent f4fb0e1617
commit 583094aa26
5 changed files with 159 additions and 32 deletions

View file

@ -52,14 +52,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define BACKLIGHT_BREATHING // #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3 // #define BACKLIGHT_LEVELS 3
// #define RGB_DI_PIN E2 #define RGB_DI_PIN D3
// #ifdef RGB_DI_PIN #ifdef RGB_DI_PIN
// #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_ANIMATIONS
// #define RGBLED_NUM 16 #define RGBLED_NUM 2
// #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_VAL_STEP 8
// #endif #endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5 #define DEBOUNCE 5

View file

@ -15,20 +15,110 @@
*/ */
#include QMK_KEYBOARD_H #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] = { enum layer_number {
[0] = LAYOUT( _BASE = 0,
LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_UP, KC_DEL, KC_BSPC, \ _LOWER,
KC_LCTRL, KC_LSFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT \ _RAISE,
), _ADJUST
}; };
bool process_record_user(uint16_t keycode, keyrecord_t *record) { enum custom_keycodes {
return true; 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) { void matrix_scan_user(void) {

View file

@ -1,8 +1,45 @@
# The default keymap for Dozen0 # The default keymap for Dozen0
## Base
``` ```
,-------------------------------------------------. ,-----------------------------------------.
| Ctrl+X | Ctrl+C | Ctrl+V | Up | Delete | Bksp | | Cut | Copy |Paste | Up |Delete| Bksp |
| | | | | |Raise |
|------+------+------+------+------+------|
| Ctrl |Shift | Left | Down |Right |Enter | | 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- | |
`-----------------------------------------'
``` ```

View file

@ -18,8 +18,8 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( [0] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, \ KC_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
), ),
}; };

View file

@ -9,25 +9,25 @@ MCU = atmega32u4
# QMK DFU qmk-dfu # QMK DFU qmk-dfu
# ATmega32A bootloadHID # ATmega32A bootloadHID
# ATmega328P USBasp # ATmega328P USBasp
BOOTLOADER = atmel-dfu BOOTLOADER = caterina
# Build Options # Build Options
# change yes to no to disable # change yes to no to disable
# #
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys(+4700) MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control(+450) EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug(+400) CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE # 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 # 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 # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6 AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches 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