summaryrefslogtreecommitdiff
path: root/keyboards/sofle
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/sofle')
-rwxr-xr-xkeyboards/sofle/keyhive/config.h29
-rw-r--r--keyboards/sofle/keyhive/info.json6
-rw-r--r--keyboards/sofle/keymaps/keyhive_via/encoder.c48
-rw-r--r--keyboards/sofle/keymaps/keyhive_via/keymap.c65
-rw-r--r--keyboards/sofle/keymaps/keyhive_via/rules.mk1
5 files changed, 32 insertions, 117 deletions
diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h
index 9e36e1588e..9f82ce80ec 100755
--- a/keyboards/sofle/keyhive/config.h
+++ b/keyboards/sofle/keyhive/config.h
@@ -31,37 +31,8 @@
// Add RGB underglow
// by defining in the keyboard, incompatible keymaps will fail to compile.
#ifdef RGBLIGHT_ENABLE
-# define RGBLED_NUM 74
-# define RGBLED_SPLIT {37,37}
# define RGBLIGHT_HUE_STEP 10
# define RGBLIGHT_SAT_STEP 17
# define RGBLIGHT_VAL_STEP 17
//# define RGBLIGHT_LAYERS //Enable layer light indicators. Not required as updates are done in layer_state_set_user and led_update_user (+588).
-# define RGBLIGHT_SLEEP //Turn off LEDs when computer sleeping (+72)
-
-//RGB LED Conversion macro from physical array to electric array (+146). This results in better looking animated effects.
-//First section is the LED matrix, second section is the electrical wiring order, and the third section is the desired mapping
-# define LED_LAYOUT( \
- L00, L01, L02, L03, L04, L05, L08, L09, L010, L011, L012, L013, \
- L10, L12, L14, L19, L111, L113, \
- L20, L21, L22, L23, L24, L25, L28, L29, L210, L211, L212, L213, \
- L30, L31, L32, L33, L34, L35, L38, L39, L310, L311, L312, L313, \
- L40, L42, L44, L49, L411, L413, \
- L50, L51, L52, L53, L54, L55, L58, L59, L510, L511, L512, L513, \
- L62, L63, L64, L65, L66, L67, L68, L69, L610, L611, \
- L71, L76, L77, L712 )\
- { \
- L14,L12,L10,L40,L42,L44,L71,L76,L66,L65,L55,L35,L25,L05,L04,L24,L34,L54,L64,L63,L53,L33,L23,L03,L02,L22,L32,L52,L62,L51,L31,L21,L01,L00,L20,L30,L50,L19,L111,L113,L413,L411,L49,L712,L77,L67,L68,L58,L38,L28,L08,L09,L29,L39,L59,L69,L610,L510,L310,L210,L010,L011,L211,L311,L511,L611,L512,L312,L212,L012,L013,L213,L313,L513, \
- }
-//RGB LED logical order map
-# define RGBLIGHT_LED_MAP LED_LAYOUT( \
- 5, 6, 17, 18, 29, 30, 43, 44, 55, 56, 67, 68, \
- 4, 16, 28, 45, 57, 69, \
- 3, 7, 15, 19, 27, 31, 42, 46, 54, 58, 66, 70, \
- 2, 8, 14, 20, 26, 32, 41, 47, 53, 59, 65, 71, \
- 1, 13, 25, 48, 60, 72, \
- 0, 9, 12, 21, 24, 33, 40, 49, 52, 61, 64, 73, \
- 11, 22, 23, 34, 35, 38, 39, 50, 51, 62, \
- 10, 36, 37, 63 )
-
#endif
diff --git a/keyboards/sofle/keyhive/info.json b/keyboards/sofle/keyhive/info.json
index 7a453b675e..7807a546c3 100644
--- a/keyboards/sofle/keyhive/info.json
+++ b/keyboards/sofle/keyhive/info.json
@@ -10,7 +10,11 @@
"pin": "D3"
},
"rgblight": {
- "max_brightness": 100
+ "led_count": 74,
+ "max_brightness": 100,
+ "led_map": [28, 16, 4, 1, 13, 25, 10, 36, 35, 34, 33, 32, 31, 30, 29, 27, 26, 24, 23, 22, 21, 20, 19, 18, 17, 15, 14, 12, 11, 9, 8, 7, 6, 5, 3, 2, 0, 45, 57, 69, 72, 60, 48, 63, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 61, 62, 64, 65, 66, 67, 68, 70, 71, 73],
+ "sleep": true,
+ "split_count": [37, 37]
},
"matrix_pins": {
"cols": ["B6", "B2", "B3", "B1", "F7", "F6", null],
diff --git a/keyboards/sofle/keymaps/keyhive_via/encoder.c b/keyboards/sofle/keymaps/keyhive_via/encoder.c
deleted file mode 100644
index 7775cb7b86..0000000000
--- a/keyboards/sofle/keymaps/keyhive_via/encoder.c
+++ /dev/null
@@ -1,48 +0,0 @@
- /* Copyright 2020 Josef Adamcik
- * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-//Setting up what encoder rotation does. If your encoder can be pressed as a button, that function can be set in Via.
-
-#ifdef ENCODER_ENABLE
- static uint8_t encoder_state[2] = {0};
- //Use these keymap positions to specify the encoder functions on rotate.
- static keypos_t encoder_ccw[2] = {{6, 3}, {6, 8}};
- static keypos_t encoder_cw[2] = {{6, 1}, {6, 6}};
-
- void encoder_action_unregister(void) {
- for (int index = 0; index < 2; ++index) {
- if (encoder_state[index]) {
- keyevent_t encoder_event = (keyevent_t){.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], .pressed = false, .time = timer_read(), .type = KEY_EVENT};
- encoder_state[index] = 0;
- action_exec(encoder_event);
- }
- }
- }
-
- void encoder_action_register(uint8_t index, bool clockwise) {
- keyevent_t encoder_event = (keyevent_t){.key = clockwise ? encoder_cw[index] : encoder_ccw[index], .pressed = true, .time = timer_read(), .type = KEY_EVENT};
- encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
- action_exec(encoder_event);
- }
-
- void matrix_scan_user(void) { encoder_action_unregister(); }
-
- bool encoder_update_user(uint8_t index, bool clockwise) {
- encoder_action_register(index, clockwise);
- return false;
- };
-#endif
diff --git a/keyboards/sofle/keymaps/keyhive_via/keymap.c b/keyboards/sofle/keymaps/keyhive_via/keymap.c
index 032c834f44..e614873845 100644
--- a/keyboards/sofle/keymaps/keyhive_via/keymap.c
+++ b/keyboards/sofle/keymaps/keyhive_via/keymap.c
@@ -18,7 +18,6 @@
#include QMK_KEYBOARD_H
#include "oled.c"
-#include "encoder.c"
// Base layer is the number of layers CYCLE selects from.
#define BASE_LAYERS 2
@@ -35,27 +34,6 @@ enum custom_layers {
_RAISE
};
-// Extra keys are added for rotary encoder support in VIA
-#define LAYOUT_via( \
- LA1, LA2, LA3, LA4, LA5, LA6, RA6, RA5, RA4, RA3, RA2, RA1, \
- LB1, LB2, LB3, LB4, LB5, LB6, LB7, RB7, RB6, RB5, RB4, RB3, RB2, RB1, \
- LC1, LC2, LC3, LC4, LC5, LC6, LE1, RE6, RC6, RC5, RC4, RC3, RC2, RC1, \
- LD1, LD2, LD3, LD4, LD5, LD6, LD7, RD7, RD6, RD5, RD4, RD3, RD2, RD1, \
- LE2, LE3, LE4, LE5, LE6, RE5, RE4, RE3, RE2, RE1 \
- ) \
- { \
- { LA1, LA2, LA3, LA4, LA5, LA6, KC_NO }, \
- { LB1, LB2, LB3, LB4, LB5, LB6, LB7 }, \
- { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO }, \
- { LD1, LD2, LD3, LD4, LD5, LD6, LD7 }, \
- { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO }, \
- { RA1, RA2, RA3, RA4, RA5, RA6, KC_NO }, \
- { RB1, RB2, RB3, RB4, RB5, RB6, RB7 }, \
- { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO }, \
- { RD1, RD2, RD3, RD4, RD5, RD6, RD7 }, \
- { RE1, RE2, RE3, RE4, RE5, RE6, KC_NO } \
- }
-
//Default keymap. This can be changed in Via. Use oled.c to change beavior that Via cannot change.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
@@ -74,11 +52,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------' '------''---------------------------'
*/
-[_QWERTY] = LAYOUT_via(
+[_QWERTY] = LAYOUT(
KC_GRV, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV ,
- KC_ESC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_VOLU, KC_PGUP, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- KC_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_MUTE, KC_NO , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_VOLD, KC_PGDN, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
+ KC_ESC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
+ KC_TAB, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_MUTE, KC_NO, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
KC_LGUI,KC_LALT ,KC_LCTL,MO(_LOWER), KC_ENT , KC_SPC ,MO(_RAISE),KC_RCTL, KC_RALT, KC_RGUI
),
/*
@@ -97,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------' '------''---------------------------'
*/
/*
-[_COLEMAK] = LAYOUT_via(
+[_COLEMAK] = LAYOUT(
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV ,
KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_VOLU, KC_PGUP, KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC,
KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_D , KC_MUTE, KC_NO , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
@@ -121,11 +99,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | |/ / \ \ | | | | |
* `-----------------------------------' '------''---------------------------'
*/
-[_COLEMAK] = LAYOUT_via(
+[_COLEMAK] = LAYOUT(
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_GRV ,
- KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_VOLU, KC_PGUP, KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC,
- KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_G , KC_MUTE, KC_NO , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , KC_VOLD, KC_PGDN, KC_K , KC_H , KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSPC,
+ KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , _______, _______, KC_K , KC_H , KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LGUI, KC_LALT,KC_LCTL,MO(_LOWER), KC_ENT , KC_SPC ,MO(_RAISE),KC_RCTL, KC_RALT, KC_RGUI
),
@@ -143,11 +121,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | |/ / \ \ | | | | |
* `-----------------------------------' '------''---------------------------'
*/
-[_LOWER] = LAYOUT_via(
+[_LOWER] = LAYOUT(
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_F12 ,
- _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
- _______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_F12 ,
+ _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
+ _______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* RAISE
@@ -164,11 +142,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | |/ / \ \ | | | | |
* `----------------------------------' '------''---------------------------'
*/
-[_RAISE] = LAYOUT_via(
+[_RAISE] = LAYOUT(
CYCLE, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______,
- _______, KC_INS , KC_PSCR, KC_APP , XXXXXXX , XXXXXXX, _______, _______, KC_PGUP, _______, KC_UP , _______, _______, KC_BSPC,
- _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX , KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_BSPC,
- _______, KC_UNDO, KC_CUT , KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______,
+ _______, KC_INS , KC_PSCR, KC_APP , XXXXXXX , XXXXXXX, KC_PGUP, _______, KC_UP , _______, _______, KC_BSPC,
+ _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX , KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_BSPC,
+ _______, KC_UNDO, KC_CUT , KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -189,3 +167,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// this uses less memory than returning in each case.
return keycode < SAFE_RANGE;
};
+
+ #ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { ENCODER_CCW_CW(KC_BSPC, KC_DEL), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
+ [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/sofle/keymaps/keyhive_via/rules.mk b/keyboards/sofle/keymaps/keyhive_via/rules.mk
index 2875254096..c7fce92a4f 100644
--- a/keyboards/sofle/keymaps/keyhive_via/rules.mk
+++ b/keyboards/sofle/keymaps/keyhive_via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
RGBLIGHT_ENABLE = yes
+ENCODER_MAP_ENABLE = yes