From 0dac9d609423fd1691ccb279716ef7b714acaaf6 Mon Sep 17 00:00:00 2001 From: Takeshi Nishio Date: Sat, 15 Feb 2020 04:52:02 +0900 Subject: [PATCH] =?UTF-8?q?Update=20=E5=8F=B3=E6=89=8B=E3=82=B9=E3=82=A4?= =?UTF-8?q?=E3=83=83=E3=83=81=E9=85=8D=E7=BD=AE=E5=A4=89=E6=9B=B4=E3=80=82?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=B8=E3=82=B1=E3=83=BC=E3=82=BFLED?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyboards/colice/colice.h | 6 +- keyboards/colice/config.h | 54 +++++----- keyboards/colice/keymaps/default/keymap.c | 126 +++++++++++++++------- keyboards/colice/rules.mk | 4 +- 4 files changed, 117 insertions(+), 73 deletions(-) diff --git a/keyboards/colice/colice.h b/keyboards/colice/colice.h index ab103943939..f5977f0a147 100644 --- a/keyboards/colice/colice.h +++ b/keyboards/colice/colice.h @@ -32,8 +32,8 @@ L40, L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, R07, R06, R05, R04, R03, R02, R01, \ L41, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, R17, R16, R15, R14, R13, R12, R11, R10, \ L42, L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, R27, R26, R25, R24, R23, R22, R21, \ - L43, L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, R38, R37, R36, R35, R34, R33, R32, R31, \ - L44, L45, L46, L47, L48, L49, R47, R46, R45, R44, R43, R42, R41 \ + L43, L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, R37, R36, R35, R34, R33, R32, R31, \ + L44, L45, L46, L47, L48, L49, R47, R46, R45, R44, R43, R42, R41 \ ) \ { \ { L00, L01, L02, L03, L04, L05, L06, L07, L08, L09 }, \ @@ -44,7 +44,7 @@ { KC_NO, R01, R02, R03, R04, R05, R06, R07, KC_NO, KC_NO }, \ { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO, KC_NO }, \ { KC_NO, R21, R22, R23, R24, R25, R26, R27, KC_NO, KC_NO }, \ - { KC_NO, R31, R32, R33, R34, R35, R36, R37, R38, KC_NO }, \ + { KC_NO, R31, R32, R33, R34, R35, R36, R37, KC_NO, KC_NO }, \ { KC_NO, R41, R42, R43, R44, R45, R46, R47, KC_NO, KC_NO } \ } diff --git a/keyboards/colice/config.h b/keyboards/colice/config.h index 6d6cb961792..cee870d4fde 100644 --- a/keyboards/colice/config.h +++ b/keyboards/colice/config.h @@ -57,33 +57,33 @@ along with this program. If not, see . // #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 -// /*== 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 +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 2 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 100 /* 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/colice/keymaps/default/keymap.c b/keyboards/colice/keymaps/default/keymap.c index 4bc556e740f..7b21dfdd7fd 100644 --- a/keyboards/colice/keymaps/default/keymap.c +++ b/keyboards/colice/keymaps/default/keymap.c @@ -15,9 +15,14 @@ */ #include QMK_KEYBOARD_H +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +extern rgblight_config_t rgblight_config; +#endif enum layer_number { _QWERTY = 0, + _NUM, _LOWER, _RAISE, _ADJUST @@ -25,41 +30,50 @@ enum layer_number { enum custom_keycodes { QWERTY = SAFE_RANGE, + NUM, LOWER, RAISE, - ADJUST, - STR_LOWER, - STR_RAISE, - STR_ADJUST + ADJUST }; + +#define TG_NUM TG(_NUM) +#define SP_LOW LT(_LOWER, KC_SPC) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT( - KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_MUTE,KC_VOLU,KC_VOLD, 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_P7, KC_MRWD,KC_MPLY,KC_MFFD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \ + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS,KC_PAST,TG_NUM, 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_P7, KC_P8, KC_P9, KC_PMNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \ + KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_MRWD,KC_MPLY,KC_MFFD,KC_PPLS, 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, LOWER, KC_MUTE,KC_VOLD,KC_VOLU,KC_PENT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_UP, \ + RAISE, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, SP_LOW, KC_LGUI,KC_LALT, LOWER,KC_LEFT,KC_DOWN,KC_RGHT \ + ), + [_NUM] = LAYOUT( + _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS,KC_PAST,TG_NUM, 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_P7, KC_P8, KC_P9, KC_PMNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \ KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_P4, KC_P5, KC_P6, KC_PPLS, 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, LOWER, KC_P1, KC_P2, KC_P3, KC_PENT, RAISE, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_UP, KC_RSFT, \ - RAISE, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, LOWER, KC_SPC, KC_LGUI,KC_LALT,KC_LEFT,KC_DOWN,KC_RGHT \ + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, LOWER, KC_P1, KC_P2, KC_P3, KC_PENT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_UP, \ + RAISE, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, _______,KC_LGUI,KC_LALT,_______,KC_LEFT,KC_DOWN,KC_RGHT \ ), [_LOWER] = LAYOUT( - STR_LOWER,_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______,_______,_______, KC_F7, KC_F8, KC_F9,KC_F10, KC_F11, KC_F12, 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_DEL, \ _______,_______,_______,LCTL(KC_E),_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,KC_UP, _______,_______,_______, \ _______,LCTL(KC_A),_______,KC_DEL, KC_RGHT,KC_ESC, KC_BSPC, _______,_______,_______,_______, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,_______,_______,_______, \ - _______,_______,_______,_______,_______,KC_LEFT,_______, _______,_______,_______,_______, _______,KC_DOWN,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______, \ - _______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______ \ + _______,_______,_______,_______,_______,KC_LEFT,_______, _______,_______,_______,_______, KC_DOWN,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______, \ + _______, _______,_______,_______, _______, _______, _______,_______,_______,_______,_______,_______,_______ \ ), [_RAISE] = LAYOUT( - STR_RAISE, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS,KC_PAST,KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, \ + _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS,KC_PAST,KC_PMNS, 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_P7, KC_P8, KC_P9, KC_PMNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \ KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_PENT, _______,KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_UP, KC_RSFT, \ - _______, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, _______,KC_SPC, KC_LGUI,KC_LALT,KC_LEFT,KC_DOWN,KC_RGHT \ + KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, _______, KC_P1, KC_P2, KC_P3, KC_PENT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_UP, KC_RSFT, \ + _______, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, _______,KC_LGUI,KC_LALT,_______,KC_LEFT,KC_DOWN,KC_RGHT \ ), [_ADJUST] = LAYOUT( - STR_ADJUST, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS,KC_PAST,KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, \ - KC_TAB, KC_Q, KC_W, KC_E, RESET, KC_T, KC_Y, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \ - KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_PENT, _______,KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_UP, KC_RSFT, \ - _______, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, _______,KC_SPC, KC_LGUI,KC_LALT,KC_LEFT,KC_DOWN,KC_RGHT \ + _______, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS,KC_PAST,KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, \ + _______, KC_Q, KC_W, KC_E, RESET, KC_T, KC_Y, RGB_TOG,RGB_MOD,RGB_RMOD, KC_PMNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \ + KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, RGB_HUI,RGB_SAI,RGB_VAI, KC_PPLS, 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, _______, RGB_HUD,RGB_SAD,RGB_VAD, KC_PENT, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_UP, KC_RSFT, \ + _______, KC_LALT,KC_LGUI,KC_SPC, KC_P0, KC_PDOT, _______,KC_LGUI,KC_LALT,_______,KC_LEFT,KC_DOWN,KC_RGHT \ ) }; @@ -71,32 +85,26 @@ static uint16_t raise_pressed_time = 0; bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case STR_LOWER: + case TG_NUM: if (record->event.pressed) { - // when keycode QMKBEST is pressed - SEND_STRING("Lower"); - } else { - // when keycode QMKBEST is released - } - break; - case STR_RAISE: - if (record->event.pressed) { - // when keycode QMKBEST is pressed - SEND_STRING("Raise"); - } else { - // when keycode QMKBEST is released - } - break; - case STR_ADJUST: - if (record->event.pressed) { - // when keycode QMKBEST is pressed - SEND_STRING("Adjust"); + if (IS_LAYER_ON(_NUM)) { + // #ifdef RGBLIGHT_ENABLE + // rgblight_sethsv(0, 0, 0); + // #endif } else { - // when keycode QMKBEST is released + // #ifdef RGBLIGHT_ENABLE + // rgblight_sethsv(30, 255, 100); + // #endif } - break; - case LOWER: + } + return true; + break; + case LOWER: if (record->event.pressed) { + // #ifdef RGBLIGHT_ENABLE + // rgblight_sethsv(0, 255, 100); + // #endif + lower_pressed = true; lower_pressed_time = record->event.time; @@ -117,11 +125,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { unregister_code(KC_LANG2); } lower_pressed = false; + + // #ifdef RGBLIGHT_ENABLE + // rgblight_sethsv(0, 0, 0); + // #endif } return false; break; case RAISE: if (record->event.pressed) { + // #ifdef RGBLIGHT_ENABLE + // rgblight_sethsv(170, 255, 100); + // #endif + raise_pressed = true; raise_pressed_time = record->event.time; @@ -142,6 +158,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { unregister_code(KC_LANG1); } raise_pressed = false; + + // #ifdef RGBLIGHT_ENABLE + // rgblight_sethsv(0, 0, 0); + // #endif } return false; break; @@ -164,6 +184,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } +layer_state_t layer_state_set_user(layer_state_t state) { + #ifdef RGBLIGHT_ENABLE + switch (get_highest_layer(state)) { + case _NUM: + rgblight_sethsv_at (HSV_GOLD, 0); + rgblight_sethsv_at(0,0,0,1); + break; + case _LOWER: + rgblight_sethsv_at(HSV_CYAN,1); + break; + case _RAISE: + rgblight_sethsv_at(HSV_RED,1); + break; + case _ADJUST: + rgblight_sethsv_at(HSV_GREEN,1); + break; + default: // for any other layers, or the default layer + rgblight_sethsv(0,0,0); + break; + } + #endif + return state; +} + /* void matrix_init_user(void) { diff --git a/keyboards/colice/rules.mk b/keyboards/colice/rules.mk index 0710484ecaa..96c9784ce7b 100644 --- a/keyboards/colice/rules.mk +++ b/keyboards/colice/rules.mk @@ -9,7 +9,7 @@ MCU = atmega32u4 # QMK DFU qmk-dfu # ATmega32A bootloadHID # ATmega328P USBasp -BOOTLOADER = atmel-dfu +BOOTLOADER = caterina # If you don't know the bootloader type, then you can specify the # Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line @@ -36,7 +36,7 @@ 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 +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6