diff options
| -rw-r--r-- | keyboards/kabedon/kabedon98e/info.json | 215 | ||||
| -rw-r--r-- | keyboards/kabedon/kabedon98e/kabedon98e.c | 39 | ||||
| -rw-r--r-- | keyboards/kabedon/kabedon98e/kabedon98e.h | 59 | ||||
| -rw-r--r-- | keyboards/kabedon/kabedon98e/keymaps/default/keymap.c | 73 | ||||
| -rw-r--r-- | keyboards/kabedon/kabedon98e/keymaps/via/keymap.c | 73 | 
5 files changed, 225 insertions, 234 deletions
| diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/info.json index 1f7ecf586f..de8f975b2d 100644 --- a/keyboards/kabedon/kabedon98e/info.json +++ b/keyboards/kabedon/kabedon98e/info.json @@ -1,112 +1,117 @@  { -    "keyboard_name": "KabeDon98E",  -    "url": "",  -    "maintainer": "370490639",  +    "keyboard_name": "KabeDon98E", +    "url": "", +    "maintainer": "370490639",      "layouts": {          "LAYOUT": {              "layout": [ -			{"label":"Esc", "x":0, "y":0}, -			{"label":"F1", "x":1.5, "y":0}, -			{"label":"F2", "x":2.5, "y":0}, -			{"label":"F3", "x":3.5, "y":0}, -			{"label":"F4", "x":4.5, "y":0}, -			{"label":"F5", "x":6.25, "y":0}, -			{"label":"F6", "x":7.25, "y":0}, -			{"label":"F7", "x":8.25, "y":0}, -			{"label":"F8", "x":9.25, "y":0}, -			{"label":"F9", "x":11, "y":0}, -			{"label":"F10", "x":12, "y":0}, -			{"label":"F11", "x":13, "y":0}, -			{"label":"F12", "x":14, "y":0}, -			{"label":"Delete", "x":15.5, "y":0}, -			{"label":"Insert", "x":17, "y":0}, -			{"label":"Mute", "x":18.5, "y":0},			 -			{"label":"~", "x":0, "y":1.5}, -			{"label":"!", "x":1, "y":1.5}, -			{"label":"@", "x":2, "y":1.5}, -			{"label":"#", "x":3, "y":1.5}, -			{"label":"$", "x":4, "y":1.5}, -			{"label":"%", "x":5, "y":1.5}, -			{"label":"^", "x":6, "y":1.5}, -			{"label":"&", "x":7, "y":1.5}, -			{"label":"*", "x":8, "y":1.5}, -			{"label":"(", "x":9, "y":1.5}, -			{"label":")", "x":10, "y":1.5}, -			{"label":"_", "x":11, "y":1.5}, -			{"label":"+", "x":12, "y":1.5}, -			{"label":"Backspace", "x":13, "y":1.5, "w":2}, -			{"label":"Num Lock", "x":15.4, "y":1.5}, -			{"label":"/", "x":16.4, "y":1.5}, -			{"label":"*", "x":17.4, "y":1.5}, -			{"label":"-", "x":18.4, "y":1.5},			 -			{"label":"Home", "x":19.8, "y":1.5},			 -			{"label":"Tab", "x":0, "y":2.5, "w":1.5}, -			{"label":"Q", "x":1.5, "y":2.5}, -			{"label":"W", "x":2.5, "y":2.5}, -			{"label":"E", "x":3.5, "y":2.5}, -			{"label":"R", "x":4.5, "y":2.5}, -			{"label":"T", "x":5.5, "y":2.5}, -			{"label":"Y", "x":6.5, "y":2.5}, -			{"label":"U", "x":7.5, "y":2.5}, -			{"label":"I", "x":8.5, "y":2.5}, -			{"label":"O", "x":9.5, "y":2.5}, -			{"label":"P", "x":10.5, "y":2.5}, -			{"label":"{", "x":11.5, "y":2.5}, -			{"label":"}", "x":12.5, "y":2.5}, -			{"label":"|", "x":13.5, "y":2.5, "w":1.5}, -			{"label":"7", "x":15.4, "y":2.5}, -			{"label":"8", "x":16.4, "y":2.5}, -			{"label":"9", "x":17.4, "y":2.5}, -			{"label":"+", "x":18.4, "y":2.5, "h":2},			 -			{"label":"End", "x":19.8, "y":2.5},			 -			{"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, -			{"label":"A", "x":1.75, "y":3.5}, -			{"label":"S", "x":2.75, "y":3.5}, -			{"label":"D", "x":3.75, "y":3.5}, -			{"label":"F", "x":4.75, "y":3.5}, -			{"label":"G", "x":5.75, "y":3.5}, -			{"label":"H", "x":6.75, "y":3.5}, -			{"label":"J", "x":7.75, "y":3.5}, -			{"label":"K", "x":8.75, "y":3.5}, -			{"label":"L", "x":9.75, "y":3.5}, -			{"label":":", "x":10.75, "y":3.5}, -			{"label":"\"", "x":11.75, "y":3.5}, -			{"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, -			{"label":"4", "x":15.4, "y":3.5}, -			{"label":"5", "x":16.4, "y":3.5}, -			{"label":"6", "x":17.4, "y":3.5},						 -			{"label":"Shift", "x":0, "y":4.5, "w":2.25}, -			{"label":"Z", "x":2.25, "y":4.5}, -			{"label":"X", "x":3.25, "y":4.5}, -			{"label":"C", "x":4.25, "y":4.5}, -			{"label":"V", "x":5.25, "y":4.5}, -			{"label":"B", "x":6.25, "y":4.5}, -			{"label":"N", "x":7.25, "y":4.5}, -			{"label":"M", "x":8.25, "y":4.5}, -			{"label":"<", "x":9.25, "y":4.5}, -			{"label":">", "x":10.25, "y":4.5}, -			{"label":"?", "x":11.25, "y":4.5}, -			{"label":"Shift", "x":12.25, "y":4.5, "w":1.75}, -			{"label":"Up", "x":14.2, "y":4.7}, -			{"label":"1", "x":15.4, "y":4.5}, -			{"label":"2", "x":16.4, "y":4.5}, -			{"label":"3", "x":17.4, "y":4.5}, -			{"label":"Enter", "x":18.4, "y":4.5, "h":2},						 -			{"label":"Pgup", "x":19.8, "y":4.5},						 -			{"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, -			{"label":"Win", "x":1.25, "y":5.5}, -			{"label":"Alt", "x":2.25, "y":5.5}, -			{"label":"MO(1)", "x":3.25, "y":5.5}, -			{"label":"Space", "x":4.25, "y":5.5, "w":6.25}, -			{"label":"Alt", "x":10.5, "y":5.5, "w":1.25}, -			{"label":"Ctrl", "x":11.75, "y":5.5, "w":1.25}, -			{"label":"Left", "x":13.2, "y":5.7}, -			{"label":"Down", "x":14.2, "y":5.7}, -			{"label":"Right", "x":15.2, "y":5.7}, -			{"label":"0", "x":16.4, "y":5.5}, -			{"label":".", "x":17.4, "y":5.5}, -			{"label":"Pgdn", "x":19.8, "y":5.5} -			] +                {"label":"Esc", "x":0, "y":0.5}, +                {"label":"F1", "x":1.667, "y":0.5}, +                {"label":"F2", "x":2.667, "y":0.5}, +                {"label":"F3", "x":3.667, "y":0.5}, +                {"label":"F4", "x":4.667, "y":0.5}, +                {"label":"F5", "x":6.333, "y":0.5}, +                {"label":"F6", "x":7.333, "y":0.5}, +                {"label":"F7", "x":8.333, "y":0.5}, +                {"label":"F8", "x":9.333, "y":0.5}, +                {"label":"F9", "x":11.0, "y":0.5}, +                {"label":"F10", "x":12.0, "y":0.5}, +                {"label":"F11", "x":13.0, "y":0.5}, +                {"label":"F12", "x":14.0, "y":0.5}, +                {"label":"Delete", "x":15.5, "y":0.5}, +                {"label":"Home", "x":16.9, "y":0, "w":0.6, "h":0.5}, +                {"label":"Insert", "x":17.0, "y":0.5}, +                {"label":"End", "x":17.5, "y":0, "w":0.6, "h":0.5}, +                {"label":"PgUp", "x":18.4, "y":0, "w":0.6, "h":0.5}, +                {"label":"Mute", "x":18.5, "y":0.5}, +                {"label":"PgDn", "x":19, "y":0, "w":0.6, "h":0.5}, + +                {"label":"~", "x":0, "y":1.75}, +                {"label":"!", "x":1, "y":1.75}, +                {"label":"@", "x":2, "y":1.75}, +                {"label":"#", "x":3, "y":1.75}, +                {"label":"$", "x":4, "y":1.75}, +                {"label":"%", "x":5, "y":1.75}, +                {"label":"^", "x":6, "y":1.75}, +                {"label":"&", "x":7, "y":1.75}, +                {"label":"*", "x":8, "y":1.75}, +                {"label":"(", "x":9, "y":1.75}, +                {"label":")", "x":10, "y":1.75}, +                {"label":"_", "x":11, "y":1.75}, +                {"label":"+", "x":12, "y":1.75}, +                {"label":"Backspace", "x":13, "y":1.75, "w":2}, +                {"label":"Num Lock", "x":15.5, "y":1.75}, +                {"label":"/", "x":16.5, "y":1.75}, +                {"label":"*", "x":17.5, "y":1.75}, +                {"label":"-", "x":18.5, "y":1.75}, + +                {"label":"Tab", "x":0, "y":2.75, "w":1.5}, +                {"label":"Q", "x":1.5, "y":2.75}, +                {"label":"W", "x":2.5, "y":2.75}, +                {"label":"E", "x":3.5, "y":2.75}, +                {"label":"R", "x":4.5, "y":2.75}, +                {"label":"T", "x":5.5, "y":2.75}, +                {"label":"Y", "x":6.5, "y":2.75}, +                {"label":"U", "x":7.5, "y":2.75}, +                {"label":"I", "x":8.5, "y":2.75}, +                {"label":"O", "x":9.5, "y":2.75}, +                {"label":"P", "x":10.5, "y":2.75}, +                {"label":"{", "x":11.5, "y":2.75}, +                {"label":"}", "x":12.5, "y":2.75}, +                {"label":"|", "x":13.5, "y":2.75, "w":1.5}, +                {"label":"7", "x":15.5, "y":2.75}, +                {"label":"8", "x":16.5, "y":2.75}, +                {"label":"9", "x":17.5, "y":2.75}, + +                {"label":"Caps Lock", "x":0, "y":3.75, "w":1.75}, +                {"label":"A", "x":1.75, "y":3.75}, +                {"label":"S", "x":2.75, "y":3.75}, +                {"label":"D", "x":3.75, "y":3.75}, +                {"label":"F", "x":4.75, "y":3.75}, +                {"label":"G", "x":5.75, "y":3.75}, +                {"label":"H", "x":6.75, "y":3.75}, +                {"label":"J", "x":7.75, "y":3.75}, +                {"label":"K", "x":8.75, "y":3.75}, +                {"label":"L", "x":9.75, "y":3.75}, +                {"label":":", "x":10.75, "y":3.75}, +                {"label":"\"", "x":11.75, "y":3.75}, +                {"label":"Enter", "x":12.75, "y":3.75, "w":2.25}, +                {"label":"4", "x":15.5, "y":3.75}, +                {"label":"5", "x":16.5, "y":3.75}, +                {"label":"6", "x":17.5, "y":3.75}, +                {"label":"+", "x":18.5, "y":2.75, "h":2}, + +                {"label":"Shift", "x":0, "y":4.75, "w":2.25}, +                {"label":"Z", "x":2.25, "y":4.75}, +                {"label":"X", "x":3.25, "y":4.75}, +                {"label":"C", "x":4.25, "y":4.75}, +                {"label":"V", "x":5.25, "y":4.75}, +                {"label":"B", "x":6.25, "y":4.75}, +                {"label":"N", "x":7.25, "y":4.75}, +                {"label":"M", "x":8.25, "y":4.75}, +                {"label":"<", "x":9.25, "y":4.75}, +                {"label":">", "x":10.25, "y":4.75}, +                {"label":"?", "x":11.25, "y":4.75}, +                {"label":"Shift", "x":12.25, "y":4.75, "w":1.75}, +                {"label":"\u2191", "x":14.25, "y":5}, +                {"label":"1", "x":15.5, "y":4.75}, +                {"label":"2", "x":16.5, "y":4.75}, +                {"label":"3", "x":17.5, "y":4.75}, + +                {"label":"Ctrl", "x":0, "y":5.75, "w":1.25}, +                {"label":"Win", "x":1.25, "y":5.75}, +                {"label":"Alt", "x":2.25, "y":5.75}, +                {"label":"MO(1)", "x":3.25, "y":5.75}, +                {"label":"Space", "x":4.25, "y":5.75, "w":6.25}, +                {"label":"Alt", "x":10.5, "y":5.75, "w":1.25}, +                {"label":"Ctrl", "x":11.75, "y":5.75, "w":1.25}, +                {"label":"\u2190", "x":13.25, "y":6}, +                {"label":"\u2193", "x":14.25, "y":6}, +                {"label":"\u2192", "x":15.25, "y":6}, +                {"label":"0", "x":16.5, "y":5.75}, +                {"label":".", "x":17.5, "y":5.75}, +                {"label":"Enter", "x":18.5, "y":4.75, "h":2} +            ]          }      }  } diff --git a/keyboards/kabedon/kabedon98e/kabedon98e.c b/keyboards/kabedon/kabedon98e/kabedon98e.c index 5142c5887d..09af36de42 100644 --- a/keyboards/kabedon/kabedon98e/kabedon98e.c +++ b/keyboards/kabedon/kabedon98e/kabedon98e.c @@ -14,3 +14,42 @@   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */  #include "kabedon98e.h" + +static uint8_t encoder_state[ENCODERS] = {0}; +static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; +static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; + +void encoder_action_unregister(void) { +    for (int index = 0; index < ENCODERS; ++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() | 1) +            }; +            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() | 1) +    }; +    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); +    action_exec(encoder_event); +} + +void matrix_scan_kb(void) { +    encoder_action_unregister(); +    matrix_scan_user(); +} + +bool encoder_update_kb(uint8_t index, bool clockwise) { +    if (!encoder_update_user(index, clockwise)) { return false; } +    encoder_action_register(index, clockwise); +    return true; +}; diff --git a/keyboards/kabedon/kabedon98e/kabedon98e.h b/keyboards/kabedon/kabedon98e/kabedon98e.h index 0ddad3abf5..ce4b3fa0b2 100644 --- a/keyboards/kabedon/kabedon98e/kabedon98e.h +++ b/keyboards/kabedon/kabedon98e/kabedon98e.h @@ -17,26 +17,47 @@  #include "quantum.h" -#define XXXX KC_NO +#define XXX KC_NO + +/*                                                                   ┌──┬──┐ ┌──┬──┐ + *                                                                   │00│20│ │60│80│ + *                                                                   └──┴──┘ └──┴──┘ + *                                                                    \─en1┘ └en2─/ + * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ ┌───┐ ┌───┐ + * │10 │   │01 │11 │02 │12 │ │03 │13 │04 │14 │ │05 │15 │16 │17 │ │57 │ │48 │ │40 │ + * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ └───┘ └───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┬───┐ + * │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37     │ │39 │49 │4A │5A │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ + * │50   │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │56 │47   │ │59 │69 │6A │   │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┤   │ + * │70    │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │77      │ │79 │89 │8A │7A │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ + * │90      │91 │82 │92 │83 │93 │84 │94 │85 │95 │86 │97    │┌───┐│99 │A9 │9A │   │ + * ├────┬───┼───┼───┼───┴───┴───┴───┴───┴───┴┬──┴─┬─┴──┬───┘│88 │└───┼───┼───┤   │ + * │B0  │A1 │B1 │B3 │B2                      │B5  │A7  │┌───┼───┼───┐│B9 │AA │BA │ + * └────┴───┴───┴───┴────────────────────────┴────┴────┘│B7 │A8 │B8 │└───┴───┴───┘ + *                                                      └───┴───┴───┘ + */  #define LAYOUT( \ -    KB00,   KA01, KB01, KA02, KB02,    KA03, KB03, KA04, KB04,    KA05, KB05, KB06, KB07,     KF07,    KE08,    KE00,        \ -    KD00, KC01, KD01, KC02, KD02, KC03, KD03, KC04, KD04, KC05, KD05, KC06, KD06,   KD07,     KD09, KE09, KE10, KF10,  KA00, \ -    KF00, KE01, KF01, KE02, KF02, KE03, KF03, KE04, KF04, KE05, KF05, KE06, KF06,   KE07,     KF09, KG09, KG10,        KC00, \ -    KH00, KG01, KH01, KG02, KH02, KG03, KH03, KG04, KH04, KG05, KH05, KG06,      KH07,        KH09, KI09, KI10, KH10,        \ -    KJ00, KJ01, KI02, KJ02, KI03, KJ03, KI04, KJ04, KI05, KJ05, KI06,       KJ07,     KI08,   KJ09, KK09, KJ10,        KG00, \ -    KL00, KK01, KL01, KL03,               KL02,                 KL05,   KK07,   KL07, KK08, KL08,   KL09, KK10, KL10,  KI00  \ +    K10,   K01, K11, K02, K12,    K03, K13, K04, K14,   K05, K15, K16, K17,      K57,  K00,K48,K20,  K60,K40,K80, \ +    K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36,   K37,      K39, K49, K4A, K5A, \ +    K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56,   K47,      K59, K69, K6A,      \ +    K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66,      K77,        K79, K89, K8A, K7A, \ +    K90, K91, K82, K92, K83, K93, K84, K94, K85, K95, K86,      K97,      K88,   K99, KA9, K9A,      \ +    KB0, KA1, KB1, KB3,              KB2,             KB5,   KA7,    KB7, KA8, KB8,   KB9, KAA, KBA  \  ) { \ -  { KA00,  KA01,  KA02,  KA03,  KA04,  KA05,  XXXX,  XXXX,  XXXX,  XXXX,  XXXX }, \ -  { KB00,  KB01,  KB02,  KB03,  KB04,  KB05,  KB06,  KB07,  XXXX,  XXXX,  XXXX }, \ -  { KC00,  KC01,  KC02,  KC03,  KC04,  KC05,  KC06,  XXXX,  XXXX,  XXXX,  XXXX }, \ -  { KD00,  KD01,  KD02,  KD03,  KD04,  KD05,  KD06,  KD07,  XXXX,  KD09,  XXXX }, \ -  { KE00,  KE01,  KE02,  KE03,  KE04,  KE05,  KE06,  KE07,  KE08,  KE09,  KE10 }, \ -  { KF00,  KF01,  KF02,  KF03,  KF04,  KF05,  KF06,  KF07,  XXXX,  KF09,  KF10 }, \ -  { KG00,  KG01,  KG02,  KG03,  KG04,  KG05,  KG06,  XXXX,  XXXX,  KG09,  KG10 }, \ -  { KH00,  KH01,  KH02,  KH03,  KH04,  KH05,  XXXX,  KH07,  XXXX,  KH09,  KH10 }, \ -  { KI00,  XXXX,  KI02,  KI03,  KI04,  KI05,  KI06,  XXXX,  KI08,  KI09,  KI10 }, \ -  { KJ00,  KJ01,  KJ02,  KJ03,  KJ04,  KJ05,  XXXX,  KJ07,  XXXX,  KJ09,  KJ10 }, \ -  { XXXX,  KK01,  XXXX,  XXXX,  XXXX,  XXXX,  XXXX,  KK07,  KK08,  KK09,  KK10 }, \ -  { KL00,  KL01,  KL02,  KL03,  XXXX,  KL05,  XXXX,  KL07,  KL08,  KL09,  KL10 }  \ +  { K00,  K01,  K02,  K03,  K04,  K05,  XXX,  XXX,  XXX,  XXX,  XXX }, \ +  { K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  XXX,  XXX,  XXX }, \ +  { K20,  K21,  K22,  K23,  K24,  K25,  K26,  XXX,  XXX,  XXX,  XXX }, \ +  { K30,  K31,  K32,  K33,  K34,  K35,  K36,  K37,  XXX,  K39,  XXX }, \ +  { K40,  K41,  K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A }, \ +  { K50,  K51,  K52,  K53,  K54,  K55,  K56,  K57,  XXX,  K59,  K5A }, \ +  { K60,  K61,  K62,  K63,  K64,  K65,  K66,  XXX,  XXX,  K69,  K6A }, \ +  { K70,  K71,  K72,  K73,  K74,  K75,  XXX,  K77,  XXX,  K79,  K7A }, \ +  { K80,  XXX,  K82,  K83,  K84,  K85,  K86,  XXX,  K88,  K89,  K8A }, \ +  { K90,  K91,  K92,  K93,  K94,  K95,  XXX,  K97,  XXX,  K99,  K9A }, \ +  { XXX,  KA1,  XXX,  XXX,  XXX,  XXX,  XXX,  KA7,  KA8,  KA9,  KAA }, \ +  { KB0,  KB1,  KB2,  KB3,  XXX,  KB5,  XXX,  KB7,  KB8,  KB9,  KBA }  \  } diff --git a/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c b/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c index bace7931df..608110417e 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c +++ b/keyboards/kabedon/kabedon98e/keymaps/default/keymap.c @@ -45,64 +45,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {                                                       └──┘└──┘└──┘   */  [_BASE] = LAYOUT( -	KC_ESC,      KC_F1,  KC_F2,  KC_F3,  KC_F4,       KC_F5,  KC_F6,  KC_F7,  KC_F8,       KC_F9,  KC_F10,  KC_F11,  KC_F12,      KC_DEL,      KC_INS, 		 KC_MUTE,  -	KC_GRV,  KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,    KC_9,    KC_0,     KC_MINS,  KC_EQL,   KC_BSPC,     KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,   KC_HOME, -	KC_TAB,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,    KC_O,    KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS,     KC_P7,   KC_P8,   KC_P9,              KC_END, -	KC_CAPS, KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN,  KC_QUOT,       KC_ENT,           KC_P4,   KC_P5,   KC_P6,   KC_PPLS,   -	KC_LSFT, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH,        KC_RSFT,       KC_UP,      KC_P1,   KC_P2,   KC_P3,              KC_PGUP, -	KC_LCTL, KC_LGUI, KC_LALT, MO(1),                KC_SPC,                         KC_RALT,    KC_RCTL,   KC_LEFT,  KC_DOWN,  KC_RGHT,   KC_P0,   KC_PDOT, KC_PENT,   KC_PGDN), +    KC_ESC,     KC_F1,   KC_F2,   KC_F3,   KC_F4,      KC_F5,   KC_F6,   KC_F7,   KC_F8,      KC_F9,   KC_F10,  KC_F11,  KC_F12,           KC_DEL,  KC_HOME, KC_INS,  KC_END,  KC_PGUP, KC_MUTE, KC_PGDN, +    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,          KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, +    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,          KC_P7,   KC_P8,   KC_P9, +    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,           KC_P4,   KC_P5,   KC_P6,   KC_PPLS, +    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,     KC_UP,        KC_P1,   KC_P2,   KC_P3, +    KC_LCTL, KC_LGUI, KC_LALT, MO(1),                     KC_SPC,                             KC_RALT, KC_RCTL,     KC_LEFT, KC_DOWN, KC_RGHT,      KC_P0,   KC_PDOT, KC_PENT),  [_FN] = LAYOUT( -	KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,     RGB_VAI,  KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS,  -	KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                     RGB_TOG,  RGB_MOD,    RGB_HUI, RGB_VAD, RGB_HUD,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS), +    KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,     RGB_VAI,      KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            RGB_TOG, RGB_MOD,     RGB_HUI, RGB_VAD, RGB_HUD,      KC_TRNS, KC_TRNS, KC_TRNS),  [_FN1] = LAYOUT( -	KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,     KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS, -	KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                     KC_TRNS,  KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS) -	 -}; - -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { -    for (int index = 0; index < ENCODERS; ++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() | 1) -            }; -            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() | 1) -    }; -    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); -    action_exec(encoder_event); -} - -void matrix_scan_user(void) { -    encoder_action_unregister(); -} +    KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,     KC_TRNS,      KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS,      KC_TRNS, KC_TRNS, KC_TRNS) -bool encoder_update_user(uint8_t index, bool clockwise) { -    encoder_action_register(index, clockwise); -    return true;  }; diff --git a/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c b/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c index bace7931df..608110417e 100644 --- a/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c +++ b/keyboards/kabedon/kabedon98e/keymaps/via/keymap.c @@ -45,64 +45,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {                                                       └──┘└──┘└──┘   */  [_BASE] = LAYOUT( -	KC_ESC,      KC_F1,  KC_F2,  KC_F3,  KC_F4,       KC_F5,  KC_F6,  KC_F7,  KC_F8,       KC_F9,  KC_F10,  KC_F11,  KC_F12,      KC_DEL,      KC_INS, 		 KC_MUTE,  -	KC_GRV,  KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,    KC_9,    KC_0,     KC_MINS,  KC_EQL,   KC_BSPC,     KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,   KC_HOME, -	KC_TAB,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,    KC_O,    KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS,     KC_P7,   KC_P8,   KC_P9,              KC_END, -	KC_CAPS, KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN,  KC_QUOT,       KC_ENT,           KC_P4,   KC_P5,   KC_P6,   KC_PPLS,   -	KC_LSFT, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH,        KC_RSFT,       KC_UP,      KC_P1,   KC_P2,   KC_P3,              KC_PGUP, -	KC_LCTL, KC_LGUI, KC_LALT, MO(1),                KC_SPC,                         KC_RALT,    KC_RCTL,   KC_LEFT,  KC_DOWN,  KC_RGHT,   KC_P0,   KC_PDOT, KC_PENT,   KC_PGDN), +    KC_ESC,     KC_F1,   KC_F2,   KC_F3,   KC_F4,      KC_F5,   KC_F6,   KC_F7,   KC_F8,      KC_F9,   KC_F10,  KC_F11,  KC_F12,           KC_DEL,  KC_HOME, KC_INS,  KC_END,  KC_PGUP, KC_MUTE, KC_PGDN, +    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,          KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, +    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,          KC_P7,   KC_P8,   KC_P9, +    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,           KC_P4,   KC_P5,   KC_P6,   KC_PPLS, +    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,     KC_UP,        KC_P1,   KC_P2,   KC_P3, +    KC_LCTL, KC_LGUI, KC_LALT, MO(1),                     KC_SPC,                             KC_RALT, KC_RCTL,     KC_LEFT, KC_DOWN, KC_RGHT,      KC_P0,   KC_PDOT, KC_PENT),  [_FN] = LAYOUT( -	KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,     RGB_VAI,  KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS,  -	KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                     RGB_TOG,  RGB_MOD,    RGB_HUI, RGB_VAD, RGB_HUD,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS), +    KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,     RGB_VAI,      KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            RGB_TOG, RGB_MOD,     RGB_HUI, RGB_VAD, RGB_HUD,      KC_TRNS, KC_TRNS, KC_TRNS),  [_FN1] = LAYOUT( -	KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS, -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    -	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,        KC_TRNS,     KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS, -	KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                     KC_TRNS,                     KC_TRNS,  KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS,   KC_TRNS) -	 -}; - -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = ENCODERS_CW_KEY; -static keypos_t encoder_ccw[ENCODERS] = ENCODERS_CCW_KEY; - -void encoder_action_unregister(void) { -    for (int index = 0; index < ENCODERS; ++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() | 1) -            }; -            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() | 1) -    }; -    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); -    action_exec(encoder_event); -} - -void matrix_scan_user(void) { -    encoder_action_unregister(); -} +    KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS,     KC_TRNS,      KC_TRNS, KC_TRNS, KC_TRNS, +    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                            KC_TRNS, KC_TRNS,     KC_TRNS, KC_TRNS, KC_TRNS,      KC_TRNS, KC_TRNS, KC_TRNS) -bool encoder_update_user(uint8_t index, bool clockwise) { -    encoder_action_register(index, clockwise); -    return true;  }; | 
