diff options
Diffstat (limited to 'keyboards/sofle')
-rwxr-xr-x | keyboards/sofle/keyhive/config.h | 38 | ||||
-rw-r--r-- | keyboards/sofle/keyhive/info.json | 7 | ||||
-rw-r--r-- | keyboards/sofle/keymaps/keyhive_via/encoder.c | 48 | ||||
-rw-r--r-- | keyboards/sofle/keymaps/keyhive_via/keymap.c | 65 | ||||
-rw-r--r-- | keyboards/sofle/keymaps/keyhive_via/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/sofle/rev1/config.h | 2 | ||||
-rw-r--r-- | keyboards/sofle/rev1/info.json | 3 |
7 files changed, 36 insertions, 128 deletions
diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/sofle/keyhive/config.h index 9e36e1588e..63450e2536 100755 --- a/keyboards/sofle/keyhive/config.h +++ b/keyboards/sofle/keyhive/config.h @@ -27,41 +27,3 @@ #define SPLIT_WPM_ENABLE #define SPLIT_OLED_ENABLE #define SPLIT_TRANSPORT_MIRROR - -// 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..d4718d3a8b 100644 --- a/keyboards/sofle/keyhive/info.json +++ b/keyboards/sofle/keyhive/info.json @@ -10,7 +10,12 @@ "pin": "D3" }, "rgblight": { - "max_brightness": 100 + "hue_steps": 10, + "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 diff --git a/keyboards/sofle/rev1/config.h b/keyboards/sofle/rev1/config.h index be64549748..a444e54903 100644 --- a/keyboards/sofle/rev1/config.h +++ b/keyboards/sofle/rev1/config.h @@ -1,5 +1,3 @@ #pragma once -#define TAPPING_TERM 100 - #define TAP_CODE_DELAY 10 diff --git a/keyboards/sofle/rev1/info.json b/keyboards/sofle/rev1/info.json index 23d411602e..9863fcd983 100644 --- a/keyboards/sofle/rev1/info.json +++ b/keyboards/sofle/rev1/info.json @@ -28,6 +28,9 @@ } } }, + "tapping": { + "term": 100 + }, "processor": "atmega32u4", "bootloader": "caterina", "layouts": { |