aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkeyboards/sofle/keyhive/config.h105
-rw-r--r--keyboards/sofle/keyhive/info.json14
-rwxr-xr-xkeyboards/sofle/keyhive/keyhive.c90
-rwxr-xr-xkeyboards/sofle/keyhive/keyhive.h47
-rwxr-xr-xkeyboards/sofle/keyhive/readme.md66
-rwxr-xr-xkeyboards/sofle/keyhive/rules.mk26
-rw-r--r--keyboards/sofle/keymaps/via/config.h61
-rw-r--r--keyboards/sofle/rev1/config.h1
-rw-r--r--keyboards/sofle/sofle.h6
9 files changed, 385 insertions, 31 deletions
diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h
new file mode 100755
index 000000000..14303be41
--- /dev/null
+++ b/keyboards/sofle/keyhive/config.h
@@ -0,0 +1,105 @@
1/* Copyright
2 * 2021 solartempest
3 * 2021 QMK
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#include "config_common.h"
21
22// USB Device descriptor parameter
23
24#define VENDOR_ID 0xFC32
25#define PRODUCT_ID 0x1287
26#define DEVICE_VER 0x0002
27#define MANUFACTURER Keyhive
28#define PRODUCT Sofle // VIA version for this PCB is incorrect for the bottom row
29
30// Key matrix size
31// Rows are doubled-up. Added extra column for rotary encoder VIA mapping.
32#define MATRIX_ROWS 10
33#define MATRIX_COLS 6
34
35// wiring of each half
36#define MATRIX_ROW_PINS \
37 { C6, D7, E6, B4, B5 }
38#define MATRIX_COL_PINS \
39 { B6, B2, B3, B1, F7, F6 }
40#define MATRIX_ROW_PINS_RIGHT \
41 { C6, D7, E6, B4, B5 }
42#define MATRIX_COL_PINS_RIGHT \
43 { F6, F7, B1, B3, B2, B6 }
44
45#define DIODE_DIRECTION COL2ROW
46
47#define DEBOUNCE 5
48
49// Encoder support
50#define ENCODERS_PAD_A \
51 { F5 }
52#define ENCODERS_PAD_B \
53 { F4 }
54#define ENCODERS_PAD_A_RIGHT \
55 { F4 }
56#define ENCODERS_PAD_B_RIGHT \
57 { F5 }
58#define ENCODER_RESOLUTIONS \
59 { 4, 2 } // Left encoder seems to have double-output issue but right does not.
60
61#define TAP_CODE_DELAY 10
62
63// Communication between sides
64#define SOFT_SERIAL_PIN D2
65
66// OLED settings
67#define OLED_TIMEOUT 80000
68#define OLED_BRIGHTNESS 90
69
70#define SPLIT_WPM_ENABLE
71#define SPLIT_OLED_ENABLE
72#define SPLIT_TRANSPORT_MIRROR
73
74// Add RGB underglow
75#define RGB_DI_PIN D3
76#define RGBLED_NUM 74
77#define RGBLED_SPLIT \
78 { 37, 37 }
79
80#define RGBLIGHT_LIMIT_VAL 160 // Power draw may exceed 0.6A at max brightness with white colour.
81#define RGBLIGHT_LAYERS
82#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
83#define RGBLIGHT_SLEEP
84
85#define DRIVER_LED_TOTAL RGBLED_NUM
86#define RGB_MATRIX_SPLIT RGBLED_SPLIT
87
88#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
89#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
90#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
91#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
92// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
93// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
94#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
95#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
96// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
97// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
98#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
99
100#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT
101
102#define RGB_MATRIX_HUE_STEP 8
103#define RGB_MATRIX_SAT_STEP 8
104#define RGB_MATRIX_VAL_STEP 8
105#define RGB_MATRIX_SPD_STEP 10
diff --git a/keyboards/sofle/keyhive/info.json b/keyboards/sofle/keyhive/info.json
new file mode 100644
index 000000000..e2cbf0c71
--- /dev/null
+++ b/keyboards/sofle/keyhive/info.json
@@ -0,0 +1,14 @@
1{
2 "keyboard_name": "Sofle",
3 "layouts": {
4 "LAYOUT": {
5 "layout": [
6 {"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5},
7 {"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5},
8 {"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5},
9 {"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5},
10 {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.125}, {"x":14, "y":4.375}
11 ]
12 }
13 }
14}
diff --git a/keyboards/sofle/keyhive/keyhive.c b/keyboards/sofle/keyhive/keyhive.c
new file mode 100755
index 000000000..c7ad98876
--- /dev/null
+++ b/keyboards/sofle/keyhive/keyhive.c
@@ -0,0 +1,90 @@
1/* Copyright
2 * 2021 solartempest
3 * 2021 QMK
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#include "keyhive.h"
20#ifdef RGB_MATRIX_ENABLE
21// Physical Layout
22// Columns
23// 0 1 2 3 4 5 6 7 8 9 10 11 12 13
24// ROWS
25// 12 13 22 23 32 33 33 32 23 22 13 12 0
26// 02 03 04 04 03 02
27// 11 14 21 24 31 34 34 31 24 21 14 11 1
28// 01 01
29// 10 15 20 25 30 35 35 30 25 20 15 10 2
30//
31// 09 16 19 26 29 36 36 29 26 19 16 09 3
32//
33// 08 17 18 27 28 28 27 18 17 08 4
34// 07 06 05 05 06 07
35
36// clang-format off
37
38led_config_t g_led_config = {
39 {
40 { 11, 12, 21, 22, 31, 32 },
41 { 10, 13, 20, 23, 30, 33 },
42 { 9, 14, 19, 24, 29, 34},
43 { 8, 15, 18, 25, 28, 35},
44 { 7, 16, 17, 26, 27, NO_LED },
45 { 47, 48, 57, 58, 67, 68},
46 { 46, 49, 56, 59, 66, 69},
47 { 45, 50, 55, 60, 65, 70},
48 { 44, 51, 54, 61, 64, 71},
49 { 43, 52, 53, 62, 63, NO_LED }
50 },
51 {
52 // Left side underglow
53 {96, 40}, {16, 20}, {48, 10}, {80, 18}, {88, 60}, {56, 57}, {24,60},
54 // Left side Matrix
55 {32, 57}, { 0, 48}, { 0, 36}, { 0, 24}, { 0, 12},
56 {16, 12}, {16, 24}, {16, 36}, {16, 48}, {48, 55},
57 {64, 57}, {32, 45}, {32, 33}, {32, 21}, {32, 9},
58 {48, 7}, {48, 19}, {48, 31}, {48, 43}, {80, 59},
59 {96, 64}, {64, 45}, {64, 33}, {64, 21}, {64, 9},
60 {80, 10}, {80, 22}, {80, 34}, {80, 47},
61
62
63 // Right side underglow
64 {128, 40}, {208, 20}, {176, 10}, {144, 18}, {136, 60}, {168, 57}, {200,60},
65 // Right side Matrix
66 {192, 57}, {224, 48}, {224, 36}, {224, 24}, {224, 12},
67 {208, 12}, {208, 24}, {208, 36}, {208, 48}, {176, 55},
68 {160, 57}, {192, 45}, {192, 33}, {192, 21}, {192, 9},
69 {176, 7}, {176, 19}, {176, 31}, {176, 43}, {144, 59},
70 {128, 64}, {160, 45}, {160, 33}, {160, 21}, {160, 9},
71 {144, 10}, {144, 22}, {144, 34}, {144, 47},
72 },
73 {
74 LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
75 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
76 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
77 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
78 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
79 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
80 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
81 LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
82 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
83 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
84 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
85 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
86 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
87 LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT
88 }
89};
90#endif
diff --git a/keyboards/sofle/keyhive/keyhive.h b/keyboards/sofle/keyhive/keyhive.h
new file mode 100755
index 000000000..d8b21e16d
--- /dev/null
+++ b/keyboards/sofle/keyhive/keyhive.h
@@ -0,0 +1,47 @@
1/* Copyright
2 * 2021 solartempest
3 * 2021 QMK
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#include "quantum.h"
22
23// clang-format off
24// Extra keys are added for rotary encoder support in VIA
25#define LAYOUT( \
26 LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \
27 LB1, LB2, LB3, LB4, LB5, LB6, RB6, RB5, RB4, RB3, RB2, RB1, \
28 LC1, LC2, LC3, LC4, LC5, LC6, RC6, RC5, RC4, RC3, RC2, RC1, \
29 LD1, LD2, LD3, LD4, LD5, LD6, LE1, RE6, RD6, RD5, RD4, RD3, RD2, RD1, \
30 LE2, LE3, LE4, LE5, LE6, RE5, RE4, RE3, RE2, RE1 \
31 ) \
32 { \
33 { LA1, LA2, LA3, LA4, LA5, LA6 }, \
34 { LB1, LB2, LB3, LB4, LB5, LB6 }, \
35 { LC1, LC2, LC3, LC4, LC5, LC6 }, \
36 { LD1, LD2, LD3, LD4, LD5, LD6 }, \
37 { LE1, LE2, LE3, LE4, LE5, LE6 }, \
38 { RA1, RA2, RA3, RA4, RA5, RA6 }, \
39 { RB1, RB2, RB3, RB4, RB5, RB6 }, \
40 { RC1, RC2, RC3, RC4, RC5, RC6 }, \
41 { RD1, RD2, RD3, RD4, RD5, RD6 }, \
42 { RE1, RE2, RE3, RE4, RE5, RE6 } \
43 }
44
45
46//RGB LED Conversion macro from physical array to electric array (+146 to firmware size)
47// clang-format on
diff --git a/keyboards/sofle/keyhive/readme.md b/keyboards/sofle/keyhive/readme.md
new file mode 100755
index 000000000..43813b856
--- /dev/null
+++ b/keyboards/sofle/keyhive/readme.md
@@ -0,0 +1,66 @@
1# Sofle Keyboard
2
3![SofleKeyboard version 2.1 RGB Keyhive](https://i.imgur.com/WH9OoWuh.jpg)
4
5Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
6
7For detailed instructions on using VIA and flashing, please refer to the sections further down the page!
8
9For details about the keyboard design, refer to Josef's blog: [Sofle Keyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html)
10
11Build guide: [Keyhive Sofle RGB build guide](https://github.com/keyhive/build_guides/blob/master/docs/keyboards/sofle-rgb.md)
12
13* Keyboard Maintainer: [Solartempest]
14* Hardware Supported: SofleKeyboard V2.1 RGB PCB, ProMicro / Elite-C
15* Hardware Availability: [Keyhive](https://keyhive.xyz/shop/sofle)
16
17# Custom Features:
18
19### OLED Features:
20- Includes Snakey keyboard pet! Slithers according to WPM, bites, and sticks its tongue out at you!
21- OLED displays current layer, lock key status, WPM, custom logo, and custom name.
22- OLED shuts off on idle and when computer is sleeping.
23- Includes working Luna keyboard pet.
24- Includes working Bongocat (disable RGB for sufficient space).
25- Includes stock OLED code as well.
26
27### RGB Features:
28- Adds custom layer lighting with custom gradients for each layer.
29- RGB underglow support and remapped to physical locations (nicer gradients and effects).
30- Adds white caps lock, scroll lock, and num lock key indicators using the top row/underglow LEDs.
31
32### Rotary Encoder and VIA Features:
33- Fully emappable left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN.
34- Allows for live remapping of per-layer rotary encoder functions in VIA.
35- VIA support included by default.
36- This fixes the Keyhive left bottom row offset issue in VIA. You will need to import sofle.json in VIA.
37- Custom macro key in VIA for Super Alt Tab, which is fully compatible with rotary encoders.
38- Custom macro key in VIA for moving windows to other monitors in Windows, which is fully compatible with rotary encoders.
39
40### Tap and Other Features:
41- Push left-shift + backspace to delete whole words. Right-shift + backspace to delete whole words in the opposite direction.
42- Double tap layers to stay on a layer instead of momentary push.
43- Adds key combo functionality.
44- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift).
45
46## Using with VIA
47
48- After flashing, in VIA make sure to Import Keymap, which is "sofle VIA keymap.json". This will alow VIA to recognize the updated layout and custom functions. VIA will not auto-recognize the keyboard with this firmware because of the necessary customization.
49- Go to Save+Load to Load Saved Layout. You can import my own layout "sofle VIA layout.json" or just use the Keymap tab to assign your own keys. Having another keyboard connected can be handy for doing this step.
50- It is a good idea to Save Current Layout after you decide on your mapping.
51
52
53Make example for this keyboard (after setting up your build environment):
54
55 make sofle/keyhive:default
56
57Flashing example for this keyboard:
58
59 make sofle/keyhive:default:flash
60
61Press reset button on he keyboard when asked.
62
63Disconnect the first half, connect the second one and repeat the process.
64
65
66See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/sofle/keyhive/rules.mk b/keyboards/sofle/keyhive/rules.mk
new file mode 100755
index 000000000..44846f97c
--- /dev/null
+++ b/keyboards/sofle/keyhive/rules.mk
@@ -0,0 +1,26 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22ENCODER_ENABLE = yes
23LTO_ENABLE = yes
24SPLIT_KEYBOARD = yes
25OLED_ENABLE = yes
26OLED_DRIVER = SSD1306
diff --git a/keyboards/sofle/keymaps/via/config.h b/keyboards/sofle/keymaps/via/config.h
index c2e48ea7d..77ce4f259 100644
--- a/keyboards/sofle/keymaps/via/config.h
+++ b/keyboards/sofle/keymaps/via/config.h
@@ -1,19 +1,19 @@
1 /* Copyright 2020 Josef Adamcik 1/* Copyright 2020 Josef Adamcik
2 * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang 2 * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
3 * 3 *
4 * This program is free software: you can redistribute it and/or modify 4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by 5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or 6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version. 7 * (at your option) any later version.
8 * 8 *
9 * This program is distributed in the hope that it will be useful, 9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18#pragma once 18#pragma once
19 19
@@ -22,16 +22,21 @@ see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
22for more options. 22for more options.
23*/ 23*/
24 24
25//Add RGB underglow and top facing lighting 25#if defined(KEYBOARD_sofle_rev1)
26#define RGB_DI_PIN D3 26// Add RGB underglow and top facing lighting
27#ifdef RGB_MATRIX_ENABLE 27# define RGB_DI_PIN D3
28#define RGBLED_NUM 36 // Number of LEDs 28# define RGBLED_NUM 70
29#define DRIVER_LED_TOTAL RGBLED_NUM 29# define RGBLED_SPLIT \
30 { 36, 36 }
31# ifdef RGB_MATRIX_ENABLE
32# define DRIVER_LED_TOTAL RGBLED_NUM
33# define RGB_MATRIX_SPLIT RGBLED_SPLIT
34# define SPLIT_TRANSPORT_MIRROR
35# else
36# define RGBLIGHT_ANIMATIONS
37# define RGBLIGHT_LIMIT_VAL 120
38# define RGBLIGHT_HUE_STEP 10
39# define RGBLIGHT_SAT_STEP 17
40# define RGBLIGHT_VAL_STEP 17
41# endif
30#endif 42#endif
31#define RGBLED_NUM 70
32#define RGBLED_SPLIT {36,36}
33#define RGBLIGHT_ANIMATIONS
34#define RGBLIGHT_LIMIT_VAL 120
35#define RGBLIGHT_HUE_STEP 10
36#define RGBLIGHT_SAT_STEP 17
37#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/sofle/rev1/config.h b/keyboards/sofle/rev1/config.h
index ab0e0b39d..831387e99 100644
--- a/keyboards/sofle/rev1/config.h
+++ b/keyboards/sofle/rev1/config.h
@@ -36,4 +36,3 @@
36 36
37#define NO_ACTION_MACRO 37#define NO_ACTION_MACRO
38#define NO_ACTION_FUNCTION 38#define NO_ACTION_FUNCTION
39
diff --git a/keyboards/sofle/sofle.h b/keyboards/sofle/sofle.h
index 67bd529a1..90ee00bfd 100644
--- a/keyboards/sofle/sofle.h
+++ b/keyboards/sofle/sofle.h
@@ -1,5 +1,7 @@
1#pragma once 1#pragma once
2 2
3#ifdef KEYBOARD_sofle_rev1 3#if defined(KEYBOARD_sofle_rev1)
4 #include "rev1.h" 4# include "rev1.h"
5#elif defined(KEYBOARD_sofle_keyhive)
6# include "keyhive.h"
5#endif 7#endif