~ruther/qmk_firmware

583094aa26edc4171bad84f22ce948c840797e6e — yynmt 5 years ago f4fb0e1
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.
M keyboards/dozen0/config.h => keyboards/dozen0/config.h +8 -8
@@ 52,14 52,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #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

M keyboards/dozen0/keymaps/default/keymap.c => keyboards/dozen0/keymaps/default/keymap.c +95 -5
@@ 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

enum layer_number {
    _BASE = 0,
    _LOWER,
    _RAISE,
    _ADJUST
};

enum custom_keycodes {
  BASE = SAFE_RANGE,
  LOWER,
  RAISE,
  ADJUST,
  RGBRST
};

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 \
  /* 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, _______
  )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  return true;
layer_state_t layer_state_set_user(layer_state_t state) {
    return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

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) {

M keyboards/dozen0/keymaps/default/readme.md => keyboards/dozen0/keymaps/default/readme.md +41 -4
@@ 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- |      |
`-----------------------------------------'
```

M keyboards/dozen0/keymaps/f12/keymap.c => keyboards/dozen0/keymaps/f12/keymap.c +2 -2
@@ 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
  ),
};


M keyboards/dozen0/rules.mk => keyboards/dozen0/rules.mk +10 -10
@@ 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