diff options
22 files changed, 684 insertions, 389 deletions
diff --git a/keyboards/rgbkb/sol/common/glcdfont.c b/keyboards/rgbkb/sol/common/glcdfont.c index f772e3181..61b40c092 100644 --- a/keyboards/rgbkb/sol/common/glcdfont.c +++ b/keyboards/rgbkb/sol/common/glcdfont.c | |||
| @@ -168,11 +168,11 @@ static const unsigned char font[] PROGMEM = { | |||
| 168 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, | 168 | 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, |
| 169 | 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, | 169 | 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, |
| 170 | 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, | 170 | 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, |
| 171 | 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, | 171 | 0x00, 0x00, 0xF0, 0xF4, 0xEC, 0xDE, |
| 172 | 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, | 172 | 0xDE, 0xBE, 0x3E, 0x3E, 0x3F, 0x3F, |
| 173 | 0x00, 0x00, 0x00, 0xE0, 0xEC, 0xDF, | 173 | 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x3F, |
| 174 | 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, | 174 | 0x3F, 0x3E, 0x3E, 0xBE, 0xDE, 0xDE, |
| 175 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 175 | 0xEC, 0xF4, 0xF0, 0x00, 0x00, 0x00, |
| 176 | 0x00, 0x00, 0x00, 0x7F, 0x80, 0x80, | 176 | 0x00, 0x00, 0x00, 0x7F, 0x80, 0x80, |
| 177 | 0x80, 0x70, 0x0F, 0x00, 0x00, 0x80, | 177 | 0x80, 0x70, 0x0F, 0x00, 0x00, 0x80, |
| 178 | 0x7F, 0x00, 0x00, 0x7F, 0x80, 0x80, | 178 | 0x7F, 0x00, 0x00, 0x7F, 0x80, 0x80, |
| @@ -200,11 +200,11 @@ static const unsigned char font[] PROGMEM = { | |||
| 200 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, | 200 | 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, |
| 201 | 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, | 201 | 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, |
| 202 | 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, | 202 | 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, |
| 203 | 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, | 203 | 0x00, 0x00, 0x01, 0x0F, 0x3F, 0xFF, |
| 204 | 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, | 204 | 0xFF, 0xFF, 0xFC, 0xE0, 0x80, 0x00, |
| 205 | 0x40, 0x7C, 0x3F, 0x3F, 0x23, 0x01, | ||
| 206 | 0x23, 0x3F, 0x37, 0x6C, 0x40, 0x00, | ||
| 207 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 205 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 206 | 0x80, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, | ||
| 207 | 0x3F, 0x0F, 0x01, 0x00, 0x00, 0x00, | ||
| 208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 209 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 209 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 210 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 210 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| @@ -233,8 +233,8 @@ static const unsigned char font[] PROGMEM = { | |||
| 233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 234 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 234 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 235 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 235 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 236 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 236 | 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, |
| 237 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 237 | 0xFE, 0xFC, 0x00, 0xFC, 0xFE, 0x7F, |
| 238 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 238 | 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00, |
| 239 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 239 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 240 | }; | 240 | }; |
diff --git a/keyboards/rgbkb/sol/config.h b/keyboards/rgbkb/sol/config.h index 23f4503bf..9b136db05 100644 --- a/keyboards/rgbkb/sol/config.h +++ b/keyboards/rgbkb/sol/config.h | |||
| @@ -35,16 +35,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 35 | #define MATRIX_COLS 7 | 35 | #define MATRIX_COLS 7 |
| 36 | #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7 } | 36 | #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7 } |
| 37 | 37 | ||
| 38 | // Encoder support | ||
| 39 | #define ENCODERS_PAD_A { D2 } | ||
| 40 | #define ENCODERS_PAD_B { D6 } | ||
| 41 | |||
| 42 | /* Set 0 if debouncing isn't needed */ | 38 | /* Set 0 if debouncing isn't needed */ |
| 43 | #define DEBOUNCE 5 | 39 | #define DEBOUNCE 5 |
| 44 | 40 | ||
| 45 | /* ws2812 RGB LED */ | ||
| 46 | #define RGB_DI_PIN B3 | ||
| 47 | |||
| 48 | #ifdef IOS_DEVICE_ENABLE | 41 | #ifdef IOS_DEVICE_ENABLE |
| 49 | #define RGBLIGHT_LIMIT_VAL 40 | 42 | #define RGBLIGHT_LIMIT_VAL 40 |
| 50 | #elif RGBLIGHT_FULL_POWER | 43 | #elif RGBLIGHT_FULL_POWER |
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk b/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk index 12c877946..47dd9a7e2 100644 --- a/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk +++ b/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk | |||
| @@ -1,38 +1,15 @@ | |||
| 1 | # Build Options | 1 | # Overridden build options from rev1 |
| 2 | # change to "no" to disable the options, or define them in the Makefile in | 2 | |
| 3 | # the appropriate keymap folder that will get included automatically | 3 | # RGB Options |
| 4 | # | 4 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) |
| 5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | 5 | |
| 6 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | 6 | # Misc |
| 7 | 7 | OLED_DRIVER_ENABLE = yes # Enable the OLED Driver | |
| 8 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 9 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 10 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 11 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 12 | RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 13 | RGBLIGHT_ANIMATIONS = yes # LED animations | ||
| 14 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 15 | RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight (+8500) | ||
| 16 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy (+1500) | ||
| 17 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port | ||
| 18 | UNICODE_ENABLE = no # Unicode | ||
| 19 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 20 | |||
| 21 | OLED_DRIVER_ENABLE = yes # Enable the OLED Driver (+5000) | ||
| 22 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 23 | 8 | ||
| 24 | # Do not edit past here | ||
| 25 | 9 | ||
| 26 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||
| 27 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 28 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 29 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 30 | endif | ||
| 31 | 10 | ||
| 32 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | ||
| 33 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 34 | endif | ||
| 35 | 11 | ||
| 36 | ifeq ($(strip $(LED_MIRRORED)), yes) | 12 | |
| 37 | OPT_DEFS += -DLED_MIRRORED | 13 | # Do not edit past here |
| 38 | endif | 14 | |
| 15 | include keyboards/$(KEYBOARD)/post_rules.mk | ||
diff --git a/keyboards/rgbkb/sol/keymaps/danielhklein/rules.mk b/keyboards/rgbkb/sol/keymaps/danielhklein/rules.mk index 09b0e201d..2993bdacc 100644 --- a/keyboards/rgbkb/sol/keymaps/danielhklein/rules.mk +++ b/keyboards/rgbkb/sol/keymaps/danielhklein/rules.mk | |||
| @@ -1,38 +1,14 @@ | |||
| 1 | # Build Options | 1 | # Overridden build options from rev1 |
| 2 | # change to "no" to disable the options, or define them in the Makefile in | 2 | |
| 3 | # the appropriate keymap folder that will get included automatically | 3 | # Debug Options |
| 4 | # | 4 | CONSOLE_ENABLE = yes # Console for debug(+400) |
| 5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | 5 | COMMAND_ENABLE = yes # Commands for debug and configuration |
| 6 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | 6 | |
| 7 | |||
| 8 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 9 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
| 10 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
| 11 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 12 | RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 13 | RGBLIGHT_ANIMATIONS = yes # LED animations | ||
| 14 | LED_MIRRORED = yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 15 | RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight (+8500) | ||
| 16 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy (+1500) | ||
| 17 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port | ||
| 18 | UNICODE_ENABLE = no # Unicode | ||
| 19 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 20 | |||
| 21 | OLED_DRIVER_ENABLE = no # Enable the OLED Driver (+5000) | ||
| 22 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 23 | 7 | ||
| 24 | # Do not edit past here | ||
| 25 | 8 | ||
| 26 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||
| 27 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 28 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 29 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 30 | endif | ||
| 31 | 9 | ||
| 32 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | ||
| 33 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 34 | endif | ||
| 35 | 10 | ||
| 36 | ifeq ($(strip $(LED_MIRRORED)), yes) | 11 | # Do not edit past here |
| 37 | OPT_DEFS += -DLED_MIRRORED | 12 | |
| 38 | endif | 13 | include keyboards/$(KEYBOARD)/post_rules.mk |
| 14 | |||
diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index ca7352482..f948dc450 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c | |||
| @@ -5,13 +5,6 @@ | |||
| 5 | #include "split_util.h" | 5 | #include "split_util.h" |
| 6 | #endif | 6 | #endif |
| 7 | 7 | ||
| 8 | extern keymap_config_t keymap_config; | ||
| 9 | |||
| 10 | #ifdef RGBLIGHT_ENABLE | ||
| 11 | //Following line allows macro to read current RGB settings | ||
| 12 | extern rgblight_config_t rgblight_config; | ||
| 13 | #endif | ||
| 14 | |||
| 15 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | 8 | // Each layer gets a name for readability, which is then used in the keymap matrix below. |
| 16 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | 9 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. |
| 17 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | 10 | // Layer names don't all need to be of the same length, obviously, and you can also skip them |
| @@ -23,22 +16,18 @@ enum layer_number { | |||
| 23 | _ADJ | 16 | _ADJ |
| 24 | }; | 17 | }; |
| 25 | 18 | ||
| 26 | enum custom_keycodes { | 19 | // Keycode defines for layers |
| 27 | QWERTY = SAFE_RANGE, | 20 | #define QWERTY DF(_QWERTY) |
| 28 | COLEMAK, | 21 | #define COLEMAK DF(_COLEMAK) |
| 29 | FN, | 22 | #define FN MO(_FN) |
| 30 | ADJ, | 23 | #define ADJ MO(_ADJ) |
| 31 | BACKLIT, | ||
| 32 | RGBRST | ||
| 33 | }; | ||
| 34 | 24 | ||
| 35 | enum macro_keycodes { | 25 | enum custom_keycodes { |
| 36 | KC_SAMPLEMACRO, | 26 | RGBRST = SAFE_RANGE, |
| 27 | RGB_MENU | ||
| 37 | }; | 28 | }; |
| 38 | 29 | ||
| 39 | 30 | #define FN_ESC LT(_FN, KC_ESC) | |
| 40 | |||
| 41 | #define FN_ESC LT(_FN, KC_ESC) | ||
| 42 | #define FN_CAPS LT(_FN, KC_CAPS) | 31 | #define FN_CAPS LT(_FN, KC_CAPS) |
| 43 | 32 | ||
| 44 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 33 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| @@ -50,9 +39,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 50 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| | 39 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| |
| 51 | * |FN(CAPS)| A | S | D | F | G | ( | | ) | H | J | K | L | ; | ' | | 40 | * |FN(CAPS)| A | S | D | F | G | ( | | ) | H | J | K | L | ; | ' | |
| 52 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 41 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 53 | * |Shift | Z | X | C | V | B | { | | } | N | M | , | . | / |Shift | | 42 | * |Shift | Z | X | C | V | B | { | | } | N | M | , | . | / |Enter | |
| 54 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 43 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 55 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | | 44 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | |
| 56 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' | 45 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' |
| 57 | * | Space| DEL | | Enter| Space| | 46 | * | Space| DEL | | Enter| Space| |
| 58 | * `-------------' `-------------' | 47 | * `-------------' `-------------' |
| @@ -74,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 74 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| | 63 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| |
| 75 | * |FN(CAPS)| A | R | S | T | G | ( | | ) | K | N | E | I | O | ' | | 64 | * |FN(CAPS)| A | R | S | T | G | ( | | ) | K | N | E | I | O | ' | |
| 76 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 65 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 77 | * |Shift | Z | X | C | D | V | { | | } | M | H | , | . | / |Shift | | 66 | * |Shift | Z | X | C | D | V | { | | } | M | H | , | . | / |Enter | |
| 78 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 67 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 79 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | | 68 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | |
| 80 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' | 69 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' |
| @@ -83,9 +72,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 83 | */ | 72 | */ |
| 84 | [_COLEMAK] = LAYOUT( \ | 73 | [_COLEMAK] = LAYOUT( \ |
| 85 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ | 74 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ |
| 86 | KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, \ | 75 | KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, \ |
| 87 | FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_LPRN, KC_RPRN, KC_K, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ | 76 | FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LPRN, KC_RPRN, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ |
| 88 | KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_LCBR, KC_RCBR, KC_M, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \ | 77 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \ |
| 89 | KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJ, KC_SPC, KC_DEL, KC_ENT, KC_SPC, FN, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, \ | 78 | KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJ, KC_SPC, KC_DEL, KC_ENT, KC_SPC, FN, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, \ |
| 90 | KC_SPC, KC_DEL, KC_ENT, KC_SPC \ | 79 | KC_SPC, KC_DEL, KC_ENT, KC_SPC \ |
| 91 | ), | 80 | ), |
| @@ -107,8 +96,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 107 | */ | 96 | */ |
| 108 | [_FN] = LAYOUT( \ | 97 | [_FN] = LAYOUT( \ |
| 109 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ | 98 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ |
| 110 | _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, \ | 99 | _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_SLCK, _______, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME, \ |
| 111 | _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, \ | 100 | _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_NLCK, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END, \ |
| 112 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | 101 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
| 113 | _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ | 102 | _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ |
| 114 | _______, _______, _______, _______ \ | 103 | _______, _______, _______, _______ \ |
| @@ -134,120 +123,184 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 134 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ | 123 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ |
| 135 | _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | 124 | _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
| 136 | _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, \ | 125 | _______, RGB_HUD, RGB_VAD, RGB_HUI, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, \ |
| 137 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \ | 126 | _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, RGB_SPI, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \ |
| 138 | _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, \ | 127 | _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, \ |
| 139 | _______, _______, _______, _______ \ | 128 | _______, _______, _______, _______ \ |
| 140 | ) | 129 | ) |
| 141 | }; | 130 | }; |
| 142 | 131 | ||
| 132 | // For RGBRST Keycode | ||
| 133 | #if defined(RGB_MATRIX_ENABLE) | ||
| 134 | void rgb_matrix_increase_flags(void) | ||
| 135 | { | ||
| 136 | switch (rgb_matrix_get_flags()) { | ||
| 137 | case LED_FLAG_ALL: { | ||
| 138 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); | ||
| 139 | rgb_matrix_set_color_all(0, 0, 0); | ||
| 140 | } | ||
| 141 | break; | ||
| 142 | case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { | ||
| 143 | rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); | ||
| 144 | rgb_matrix_set_color_all(0, 0, 0); | ||
| 145 | } | ||
| 146 | break; | ||
| 147 | case LED_FLAG_UNDERGLOW: { | ||
| 148 | rgb_matrix_set_flags(LED_FLAG_NONE); | ||
| 149 | rgb_matrix_disable_noeeprom(); | ||
| 150 | } | ||
| 151 | break; | ||
| 152 | default: { | ||
| 153 | rgb_matrix_set_flags(LED_FLAG_ALL); | ||
| 154 | rgb_matrix_enable_noeeprom(); | ||
| 155 | } | ||
| 156 | break; | ||
| 157 | } | ||
| 158 | } | ||
| 143 | 159 | ||
| 160 | void rgb_matrix_decrease_flags(void) | ||
| 161 | { | ||
| 162 | switch (rgb_matrix_get_flags()) { | ||
| 163 | case LED_FLAG_ALL: { | ||
| 164 | rgb_matrix_set_flags(LED_FLAG_NONE); | ||
| 165 | rgb_matrix_disable_noeeprom(); | ||
| 166 | } | ||
| 167 | break; | ||
| 168 | case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { | ||
| 169 | rgb_matrix_set_flags(LED_FLAG_ALL); | ||
| 170 | rgb_matrix_set_color_all(0, 0, 0); | ||
| 171 | } | ||
| 172 | break; | ||
| 173 | case LED_FLAG_UNDERGLOW: { | ||
| 174 | rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); | ||
| 175 | rgb_matrix_set_color_all(0, 0, 0); | ||
| 176 | } | ||
| 177 | break; | ||
| 178 | default: { | ||
| 179 | rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); | ||
| 180 | rgb_matrix_enable_noeeprom(); | ||
| 181 | } | ||
| 182 | break; | ||
| 183 | } | ||
| 184 | } | ||
| 185 | #endif | ||
| 144 | 186 | ||
| 145 | // define variables for reactive RGB | 187 | #ifdef RGB_OLED_MENU |
| 146 | bool TOG_STATUS = false; | 188 | uint8_t rgb_encoder_state = 4; |
| 147 | int RGB_current_mode; | 189 | |
| 190 | typedef void (*rgb_matrix_f)(void); | ||
| 191 | |||
| 192 | const rgb_matrix_f rgb_matrix_functions[6][2] = { | ||
| 193 | { rgb_matrix_increase_hue, rgb_matrix_decrease_hue }, | ||
| 194 | { rgb_matrix_increase_sat, rgb_matrix_decrease_sat }, | ||
| 195 | { rgb_matrix_increase_val, rgb_matrix_decrease_val }, | ||
| 196 | { rgb_matrix_increase_speed, rgb_matrix_decrease_speed }, | ||
| 197 | { rgb_matrix_step, rgb_matrix_step_reverse }, | ||
| 198 | { rgb_matrix_increase_flags, rgb_matrix_decrease_flags } | ||
| 199 | }; | ||
| 200 | #endif | ||
| 148 | 201 | ||
| 149 | #ifdef ENCODER_ENABLE | 202 | #ifdef ENCODER_ENABLE |
| 203 | |||
| 204 | static pin_t encoders_pad_a[] = ENCODERS_PAD_A; | ||
| 205 | #define NUMBER_OF_ENCODERS (sizeof(encoders_pad_a)/sizeof(pin_t)) | ||
| 206 | |||
| 207 | const uint16_t PROGMEM encoders[][NUMBER_OF_ENCODERS * 2][2] = { | ||
| 208 | [_QWERTY] = ENCODER_LAYOUT( \ | ||
| 209 | KC_VOLU, KC_VOLD, | ||
| 210 | KC_VOLU, KC_VOLD | ||
| 211 | ), | ||
| 212 | [_COLEMAK] = ENCODER_LAYOUT( \ | ||
| 213 | _______, _______, | ||
| 214 | _______, _______ | ||
| 215 | ), | ||
| 216 | [_FN] = ENCODER_LAYOUT( \ | ||
| 217 | _______, _______, | ||
| 218 | _______, _______ | ||
| 219 | ), | ||
| 220 | [_ADJ] = ENCODER_LAYOUT( \ | ||
| 221 | _______, _______, | ||
| 222 | _______, _______ | ||
| 223 | ) | ||
| 224 | }; | ||
| 225 | |||
| 150 | void encoder_update_user(uint8_t index, bool clockwise) { | 226 | void encoder_update_user(uint8_t index, bool clockwise) { |
| 151 | if (index == 0) { /* First encoder */ | 227 | if (!is_keyboard_master()) |
| 152 | if (clockwise) { | 228 | return; |
| 153 | tap_code(KC_VOLU); | 229 | |
| 154 | } else { | 230 | #ifdef RGB_OLED_MENU |
| 155 | tap_code(KC_VOLD); | 231 | if (index == RGB_OLED_MENU) { |
| 156 | } | 232 | (*rgb_matrix_functions[rgb_encoder_state][clockwise])(); |
| 157 | } else if (index == 1) { /* Second encoder*/ | 233 | } else |
| 158 | if (clockwise) { | 234 | #endif |
| 159 | tap_code(KC_VOLU); | 235 | { |
| 160 | } else { | 236 | uint8_t layer = biton32(layer_state); |
| 161 | tap_code(KC_VOLD); | 237 | uint16_t keycode = encoders[layer][index][clockwise]; |
| 238 | while (keycode == KC_TRANSPARENT && layer > 0) | ||
| 239 | { | ||
| 240 | layer--; | ||
| 241 | if ((layer_state & (1 << layer)) != 0) | ||
| 242 | keycode = encoders[layer][index][clockwise]; | ||
| 162 | } | 243 | } |
| 244 | if (keycode != KC_TRANSPARENT) | ||
| 245 | tap_code16(keycode); | ||
| 163 | } | 246 | } |
| 164 | } | 247 | } |
| 165 | #endif | 248 | #endif |
| 166 | 249 | ||
| 167 | // Setting ADJ layer RGB back to default | ||
| 168 | void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { | ||
| 169 | if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { | ||
| 170 | #ifdef RGBLIGHT_ENABLE | ||
| 171 | //rgblight_mode(RGB_current_mode); | ||
| 172 | #endif | ||
| 173 | layer_on(layer3); | ||
| 174 | } else { | ||
| 175 | layer_off(layer3); | ||
| 176 | } | ||
| 177 | } | ||
| 178 | |||
| 179 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 250 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 180 | //uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); | 251 | static uint16_t reset_timer; |
| 181 | |||
| 182 | switch (keycode) { | 252 | switch (keycode) { |
| 183 | case QWERTY: | 253 | case RGBRST: |
| 254 | #if defined(RGBLIGHT_ENABLE) | ||
| 255 | if (record->event.pressed) { | ||
| 256 | eeconfig_update_rgblight_default(); | ||
| 257 | rgblight_enable(); | ||
| 258 | } | ||
| 259 | #elif defined(RGB_MATRIX_ENABLE) | ||
| 260 | if (record->event.pressed) { | ||
| 261 | eeconfig_update_rgb_matrix_default(); | ||
| 262 | } | ||
| 263 | #endif | ||
| 264 | return false; | ||
| 265 | case RESET: | ||
| 184 | if (record->event.pressed) { | 266 | if (record->event.pressed) { |
| 185 | set_single_persistent_default_layer(_QWERTY); | 267 | reset_timer = timer_read(); |
| 268 | } else { | ||
| 269 | if (timer_elapsed(reset_timer) >= 500) { | ||
| 270 | reset_keyboard(); | ||
| 271 | } | ||
| 186 | } | 272 | } |
| 187 | return false; | 273 | return false; |
| 188 | break; | 274 | #if defined(RGB_MATRIX_ENABLE) && defined(KEYBOARD_rgbkb_sol_rev2) |
| 189 | case COLEMAK: | 275 | case RGB_TOG: |
| 190 | if(record->event.pressed) { | 276 | if (record->event.pressed) { |
| 191 | set_single_persistent_default_layer(_COLEMAK); | 277 | rgb_matrix_increase_flags(); |
| 192 | } | 278 | } |
| 193 | return false; | 279 | return false; |
| 194 | break; | 280 | #endif |
| 195 | case FN: | 281 | case RGB_MENU: |
| 282 | #ifdef RGB_OLED_MENU | ||
| 196 | if (record->event.pressed) { | 283 | if (record->event.pressed) { |
| 197 | //not sure how to have keyboard check mode and set it to a variable, so my work around | 284 | if (get_mods() & MOD_MASK_SHIFT) { |
| 198 | //uses another variable that would be set to true after the first time a reactive key is pressed. | 285 | rgb_encoder_state = (rgb_encoder_state - 1); |
| 199 | if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false | 286 | if (rgb_encoder_state > 5) { |
| 287 | rgb_encoder_state = 5; | ||
| 288 | } | ||
| 200 | } else { | 289 | } else { |
| 201 | TOG_STATUS = !TOG_STATUS; | 290 | rgb_encoder_state = (rgb_encoder_state + 1) % 6; |
| 202 | #ifdef RGBLIGHT_ENABLE | ||
| 203 | //rgblight_mode(15); | ||
| 204 | #endif | ||
| 205 | } | 291 | } |
| 206 | layer_on(_FN); | ||
| 207 | } else { | ||
| 208 | #ifdef RGBLIGHT_ENABLE | ||
| 209 | //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change | ||
| 210 | #endif | ||
| 211 | layer_off(_FN); | ||
| 212 | TOG_STATUS = false; | ||
| 213 | } | 292 | } |
| 293 | #endif | ||
| 214 | return false; | 294 | return false; |
| 215 | break; | ||
| 216 | case ADJ: | ||
| 217 | if (record->event.pressed) { | ||
| 218 | layer_on(_ADJ); | ||
| 219 | } else { | ||
| 220 | layer_off(_ADJ); | ||
| 221 | } | ||
| 222 | return false; | ||
| 223 | break; | ||
| 224 | //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released | ||
| 225 | case RGBRST: | ||
| 226 | #ifdef RGBLIGHT_ENABLE | ||
| 227 | if (record->event.pressed) { | ||
| 228 | eeconfig_update_rgblight_default(); | ||
| 229 | rgblight_enable(); | ||
| 230 | RGB_current_mode = rgblight_config.mode; | ||
| 231 | } | ||
| 232 | #endif | ||
| 233 | break; | ||
| 234 | } | 295 | } |
| 235 | return true; | 296 | return true; |
| 236 | } | 297 | } |
| 237 | 298 | ||
| 238 | void matrix_init_user(void) { | ||
| 239 | #ifdef RGBLIGHT_ENABLE | ||
| 240 | RGB_current_mode = rgblight_config.mode; | ||
| 241 | #endif | ||
| 242 | } | ||
| 243 | |||
| 244 | |||
| 245 | // OLED Driver Logic | 299 | // OLED Driver Logic |
| 246 | #ifdef OLED_DRIVER_ENABLE | 300 | #ifdef OLED_DRIVER_ENABLE |
| 247 | |||
| 248 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | 301 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { |
| 249 | if (!has_usb()) | 302 | if (is_keyboard_master()) |
| 250 | return OLED_ROTATION_180; // flip 180 for offhand | 303 | return OLED_ROTATION_90; |
| 251 | return rotation; | 304 | return rotation; |
| 252 | } | 305 | } |
| 253 | 306 | ||
| @@ -255,62 +308,63 @@ static void render_logo(void) { | |||
| 255 | static const char PROGMEM sol_logo[] = { | 308 | static const char PROGMEM sol_logo[] = { |
| 256 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | 309 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, |
| 257 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | 310 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, |
| 258 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; | 311 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0 |
| 259 | 312 | }; | |
| 260 | oled_write_P(sol_logo, false); | 313 | oled_write_P(sol_logo, false); |
| 261 | } | 314 | } |
| 262 | 315 | ||
| 263 | //assign the right code to your layers for OLED display | ||
| 264 | #define L_BASE 0 | ||
| 265 | #define L_FN (1<<_FN) | ||
| 266 | #define L_ADJ (1<<_ADJ) | ||
| 267 | #define L_ADJ_TRI (L_ADJ|L_FN) | ||
| 268 | |||
| 269 | static void render_status(void) { | 316 | static void render_status(void) { |
| 270 | // Render to mode icon | 317 | // Render to mode icon |
| 271 | static const char PROGMEM mode_logo[4][4] = { | 318 | static const char PROGMEM sol_icon[] = { |
| 272 | {0x95,0x96,0x0a,0}, | 319 | 0x9b,0x9c,0x9d,0x9e,0x9f, |
| 273 | {0xb5,0xb6,0x0a,0}, | 320 | 0xbb,0xbc,0xbd,0xbe,0xbf, |
| 274 | {0x97,0x98,0x0a,0}, | 321 | 0xdb,0xdc,0xdd,0xde,0xdf,0 |
| 275 | {0xb7,0xb8,0x0a,0} }; | 322 | }; |
| 276 | 323 | oled_write_P(sol_icon, false); | |
| 277 | if (keymap_config.swap_lalt_lgui != false) { | 324 | |
| 278 | oled_write_P(mode_logo[0], false); | 325 | // Define layers here |
| 279 | oled_write_P(mode_logo[1], false); | 326 | oled_write_P(PSTR("Layer"), false); |
| 280 | } else { | 327 | switch (biton32(layer_state)) { |
| 281 | oled_write_P(mode_logo[2], false); | 328 | case _QWERTY: |
| 282 | oled_write_P(mode_logo[3], false); | 329 | oled_write_P(PSTR("BASE "), false); |
| 283 | } | 330 | break; |
| 284 | 331 | case _COLEMAK: | |
| 285 | // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below | 332 | oled_write_P(PSTR("CLMK "), false); |
| 286 | oled_write_P(PSTR("Layer: "), false); | ||
| 287 | switch (layer_state) { | ||
| 288 | case L_BASE: | ||
| 289 | oled_write_P(PSTR("Default\n"), false); | ||
| 290 | break; | 333 | break; |
| 291 | case L_FN: | 334 | case _FN: |
| 292 | oled_write_P(PSTR("FN \n"), false); | 335 | oled_write_P(PSTR("FN "), false); |
| 293 | break; | 336 | break; |
| 294 | case L_ADJ: | 337 | case _ADJ: |
| 295 | case L_ADJ_TRI: | 338 | oled_write_P(PSTR("ADJ "), false); |
| 296 | oled_write_P(PSTR("ADJ \n"), false); | ||
| 297 | break; | 339 | break; |
| 298 | default: | 340 | default: |
| 299 | oled_write_P(PSTR("UNDEF \n"), false); | 341 | oled_write_P(PSTR("UNDEF"), false); |
| 300 | } | 342 | } |
| 301 | 343 | ||
| 302 | // Host Keyboard LED Status | 344 | // Host Keyboard LED Status |
| 303 | uint8_t led_usb_state = host_keyboard_leds(); | 345 | uint8_t led_state = host_keyboard_leds(); |
| 304 | oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR("NUMLOCK ") : PSTR(" "), false); | 346 | oled_write_P(PSTR("-----"), false); |
| 305 | oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR("CAPS ") : PSTR(" "), false); | 347 | oled_write_P(IS_LED_ON(led_state, USB_LED_NUM_LOCK) ? PSTR("NUMLK") : PSTR(" "), false); |
| 306 | oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR("SCLK ") : PSTR(" "), false); | 348 | oled_write_P(IS_LED_ON(led_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLK") : PSTR(" "), false); |
| 349 | oled_write_P(IS_LED_ON(led_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLK") : PSTR(" "), false); | ||
| 350 | |||
| 351 | #ifdef RGB_OLED_MENU | ||
| 352 | static char buffer[31] = { 0 }; | ||
| 353 | snprintf(buffer, sizeof(buffer), "h%3d s%3d v%3d s%3d m%3d e%3d ", rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, rgb_matrix_config.speed, rgb_matrix_config.mode, rgb_matrix_get_flags()); | ||
| 354 | buffer[4 + rgb_encoder_state * 5] = '<'; | ||
| 355 | |||
| 356 | oled_write_P(PSTR("-----"), false); | ||
| 357 | oled_write(buffer, false); | ||
| 358 | #endif | ||
| 307 | } | 359 | } |
| 308 | 360 | ||
| 309 | void oled_task_user(void) { | 361 | void oled_task_user(void) { |
| 310 | if (is_keyboard_master()) | 362 | if (is_keyboard_master()) { |
| 311 | render_status(); | 363 | render_status(); |
| 312 | else | 364 | } else { |
| 313 | render_logo(); | 365 | render_logo(); |
| 366 | oled_scroll_left(); | ||
| 367 | } | ||
| 314 | } | 368 | } |
| 315 | 369 | ||
| 316 | #endif | 370 | #endif |
diff --git a/keyboards/rgbkb/sol/keymaps/default/readme.md b/keyboards/rgbkb/sol/keymaps/default/readme.md index 75182c06f..4a97a7bab 100644 --- a/keyboards/rgbkb/sol/keymaps/default/readme.md +++ b/keyboards/rgbkb/sol/keymaps/default/readme.md | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| | 10 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| |
| 11 | * |FN(CAPS)| A | S | D | F | G | ( | | ) | H | J | K | L | ; | ' | | 11 | * |FN(CAPS)| A | S | D | F | G | ( | | ) | H | J | K | L | ; | ' | |
| 12 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 12 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 13 | * |Shift | Z | X | C | V | B | { | | } | N | M | , | . | / |Shift | | 13 | * |Shift | Z | X | C | V | B | { | | } | N | M | , | . | / |Enter | |
| 14 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 14 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 15 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | | 15 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | |
| 16 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' | 16 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' |
| @@ -27,7 +27,7 @@ | |||
| 27 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| | 27 | * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------| |
| 28 | * |FN(CAPS)| A | R | S | T | G | ( | | ) | K | N | E | I | O | ' | | 28 | * |FN(CAPS)| A | R | S | T | G | ( | | ) | K | N | E | I | O | ' | |
| 29 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 29 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 30 | * |Shift | Z | X | C | D | V | { | | } | M | H | , | . | / |Shift | | 30 | * |Shift | Z | X | C | D | V | { | | } | M | H | , | . | / |Enter | |
| 31 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| | 31 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| |
| 32 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | | 32 | * | Ctrl | Win | Alt | RGB | ADJ | Space| DEL | | Enter| Space| FN | Left | Down | Up |Right | |
| 33 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' | 33 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------' |
diff --git a/keyboards/rgbkb/sol/keymaps/default/rules.mk b/keyboards/rgbkb/sol/keymaps/default/rules.mk index 09b0e201d..203d59c6a 100644 --- a/keyboards/rgbkb/sol/keymaps/default/rules.mk +++ b/keyboards/rgbkb/sol/keymaps/default/rules.mk | |||
| @@ -1,38 +1,16 @@ | |||
| 1 | # Build Options | 1 | # Default keymap does not have any overridden options from the rev1 / rev2 rules.mk files. |
| 2 | # change to "no" to disable the options, or define them in the Makefile in | 2 | # Example: |
| 3 | # the appropriate keymap folder that will get included automatically | 3 | # if you wanted to disable EXTRAKEY_ENABLE, you would copy the line from the rev1/rules.mk file |
| 4 | # and paste it in to this file, changing the yes to no. Like so: | ||
| 5 | # EXTRAKEY_ENABLE = no # Audio control and System control(+450) | ||
| 4 | # | 6 | # |
| 5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | 7 | # To keep things clean and tidy, as well as make upgrades easier, only place overrides from the defaults in this file. |
| 6 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | 8 | |
| 7 | 9 | ||
| 8 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 9 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
| 10 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
| 11 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 12 | RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 13 | RGBLIGHT_ANIMATIONS = yes # LED animations | ||
| 14 | LED_MIRRORED = yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 15 | RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight (+8500) | ||
| 16 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy (+1500) | ||
| 17 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port | ||
| 18 | UNICODE_ENABLE = no # Unicode | ||
| 19 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 20 | 10 | ||
| 21 | OLED_DRIVER_ENABLE = no # Enable the OLED Driver (+5000) | ||
| 22 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 23 | 11 | ||
| 24 | # Do not edit past here | ||
| 25 | 12 | ||
| 26 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | 13 | # Do not edit past here |
| 27 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 28 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 29 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 30 | endif | ||
| 31 | 14 | ||
| 32 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | 15 | include keyboards/$(KEYBOARD)/post_rules.mk |
| 33 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 34 | endif | ||
| 35 | 16 | ||
| 36 | ifeq ($(strip $(LED_MIRRORED)), yes) | ||
| 37 | OPT_DEFS += -DLED_MIRRORED | ||
| 38 | endif | ||
diff --git a/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk b/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk index 21dca0b11..056959a55 100644 --- a/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk +++ b/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk | |||
| @@ -1,38 +1,21 @@ | |||
| 1 | # Build Options | 1 | # Overridden build options from rev1 & rev2 |
| 2 | # change to "no" to disable the options, or define them in the Makefile in | ||
| 3 | # the appropriate keymap folder that will get included automatically | ||
| 4 | # | ||
| 5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 6 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 7 | |||
| 8 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 9 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
| 10 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
| 11 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 12 | RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 13 | RGBLIGHT_ANIMATIONS = no # LED animations | ||
| 14 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 15 | RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight (+8500) | ||
| 16 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy (+1500) | ||
| 17 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port | ||
| 18 | UNICODE_ENABLE = no # Unicode | ||
| 19 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 20 | |||
| 21 | OLED_DRIVER_ENABLE = no # Enable the OLED Driver (+5000) | ||
| 22 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 23 | 2 | ||
| 24 | # Do not edit past here | 3 | # Debug Options |
| 4 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
| 5 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
| 6 | |||
| 7 | # RGB Options | ||
| 8 | RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 9 | RGBLIGHT_ANIMATIONS = no # LED animations | ||
| 10 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 11 | RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight | ||
| 12 | |||
| 13 | # Userspace implements their own LTO | ||
| 14 | LINK_TIME_OPTIMIZATION_ENABLE = no | ||
| 25 | 15 | ||
| 26 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||
| 27 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 28 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 29 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 30 | endif | ||
| 31 | 16 | ||
| 32 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | ||
| 33 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 34 | endif | ||
| 35 | 17 | ||
| 36 | ifeq ($(strip $(LED_MIRRORED)), yes) | 18 | # Do not edit past here |
| 37 | OPT_DEFS += -DLED_MIRRORED | 19 | |
| 38 | endif | 20 | include keyboards/$(KEYBOARD)/post_rules.mk |
| 21 | |||
diff --git a/keyboards/rgbkb/sol/keymaps/xulkal/rules.mk b/keyboards/rgbkb/sol/keymaps/xulkal/rules.mk index ad0c48034..238d1cf23 100644 --- a/keyboards/rgbkb/sol/keymaps/xulkal/rules.mk +++ b/keyboards/rgbkb/sol/keymaps/xulkal/rules.mk | |||
| @@ -1,37 +1,19 @@ | |||
| 1 | # Build Options | 1 | # Overridden build options from rev1 & rev2 |
| 2 | # change to "no" to disable the options, or define them in the Makefile in | 2 | |
| 3 | # the appropriate keymap folder that will get included automatically | 3 | # RGB Options |
| 4 | # | 4 | RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix |
| 5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | 5 | RGBLIGHT_ANIMATIONS = no # LED animations |
| 6 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | 6 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) |
| 7 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | 7 | RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight |
| 8 | CONSOLE_ENABLE = no # Console for debug(+400) | 8 | FULLHAND_ENABLE = yes # Enables the additional 24 Full Hand LEDs |
| 9 | COMMAND_ENABLE = no # Commands for debug and configuration | 9 | |
| 10 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | 10 | # Misc |
| 11 | RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix | 11 | OLED_DRIVER_ENABLE = yes # Enable the OLED Driver |
| 12 | RGBLIGHT_ANIMATIONS = no # LED animations | ||
| 13 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 14 | RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight (+8500) | ||
| 15 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy (+1500) | ||
| 16 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port | ||
| 17 | UNICODE_ENABLE = no # Unicode | ||
| 18 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 19 | OLED_DRIVER_ENABLE = yes # Enable the OLED Driver (+5000) | ||
| 20 | ENCODER_ENABLE = no # Enable rotary encoder (+90) | ||
| 21 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 22 | 12 | ||
| 23 | # Do not edit past here | ||
| 24 | 13 | ||
| 25 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||
| 26 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 27 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 28 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 29 | endif | ||
| 30 | 14 | ||
| 31 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | ||
| 32 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 33 | endif | ||
| 34 | 15 | ||
| 35 | ifeq ($(strip $(LED_MIRRORED)), yes) | 16 | # Do not edit past here |
| 36 | OPT_DEFS += -DLED_MIRRORED | 17 | |
| 37 | endif | 18 | include keyboards/$(KEYBOARD)/post_rules.mk |
| 19 | |||
diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h index 51c4bbb65..3cfc3eef9 100644 --- a/keyboards/rgbkb/sol/rev1/config.h +++ b/keyboards/rgbkb/sol/rev1/config.h | |||
| @@ -26,6 +26,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 26 | #define PRODUCT Sol | 26 | #define PRODUCT Sol |
| 27 | #define DESCRIPTION "An RGB, split, ortho-esque keyboard" | 27 | #define DESCRIPTION "An RGB, split, ortho-esque keyboard" |
| 28 | 28 | ||
| 29 | /* ws2812 RGB LED */ | ||
| 30 | #define RGB_DI_PIN B3 | ||
| 31 | |||
| 29 | #ifdef LED_MIRRORED | 32 | #ifdef LED_MIRRORED |
| 30 | #define RGBLED_NUM 35 | 33 | #define RGBLED_NUM 35 |
| 31 | #else | 34 | #else |
| @@ -34,3 +37,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 34 | #define DRIVER_LED_TOTAL RGBLED_NUM | 37 | #define DRIVER_LED_TOTAL RGBLED_NUM |
| 35 | 38 | ||
| 36 | #define RGB_MATRIX_CENTER { 112, 35 } | 39 | #define RGB_MATRIX_CENTER { 112, 35 } |
| 40 | |||
| 41 | // Encoder support | ||
| 42 | #define ENCODERS_PAD_A { D2 } | ||
| 43 | #define ENCODERS_PAD_B { D6 } | ||
diff --git a/keyboards/rgbkb/sol/rev1/post_rules.mk b/keyboards/rgbkb/sol/rev1/post_rules.mk new file mode 100644 index 000000000..ede37a1ad --- /dev/null +++ b/keyboards/rgbkb/sol/rev1/post_rules.mk | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | # As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines | ||
| 2 | |||
| 3 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||
| 4 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 5 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 6 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 7 | endif | ||
| 8 | |||
| 9 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | ||
| 10 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 11 | endif | ||
| 12 | |||
| 13 | ifeq ($(strip $(RGB_MATRIX_FRAMEBUFFER)), yes) | ||
| 14 | OPT_DEFS += -DRGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 15 | endif | ||
| 16 | |||
| 17 | ifeq ($(strip $(LED_MIRRORED)), yes) | ||
| 18 | OPT_DEFS += -DLED_MIRRORED | ||
| 19 | endif | ||
diff --git a/keyboards/rgbkb/sol/rev1/rev1.c b/keyboards/rgbkb/sol/rev1/rev1.c index 6ee4b610b..21b4503ab 100644 --- a/keyboards/rgbkb/sol/rev1/rev1.c +++ b/keyboards/rgbkb/sol/rev1/rev1.c | |||
| @@ -2,18 +2,18 @@ | |||
| 2 | 2 | ||
| 3 | #ifdef RGB_MATRIX_ENABLE | 3 | #ifdef RGB_MATRIX_ENABLE |
| 4 | led_config_t g_led_config = { { | 4 | led_config_t g_led_config = { { |
| 5 | { 0, 1, 2, 3, 4, 5, 6 }, | 5 | { 0, 1, 2, 3, 4, 5, 6 }, |
| 6 | { 7, 8, 9, 10, 11, 12, 13 }, | 6 | { 7, 8, 9, 10, 11, 12, 13 }, |
| 7 | { 14, 15, 16, 17, 18, 19, 20 }, | 7 | { 14, 15, 16, 17, 18, 19, 20 }, |
| 8 | { 21, 22, 23, 24, 25, 26, 27 }, | 8 | { 21, 22, 23, 24, 25, 26, 27 }, |
| 9 | { 28, 29, 30, 31, 32, 33, 34 }, | 9 | { 28, 29, 30, 31, 32, 33, 34 }, |
| 10 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 33, 34 }, | 10 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 33, 34 }, |
| 11 | { 35, 36, 37, 38, 39, 40, 41 }, | 11 | { 35, 36, 37, 38, 39, 40, 41 }, |
| 12 | { 42, 43, 44, 45, 46, 47, 48 }, | 12 | { 42, 43, 44, 45, 46, 47, 48 }, |
| 13 | { 49, 50, 51, 52, 53, 54, 55 }, | 13 | { 49, 50, 51, 52, 53, 54, 55 }, |
| 14 | { 56, 57, 58, 59, 60, 61, 62 }, | 14 | { 56, 57, 58, 59, 60, 61, 62 }, |
| 15 | { 63, 64, 65, 66, 67, 68, 68 }, | 15 | { 63, 64, 65, 66, 67, 68, 68 }, |
| 16 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 68, 68 } | 16 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 68, 68 } |
| 17 | }, { | 17 | }, { |
| 18 | // Left Hand Mapped Left to Right | 18 | // Left Hand Mapped Left to Right |
| 19 | { 0, 0 }, { 21, 0 }, { 38, 0 }, { 56, 0 }, { 73, 0 }, { 91, 0 }, { 112, 0 }, | 19 | { 0, 0 }, { 21, 0 }, { 38, 0 }, { 56, 0 }, { 73, 0 }, { 91, 0 }, { 112, 0 }, |
diff --git a/keyboards/rgbkb/sol/rev1/rules.mk b/keyboards/rgbkb/sol/rev1/rules.mk index e69de29bb..dd6d25eb9 100644 --- a/keyboards/rgbkb/sol/rev1/rules.mk +++ b/keyboards/rgbkb/sol/rev1/rules.mk | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | # RGBKB Sol Rev1 Defaults | ||
| 2 | |||
| 3 | # Keycode Options | ||
| 4 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 5 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 6 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 7 | UNICODE_ENABLE = no # Unicode keycodes | ||
| 8 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 9 | |||
| 10 | # Debug Options | ||
| 11 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 12 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 13 | |||
| 14 | # RGB Options | ||
| 15 | RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 16 | RGBLIGHT_ANIMATIONS = yes # LED animations | ||
| 17 | LED_MIRRORED = yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 18 | |||
| 19 | RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight | ||
| 20 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. | ||
| 21 | RGB_MATRIX_FRAMEBUFFER_EFFECTS = no # Enable frame buffer effects like the typing heatmap. | ||
| 22 | |||
| 23 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness for RGBLIGHT or RGB_MATRIX. Otherwise, limited to a safe level for a normal USB-A port | ||
| 24 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 25 | |||
| 26 | # Misc | ||
| 27 | OLED_DRIVER_ENABLE = no # Enable the OLED Driver | ||
| 28 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h new file mode 100644 index 000000000..af74b7e46 --- /dev/null +++ b/keyboards/rgbkb/sol/rev2/config.h | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 3 | Copyright 2015 Jack Humbert | ||
| 4 | |||
| 5 | This program is free software: you can redistribute it and/or modify | ||
| 6 | it under the terms of the GNU General Public License as published by | ||
| 7 | the Free Software Foundation, either version 2 of the License, or | ||
| 8 | (at your option) any later version. | ||
| 9 | |||
| 10 | This program is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU General Public License | ||
| 16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | /* USB Device descriptor parameter */ | ||
| 22 | #define VENDOR_ID 0xFEED | ||
| 23 | #define PRODUCT_ID 0x3060 | ||
| 24 | #define DEVICE_VER 0x0002 | ||
| 25 | #define MANUFACTURER RGBKB | ||
| 26 | #define PRODUCT Sol | ||
| 27 | #define DESCRIPTION "An RGB, split, ortho-esque keyboard" | ||
| 28 | |||
| 29 | /* ws2812 RGB LED */ | ||
| 30 | #define RGB_DI_PIN B7 | ||
| 31 | |||
| 32 | #define BACKLIGHT_LEDS 124 | ||
| 33 | |||
| 34 | #ifdef FULLHAND_ENABLE | ||
| 35 | #define FULLHAND_LEDS 24 | ||
| 36 | #else | ||
| 37 | #define FULLHAND_LEDS 0 | ||
| 38 | #endif | ||
| 39 | |||
| 40 | // Underglow / DIY Tent Glow are parallel to the top row leds, no separate define | ||
| 41 | |||
| 42 | #ifdef LED_MIRRORED | ||
| 43 | #define RGBLED_NUM ((BACKLIGHT_LEDS + FULLHAND_LEDS) / 2) | ||
| 44 | #else | ||
| 45 | #define RGBLED_NUM (BACKLIGHT_LEDS + FULLHAND_LEDS) | ||
| 46 | #endif | ||
| 47 | #define DRIVER_LED_TOTAL RGBLED_NUM | ||
| 48 | |||
| 49 | #define RGB_MATRIX_CENTER { 112, 37 } | ||
| 50 | |||
| 51 | // Encoder support | ||
| 52 | #ifndef EXTRA_ENCODERS_ENABLE | ||
| 53 | #define ENCODERS_PAD_A { D2 } | ||
| 54 | #define ENCODERS_PAD_B { D6 } | ||
| 55 | #else | ||
| 56 | #ifdef OLED_DRIVER_ENABLE | ||
| 57 | #error Extra encoders cannot be enabled at the same time as the OLED Driver as they use the same pins. | ||
| 58 | #endif | ||
| 59 | #define ENCODERS_PAD_A { D2, D1, B0 } | ||
| 60 | #define ENCODERS_PAD_B { D6, B1, D0 } | ||
| 61 | #endif | ||
diff --git a/keyboards/rgbkb/sol/rev2/info.json b/keyboards/rgbkb/sol/rev2/info.json new file mode 100644 index 000000000..e252ea2e2 --- /dev/null +++ b/keyboards/rgbkb/sol/rev2/info.json | |||
| @@ -0,0 +1,87 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Sol", | ||
| 3 | "url": "", | ||
| 4 | "maintainer": "Legonut", | ||
| 5 | "width": 17, | ||
| 6 | "height": 6.5, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT": { | ||
| 9 | "layout": [ | ||
| 10 | {"label":"L00", "x":0, "y":0, "w":1.5}, | ||
| 11 | {"label":"L01", "x":1.5, "y":0}, | ||
| 12 | {"label":"L02", "x":2.5, "y":0}, | ||
| 13 | {"label":"L03", "x":3.5, "y":0}, | ||
| 14 | {"label":"L04", "x":4.5, "y":0}, | ||
| 15 | {"label":"L05", "x":5.5, "y":0}, | ||
| 16 | {"label":"L06", "x":6.75, "y":0}, | ||
| 17 | {"label":"R06", "x":9.25, "y":0}, | ||
| 18 | {"label":"R00", "x":10.5, "y":0}, | ||
| 19 | {"label":"R01", "x":11.5, "y":0}, | ||
| 20 | {"label":"R02", "x":12.5, "y":0}, | ||
| 21 | {"label":"R03", "x":13.5, "y":0}, | ||
| 22 | {"label":"R04", "x":14.5, "y":0}, | ||
| 23 | {"label":"R05", "x":15.5, "y":0, "w":1.5}, | ||
| 24 | {"label":"L10", "x":0, "y":1, "w":1.5}, | ||
| 25 | {"label":"L11", "x":1.5, "y":1}, | ||
| 26 | {"label":"L12", "x":2.5, "y":1}, | ||
| 27 | {"label":"L13", "x":3.5, "y":1}, | ||
| 28 | {"label":"L14", "x":4.5, "y":1}, | ||
| 29 | {"label":"L15", "x":5.5, "y":1}, | ||
| 30 | {"label":"L16", "x":6.75, "y":1}, | ||
| 31 | {"label":"R16", "x":9.25, "y":1}, | ||
| 32 | {"label":"R10", "x":10.5, "y":1}, | ||
| 33 | {"label":"R11", "x":11.5, "y":1}, | ||
| 34 | {"label":"R12", "x":12.5, "y":1}, | ||
| 35 | {"label":"R13", "x":13.5, "y":1}, | ||
| 36 | {"label":"R14", "x":14.5, "y":1}, | ||
| 37 | {"label":"R15", "x":15.5, "y":1, "w":1.5}, | ||
| 38 | {"label":"L20", "x":0, "y":2, "w":1.5}, | ||
| 39 | {"label":"L21", "x":1.5, "y":2}, | ||
| 40 | {"label":"L22", "x":2.5, "y":2}, | ||
| 41 | {"label":"L23", "x":3.5, "y":2}, | ||
| 42 | {"label":"L24", "x":4.5, "y":2}, | ||
| 43 | {"label":"L25", "x":5.5, "y":2}, | ||
| 44 | {"label":"L26", "x":6.75, "y":2}, | ||
| 45 | {"label":"R26", "x":9.25, "y":2}, | ||
| 46 | {"label":"R20", "x":10.5, "y":2}, | ||
| 47 | {"label":"R21", "x":11.5, "y":2}, | ||
| 48 | {"label":"R22", "x":12.5, "y":2}, | ||
| 49 | {"label":"R23", "x":13.5, "y":2}, | ||
| 50 | {"label":"R24", "x":14.5, "y":2}, | ||
| 51 | {"label":"R25", "x":15.5, "y":2, "w":1.5}, | ||
| 52 | {"label":"L30", "x":0, "y":3, "w":1.5}, | ||
| 53 | {"label":"L31", "x":1.5, "y":3}, | ||
| 54 | {"label":"L32", "x":2.5, "y":3}, | ||
| 55 | {"label":"L33", "x":3.5, "y":3}, | ||
| 56 | {"label":"L34", "x":4.5, "y":3}, | ||
| 57 | {"label":"L35", "x":5.5, "y":3}, | ||
| 58 | {"label":"L36", "x":6.75, "y":3}, | ||
| 59 | {"label":"R36", "x":9.25, "y":3}, | ||
| 60 | {"label":"R30", "x":10.5, "y":3}, | ||
| 61 | {"label":"R31", "x":11.5, "y":3}, | ||
| 62 | {"label":"R32", "x":12.5, "y":3}, | ||
| 63 | {"label":"R33", "x":13.5, "y":3}, | ||
| 64 | {"label":"R34", "x":14.5, "y":3}, | ||
| 65 | {"label":"R35", "x":15.5, "y":3, "w":1.5}, | ||
| 66 | {"label":"L40", "x":0, "y":4, "w":1.5}, | ||
| 67 | {"label":"L41", "x":1.5, "y":4}, | ||
| 68 | {"label":"L42", "x":2.5, "y":4}, | ||
| 69 | {"label":"L43", "x":3.5, "y":4}, | ||
| 70 | {"label":"L44", "x":4.5, "y":4}, | ||
| 71 | {"label":"L45", "x":6, "y":4.5}, | ||
| 72 | {"label":"L46", "x":7, "y":4.5}, | ||
| 73 | {"label":"R46", "x":9, "y":4.5}, | ||
| 74 | {"label":"R40", "x":10, "y":4.5}, | ||
| 75 | {"label":"R41", "x":11.5, "y":4}, | ||
| 76 | {"label":"R42", "x":12.5, "y":4}, | ||
| 77 | {"label":"R43", "x":13.5, "y":4}, | ||
| 78 | {"label":"R44", "x":14.5, "y":4}, | ||
| 79 | {"label":"R45", "x":15.5, "y":4, "w":1.5}, | ||
| 80 | {"label":"L55", "x":6, "y":5.5}, | ||
| 81 | {"label":"L56", "x":7, "y":5.5}, | ||
| 82 | {"label":"R56", "x":9, "y":5.5}, | ||
| 83 | {"label":"R50", "x":10, "y":5.5} | ||
| 84 | ] | ||
| 85 | } | ||
| 86 | } | ||
| 87 | } | ||
diff --git a/keyboards/rgbkb/sol/rev2/post_rules.mk b/keyboards/rgbkb/sol/rev2/post_rules.mk new file mode 100644 index 000000000..0cbf430ad --- /dev/null +++ b/keyboards/rgbkb/sol/rev2/post_rules.mk | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | # As long as the users rules.mk has include $(KEYBOARD)/post_rules.mk this will be run after to properly setup any keyboard features and defines | ||
| 2 | |||
| 3 | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||
| 4 | OPT_DEFS += -DIOS_DEVICE_ENABLE | ||
| 5 | else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes) | ||
| 6 | OPT_DEFS += -DRGBLIGHT_FULL_POWER | ||
| 7 | endif | ||
| 8 | |||
| 9 | ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes) | ||
| 10 | OPT_DEFS += -DRGB_MATRIX_KEYPRESSES | ||
| 11 | endif | ||
| 12 | |||
| 13 | ifeq ($(strip $(RGB_MATRIX_FRAMEBUFFER)), yes) | ||
| 14 | OPT_DEFS += -DRGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 15 | endif | ||
| 16 | |||
| 17 | ifeq ($(strip $(LED_MIRRORED)), yes) | ||
| 18 | OPT_DEFS += -DLED_MIRRORED | ||
| 19 | endif | ||
| 20 | |||
| 21 | ifeq ($(strip $(FULLHAND_ENABLE)), yes) | ||
| 22 | OPT_DEFS += -DFULLHAND_ENABLE | ||
| 23 | endif | ||
| 24 | |||
| 25 | ifeq ($(strip $(EXTRA_ENCODERS_ENABLE)), yes) | ||
| 26 | OPT_DEFS += -DEXTRA_ENCODERS_ENABLE | ||
| 27 | endif | ||
| 28 | |||
| 29 | ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes) | ||
| 30 | ifeq ($(strip $(ENCODER_ENABLE)), yes) | ||
| 31 | ifneq ($(strip $(RGB_MATRIX_ENABLE)), no) | ||
| 32 | ifneq ($(strip $(RGB_OLED_MENU)), no) | ||
| 33 | OPT_DEFS += -DRGB_OLED_MENU=$(strip $(RGB_OLED_MENU)) | ||
| 34 | endif | ||
| 35 | endif | ||
| 36 | endif | ||
| 37 | endif | ||
diff --git a/keyboards/rgbkb/sol/rev2/rev2.c b/keyboards/rgbkb/sol/rev2/rev2.c new file mode 100644 index 000000000..467aa18e4 --- /dev/null +++ b/keyboards/rgbkb/sol/rev2/rev2.c | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | #include "quantum.h" | ||
| 2 | |||
| 3 | #ifdef RGB_MATRIX_ENABLE | ||
| 4 | led_config_t g_led_config = { { | ||
| 5 | { 0, 1, 2, 3, 4, 5, 6 }, | ||
| 6 | { 7, 8, 9, 10, 11, 12, 13 }, | ||
| 7 | { 14, 15, 16, 17, 18, 19, 20 }, | ||
| 8 | { 21, 22, 23, 24, 25, 26, 27 }, | ||
| 9 | { 28, 29, 30, 31, 32, 33, 34 }, | ||
| 10 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 33, 34 }, | ||
| 11 | // Need to shift Right hand indexes if full hand LEDs are enabled | ||
| 12 | #define LO (FULLHAND_LEDS / 2) | ||
| 13 | { LO+62, LO+63, LO+64, LO+65, LO+66, LO+67, LO+68 }, | ||
| 14 | { LO+69, LO+70, LO+71, LO+72, LO+73, LO+74, LO+75 }, | ||
| 15 | { LO+76, LO+77, LO+78, LO+79, LO+80, LO+81, LO+82 }, | ||
| 16 | { LO+83, LO+84, LO+85, LO+86, LO+87, LO+88, LO+89 }, | ||
| 17 | { LO+90, LO+91, LO+92, LO+93, LO+94, LO+95, LO+95 }, | ||
| 18 | { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, LO+95, LO+95 } | ||
| 19 | #undef LO | ||
| 20 | }, { | ||
| 21 | // Left Hand Mapped Left to Right | ||
| 22 | { 11, 14 }, { 28, 14 }, { 42, 14 }, { 56, 14 }, { 70, 14 }, { 84, 14 }, { 102, 14 }, | ||
| 23 | { 11, 28 }, { 28, 28 }, { 42, 28 }, { 56, 28 }, { 70, 28 }, { 84, 28 }, { 98, 25 }, | ||
| 24 | { 11, 42 }, { 28, 42 }, { 42, 42 }, { 56, 42 }, { 70, 42 }, { 84, 42 }, { 98, 39 }, | ||
| 25 | { 11, 56 }, { 28, 56 }, { 42, 56 }, { 56, 56 }, { 70, 56 }, { 84, 56 }, { 98, 53 }, | ||
| 26 | { 11, 70 }, { 28, 70 }, { 42, 70 }, { 56, 70 }, { 70, 70 }, { 83, 87 }, { 93, 97 }, | ||
| 27 | // Edge Light Left | ||
| 28 | { 0, 66 }, { 0, 52 }, { 0, 38 }, { 0, 24 }, { 0, 10 }, { 31, 0 }, { 38, 0 }, | ||
| 29 | { 46, 0 }, { 54, 0 }, { 61, 0 }, { 69, 0 }, { 76, 0 }, { 84, 0 }, { 109, 11 }, | ||
| 30 | { 109, 24 }, { 109, 39 }, { 109, 53 }, { 110, 73 }, { 112, 85 }, { 106, 95 }, { 95, 98 }, | ||
| 31 | { 83, 91 }, { 71, 84 }, { 58, 77 }, { 42, 74 }, { 28, 74 }, { 14, 74 }, | ||
| 32 | // Full Hand Left | ||
| 33 | #ifdef FULLHAND_ENABLE | ||
| 34 | { 2, 88 }, { 2, 103 }, { 2, 117 }, { 2, 132 }, { 10, 145 }, { 25, 145 }, { 39, 145 }, | ||
| 35 | { 54, 145 }, { 69, 145 }, { 79, 136 }, { 87, 124 }, { 94, 111 }, | ||
| 36 | #endif | ||
| 37 | // Left Hand Mapped Right to Left | ||
| 38 | { 213, 14 }, { 196, 14 }, { 182, 14 }, { 168, 14 }, { 154, 14 }, { 140, 14 }, { 122, 14 }, | ||
| 39 | { 213, 28 }, { 196, 28 }, { 182, 28 }, { 168, 28 }, { 154, 28 }, { 140, 28 }, { 126, 25 }, | ||
| 40 | { 213, 42 }, { 196, 42 }, { 182, 42 }, { 168, 42 }, { 154, 42 }, { 140, 42 }, { 126, 39 }, | ||
| 41 | { 213, 56 }, { 196, 56 }, { 182, 56 }, { 168, 56 }, { 154, 56 }, { 140, 56 }, { 126, 53 }, | ||
| 42 | { 213, 70 }, { 196, 70 }, { 182, 70 }, { 168, 70 }, { 154, 70 }, { 141, 87 }, { 131, 97 }, | ||
| 43 | // Edge Light Right | ||
| 44 | { 224, 66 }, { 224, 52 }, { 224, 38 }, { 224, 24 }, { 224, 10 }, { 193, 0 }, { 186, 0 }, | ||
| 45 | { 178, 0 }, { 170, 0 }, { 163, 0 }, { 155, 0 }, { 148, 0 }, { 140, 0 }, { 115, 11 }, | ||
| 46 | { 115, 24 }, { 115, 39 }, { 115, 53 }, { 114, 73 }, { 112, 85 }, { 118, 95 }, { 129, 98 }, | ||
| 47 | { 141, 91 }, { 153, 84 }, { 166, 77 }, { 182, 74 }, { 196, 74 }, { 210, 74 } | ||
| 48 | // Full Hand Right | ||
| 49 | #ifdef FULLHAND_ENABLE | ||
| 50 | ,{ 222, 88 }, { 222, 103 }, { 222, 117 }, { 222, 132 }, { 214, 145 }, { 199, 145 }, { 185, 145 }, | ||
| 51 | { 170, 145 }, { 155, 145 }, { 145, 136 }, { 137, 124 }, { 130, 111 } | ||
| 52 | #endif | ||
| 53 | }, { | ||
| 54 | // Left Hand Mapped Left to Right | ||
| 55 | 1, 4, 4, 4, 4, 4, 1, | ||
| 56 | 1, 4, 4, 4, 4, 4, 1, | ||
| 57 | 1, 4, 4, 4, 4, 4, 1, | ||
| 58 | 1, 4, 4, 4, 4, 4, 1, | ||
| 59 | 1, 1, 1, 1, 1, 1, 1, | ||
| 60 | // Edge Light Left | ||
| 61 | 2, 2, 2, 2, 2, 2, 2, | ||
| 62 | 2, 2, 2, 2, 2, 2, 2, | ||
| 63 | 2, 2, 2, 2, 2, 2, 2, | ||
| 64 | 2, 2, 2, 2, 2, 2, | ||
| 65 | // Full Hand Left | ||
| 66 | #ifdef FULLHAND_ENABLE | ||
| 67 | 2, 2, 2, 2, 2, 2, 2, | ||
| 68 | 2, 2, 2, 2, 2, | ||
| 69 | #endif | ||
| 70 | // Left Hand Mapped Right to Left | ||
| 71 | 1, 4, 4, 4, 4, 4, 1, | ||
| 72 | 1, 4, 4, 4, 4, 4, 1, | ||
| 73 | 1, 4, 4, 4, 4, 4, 1, | ||
| 74 | 1, 4, 4, 4, 4, 4, 1, | ||
| 75 | 1, 1, 1, 1, 1, 1, 1, | ||
| 76 | // Edge Light Right | ||
| 77 | 2, 2, 2, 2, 2, 2, 2, | ||
| 78 | 2, 2, 2, 2, 2, 2, 2, | ||
| 79 | 2, 2, 2, 2, 2, 2, 2, | ||
| 80 | 2, 2, 2, 2, 2, 2 | ||
| 81 | // Full Hand Right | ||
| 82 | #ifdef FULLHAND_ENABLE | ||
| 83 | ,2, 2, 2, 2, 2, 2, 2, | ||
| 84 | 2, 2, 2, 2, 2 | ||
| 85 | #endif | ||
| 86 | } }; | ||
| 87 | |||
| 88 | #endif | ||
| 89 | |||
diff --git a/keyboards/rgbkb/sol/rev2/rev2.h b/keyboards/rgbkb/sol/rev2/rev2.h new file mode 100644 index 000000000..6f70f09be --- /dev/null +++ b/keyboards/rgbkb/sol/rev2/rev2.h | |||
| @@ -0,0 +1 @@ | |||
| #pragma once | |||
diff --git a/keyboards/rgbkb/sol/rev2/rules.mk b/keyboards/rgbkb/sol/rev2/rules.mk new file mode 100644 index 000000000..87b400fa1 --- /dev/null +++ b/keyboards/rgbkb/sol/rev2/rules.mk | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | # RGBKB Sol Rev2 Defaults | ||
| 2 | |||
| 3 | # Keycode Options | ||
| 4 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration( | ||
| 5 | MOUSEKEY_ENABLE = no # Mouse keys | ||
| 6 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 7 | UNICODE_ENABLE = no # Unicode keycodes | ||
| 8 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 9 | |||
| 10 | # Debug Options | ||
| 11 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 12 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 13 | |||
| 14 | # RGB Options | ||
| 15 | RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix | ||
| 16 | RGBLIGHT_ANIMATIONS = no # LED animations | ||
| 17 | LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master) | ||
| 18 | |||
| 19 | RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight | ||
| 20 | RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. | ||
| 21 | RGB_MATRIX_FRAMEBUFFER_EFFECTS = no # Enable frame buffer effects like the typing heatmap. | ||
| 22 | |||
| 23 | RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness for RGBLIGHT or RGB_MATRIX. Otherwise, limited to a safe level for a normal USB-A port | ||
| 24 | FULLHAND_ENABLE = no # Enables the additional 24 Full Hand LEDs | ||
| 25 | IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) | ||
| 26 | |||
| 27 | # Misc | ||
| 28 | OLED_DRIVER_ENABLE = no # Enable the OLED Driver | ||
| 29 | EXTRA_ENCODERS_ENABLE = no # Enables 3 encoders per side (up from 1, not compatible with OLED_DRIVER_ENABLE) | ||
| 30 | SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
| 31 | LINK_TIME_OPTIMIZATION_ENABLE = yes # Enable Link Time Optimizations greatly reducing firmware size by disabling the old Macros and Functions features | ||
| 32 | |||
| 33 | # Special RGB Matrix, OLED, & Encoder Control Menu! | ||
| 34 | RGB_OLED_MENU = no # Enabled by setting this to the encoder index (0-5) you wish to use to control the menu. | ||
| 35 | # Use the RGB_MENU keycode in the keymap for the encoder to advance the menu to the next option. | ||
diff --git a/keyboards/rgbkb/sol/rules.mk b/keyboards/rgbkb/sol/rules.mk index a3dcfc290..3be8f0b22 100644 --- a/keyboards/rgbkb/sol/rules.mk +++ b/keyboards/rgbkb/sol/rules.mk | |||
| @@ -2,41 +2,15 @@ | |||
| 2 | MCU = atmega32u4 | 2 | MCU = atmega32u4 |
| 3 | 3 | ||
| 4 | # Processor frequency. | 4 | # Processor frequency. |
| 5 | # This will define a symbol, F_CPU, in all source code files equal to the | ||
| 6 | # processor frequency in Hz. You can then use this symbol in your source code to | ||
| 7 | # calculate timings. Do NOT tack on a 'UL' at the end, this will be done | ||
| 8 | # automatically to create a 32-bit value in your source code. | ||
| 9 | # | ||
| 10 | # This will be an integer division of F_USB below, as it is sourced by | ||
| 11 | # F_USB after it has run through any CPU prescalers. Note that this value | ||
| 12 | # does not *change* the processor frequency - it should merely be updated to | ||
| 13 | # reflect the processor speed set externally so that the code can use accurate | ||
| 14 | # software delays. | ||
| 15 | F_CPU = 16000000 | 5 | F_CPU = 16000000 |
| 16 | 6 | ||
| 17 | # | ||
| 18 | # LUFA specific | ||
| 19 | # | ||
| 20 | # Target architecture (see library "Board Types" documentation). | 7 | # Target architecture (see library "Board Types" documentation). |
| 21 | ARCH = AVR8 | 8 | ARCH = AVR8 |
| 22 | 9 | ||
| 23 | # Input clock frequency. | 10 | # Input clock frequency. |
| 24 | # This will define a symbol, F_USB, in all source code files equal to the | ||
| 25 | # input clock frequency (before any prescaling is performed) in Hz. This value may | ||
| 26 | # differ from F_CPU if prescaling is used on the latter, and is required as the | ||
| 27 | # raw input clock is fed directly to the PLL sections of the AVR for high speed | ||
| 28 | # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | ||
| 29 | # at the end, this will be done automatically to create a 32-bit value in your | ||
| 30 | # source code. | ||
| 31 | # | ||
| 32 | # If no clock division is performed on the input clock inside the AVR (via the | ||
| 33 | # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | ||
| 34 | F_USB = $(F_CPU) | 11 | F_USB = $(F_CPU) |
| 35 | 12 | ||
| 36 | # Bootloader | 13 | # Bootloader |
| 37 | # This definition is optional, and if your keyboard supports multiple bootloaders of | ||
| 38 | # different sizes, comment this out, and the correct address will be loaded | ||
| 39 | # automatically (+60). See bootloader.mk for all options. | ||
| 40 | BOOTLOADER = qmk-dfu | 14 | BOOTLOADER = qmk-dfu |
| 41 | 15 | ||
| 42 | # Interrupt driven control endpoint task(+60) | 16 | # Interrupt driven control endpoint task(+60) |
| @@ -48,18 +22,4 @@ OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" | |||
| 48 | SPLIT_KEYBOARD = yes | 22 | SPLIT_KEYBOARD = yes |
| 49 | ENCODER_ENABLE = yes | 23 | ENCODER_ENABLE = yes |
| 50 | 24 | ||
| 51 | # Build Options | 25 | DEFAULT_FOLDER = rgbkb/sol/rev2 |
| 52 | # change to "no" to disable the options, or define them in the Makefile in | ||
| 53 | # the appropriate keymap folder that will get included automatically | ||
| 54 | # | ||
| 55 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 56 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
| 57 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 58 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 59 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
| 60 | NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 61 | UNICODE_ENABLE = no # Unicode | ||
| 62 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 63 | RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. | ||
| 64 | |||
| 65 | DEFAULT_FOLDER = rgbkb/sol/rev1 | ||
diff --git a/keyboards/rgbkb/sol/sol.h b/keyboards/rgbkb/sol/sol.h index d26546006..1bc87cb0a 100644 --- a/keyboards/rgbkb/sol/sol.h +++ b/keyboards/rgbkb/sol/sol.h | |||
| @@ -3,6 +3,8 @@ | |||
| 3 | #include "quantum.h" | 3 | #include "quantum.h" |
| 4 | #ifdef KEYBOARD_rgbkb_sol_rev1 | 4 | #ifdef KEYBOARD_rgbkb_sol_rev1 |
| 5 | #include "rev1.h" | 5 | #include "rev1.h" |
| 6 | #else | ||
| 7 | #include "rev2.h" | ||
| 6 | #endif | 8 | #endif |
| 7 | 9 | ||
| 8 | 10 | ||
| @@ -29,6 +31,32 @@ | |||
| 29 | { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, R50, R56 } \ | 31 | { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, R50, R56 } \ |
| 30 | } | 32 | } |
| 31 | 33 | ||
| 34 | #define ENCODER_LAYOUT( \ | ||
| 35 | E10, E11, \ | ||
| 36 | E20, E21 \ | ||
| 37 | ) \ | ||
| 38 | { \ | ||
| 39 | { E10, E11 }, \ | ||
| 40 | { E20, E21 } \ | ||
| 41 | } | ||
| 42 | |||
| 43 | #define EXTRA_ENCODER_LAYOUT( \ | ||
| 44 | E10, E11, \ | ||
| 45 | E20, E21, \ | ||
| 46 | E30, E31, \ | ||
| 47 | E40, E41, \ | ||
| 48 | E50, E51, \ | ||
| 49 | E60, E61 \ | ||
| 50 | ) \ | ||
| 51 | { \ | ||
| 52 | { E10, E11 }, \ | ||
| 53 | { E20, E21 }, \ | ||
| 54 | { E30, E31 }, \ | ||
| 55 | { E40, E41 }, \ | ||
| 56 | { E50, E51 }, \ | ||
| 57 | { E60, E61 } \ | ||
| 58 | } | ||
| 59 | |||
| 32 | #define KC________ KC_TRNS | 60 | #define KC________ KC_TRNS |
| 33 | #define KC_RGB_MOD RGB_MOD | 61 | #define KC_RGB_MOD RGB_MOD |
| 34 | #define KC_FN FN | 62 | #define KC_FN FN |
diff --git a/users/xulkal/custom_encoder.c b/users/xulkal/custom_encoder.c index 09f1cda0d..076a9891a 100644 --- a/users/xulkal/custom_encoder.c +++ b/users/xulkal/custom_encoder.c | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | const uint16_t PROGMEM encoders[][2] = { | 4 | const uint16_t PROGMEM encoders[][2] = { |
| 5 | { KC_PGUP, KC_PGDN }, | 5 | { KC_PGUP, KC_PGDN }, |
| 6 | { KC_DOWN, KC_UP } | 6 | { KC_DOWN, KC_UP } |
| 7 | } | 7 | }; |
| 8 | 8 | ||
| 9 | void encoder_update_user(uint8_t index, bool clockwise) | 9 | void encoder_update_user(uint8_t index, bool clockwise) |
| 10 | { | 10 | { |
