From 85d31004e232e4eba25222c6a12ae50df72d1b03 Mon Sep 17 00:00:00 2001 From: Arthur Date: Sun, 15 Feb 2026 21:02:29 +0400 Subject: [PATCH 01/20] Add keyboard keynet --- keyboards/keynet/info.json | 31 + keyboards/keynet/keymaps/default/keymap.c | 997 ++++++++++++++++++++++ keyboards/keynet/readme.md | 30 + keyboards/keynet/rev1/config.h | 51 ++ keyboards/keynet/rev1/keyboard.json | 104 +++ keyboards/keynet/rev1/rev1.c | 44 + keyboards/keynet/rev1/rules.mk | 23 + 7 files changed, 1280 insertions(+) create mode 100644 keyboards/keynet/info.json create mode 100644 keyboards/keynet/keymaps/default/keymap.c create mode 100644 keyboards/keynet/readme.md create mode 100644 keyboards/keynet/rev1/config.h create mode 100644 keyboards/keynet/rev1/keyboard.json create mode 100644 keyboards/keynet/rev1/rev1.c create mode 100644 keyboards/keynet/rev1/rules.mk diff --git a/keyboards/keynet/info.json b/keyboards/keynet/info.json new file mode 100644 index 000000000000..897743e3aae6 --- /dev/null +++ b/keyboards/keynet/info.json @@ -0,0 +1,31 @@ +{ + "manufacturer": "Arthur Frangyan", + "url": "", + "maintainer": "Arthur Frangyan", + "usb": { + "vid": "0xFEED" + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "F6", + "pin_b": "F5", + "resolution": 2 + } + ] + } + } + }, + "encoder": { + "rotary": [ + { + "pin_a": "B3", + "pin_b": "F7", + "resolution": 2 + } + ] + } +} \ No newline at end of file diff --git a/keyboards/keynet/keymaps/default/keymap.c b/keyboards/keynet/keymaps/default/keymap.c new file mode 100644 index 000000000000..083b8162bcd9 --- /dev/null +++ b/keyboards/keynet/keymaps/default/keymap.c @@ -0,0 +1,997 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +enum layers { + _QWERTY, + _GEMINI, + _GAME_R, // qwerty without mod-tap + _GAME, + _GAME_2, + _GAME_N, //numpad left hand + _BRUSH, + _NUMPAD, + _LOWER, + _RAISE, + _ADJUST, + _MENU, + _RREZ, + _FN +}; +bool menu_R = false; +uint8_t _PAD_index = _NUMPAD; +bool isSetOn = false; +#define buffMemory 10 +uint16_t SetKey[buffMemory]; +enum custom_keycodes { + QWERTY = SAFE_RANGE, + GEMINI, + GAME, + GAME_2, + GAME_N, //numpad left hand for game + GAME_R, // qwerty + BRUSH, + NUMPAD, + LOWER, + RAISE, + ADJUST, + LOWER_F, + RAISE_F, + MENU, + MENU_R, + GAME_X, + PAD, + M_F1, + M_F2, + M_F3, + MKC_00, + SET +}; +// #define SET MO(_SET) +#define GAME_R MO(_GAME_R) +#define C_BSPC C(KC_BSPC) +#define C_DEL C(KC_DEL) +#define C_DOWN C(KC_DOWN) +#define C_UP C(KC_UP) +#define C_RGHT C(KC_RGHT) +#define C_LEFT C(KC_LEFT) +#define A_DOWN A(KC_DOWN) +#define A_UP A(KC_UP) +#define A_RGHT A(KC_RGHT) +#define A_LEFT A(KC_LEFT) + +#define SPC_LOW LT(_LOWER, KC_SPC) +// #define ENT_SWP LT(_SWP_HND, KC_ENT) +// #define ENT_SWP LT(0, KC_ENT) +#define ENT_SWP SH_T(KC_ENT) +#define TAB_SET LT(0, KC_TAB) + +// #define RLOW_BSPC LT(_R_LOWER, KC_BSPC) +#define BSPC_LALT LALT_T(KC_BSPC) +#define TAB_ALT LALT_T(KC_TAB) + +#define SPC_REZ LT(_RAISE, KC_SPC) +#define SPC_RSFT RSFT_T(KC_SPC) +#define DEL_RSFT RSFT_T(KC_DEL) +#define BSPC_RREZ LT(_RREZ, KC_BSPC) +#define BSPC_REZ LT(_RAISE, KC_BSPC) + +#define F_ LSFT_T(KC_F) +#define D_ LCTL_T(KC_D) +#define S_ LALT_T(KC_S) +#define A_ LGUI_T(KC_A) +#define J_ RSFT_T(KC_J) +#define K_ RCTL_T(KC_K) +#define L_ RALT_T(KC_L) +#define SCLN_ RGUI_T(KC_SCLN) + +#define ESC_M_ LT(_MENU, KC_ESC) +#define QUOT_ LT(_MENU, KC_QUOT) +#define PENT_M LT(_MENU, KC_PENT) +#define BSPC_M LT(_MENU, KC_BSPC) + +#define V_ LT(_FN, KC_V) +#define Z_ LT(_ADJUST, KC_Z) +#define X_ LT(_RAISE, KC_X) +#define C_ LT(_LOWER, KC_C) +#define DOT_ LT(_RAISE, KC_DOT) +#define COMM_ LT(_LOWER, KC_COMM) + +// #define X_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT, KC_X) +// #define C_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT | MOD_LGUI, KC_C) +// #define DOT_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT, KC_DOT) +// #define COMM_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT | MOD_RGUI, KC_COMM) + +#define CngLngD S(KC_LALT)//LALT(KC_LSFT) +#define CngLngU RSFT(KC_LALT)//LALT(KC_RSFT) +#define CngLngG S(KC_LCTL) + + + +#define F__ LT(0, KC_F) +#define D__ LT(0, KC_D) +#define S__ LT(0, KC_S) +#define A__ LT(0, KC_A) +#define J__ LT(0, KC_J) +#define K__ LT(0, KC_K) +#define L__ LT(0, KC_L) +#define SCLN__ LT(0, KC_SCLN) + +void mod_modKey(uint8_t, uint8_t, bool, bool); +void modKey(uint8_t , uint8_t , bool); +bool pushSetKey(uint16_t); +bool popSetKey(uint16_t); +void normolizeMatrix(uint8_t* row, uint8_t* col); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MENU] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F, GAME_R, XXXXXXX, XXXXXXX, GAME_R, RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_2, XXXXXXX, _______, _______, XXXXXXX, GAME_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LALT, TAB_SET, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GEMINI] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, BSPC_M, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_RREZ] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, PENT_M, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, BSPC_RREZ,_______, KC_0, MKC_00, KC_PDOT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_NUMPAD] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU_R, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + // _______, _______, G(KC_A), A(KC_S), C(KC_D), S(KC_F), S(KC_G), RSFT(KC_H), RSFT(KC_J), RCTL(KC_K), RALT(KC_L), RGUI(KC_SCLN), _______, _______, + // _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, + + + [_FN] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, KC_MRWD, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_MSTP, KC_MPLY, KC_BRID, KC_BRIU, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_LSFT, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GAME] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_GAME_2] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_UP, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GAME_N] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_7, KC_8, KC_9, KC_T, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_4, KC_5, KC_6, KC_G, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_1, KC_2, KC_3, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_BRUSH] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_ADJUST] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GAME_R] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) + /* + [_SET] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬───────────┬───────────┬───────────┬──────────────┬──────────────┬──────────────┬────────┐ + _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ + _______, KC_TILD, G(KC_Q), A(KC_W), C(KC_E), S(KC_R), S(KC_T), _______, _______, RSFT(KC_Y), RSFT(KC_U), RCTL(KC_I), RALT(KC_O), RGUI(KC_P), _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ + _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ + _______, _______, G(KC_Z), A(KC_X), C(KC_C), S(KC_V), S(KC_B), _______, _______, _______, _______, RSFT(KC_M), RSFT(KC_M), RCTL(KC_COMM),RALT(KC_DOT),RGUI(KC_SLSH), _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┬──┴─────┬─────┴──┬────────┼──────────────┴──────────────┴──────────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ),*/ +/* [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, KC_BSLS, C_BSPC, C_DEL, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_COLN, KC_DQUO, KC_PIPE, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, KC_PIPE, KC_MINS, KC_PLUS, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, KC_LABK, KC_RABK, KC_QUES, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), +*/ +/* + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, U_LOWER, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_RSFT, KC_RALT, KC_RCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), +*/ + /* + [_GEMINI] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, XXXXXXX, XXXXXXX, STN_N6, STN_N7, STN_N8, STN_N9, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, XXXXXXX, XXXXXXX, STN_ST3, STN_FR, STN_BR, STN_LR, STN_TR, STN_DR, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, ESC_M_, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MENU, MENU_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, STN_A, STN_O, XXXXXXX, XXXXXXX, STN_E, STN_U, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ),*/ +/*//QWERTY + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LCTL, KC_LWIN, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_RALT, KC_RCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +*/ + /* + + [] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) + + [] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) + + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, 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_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_RALT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, KC_DEL, KC_DEL, _______, KC_P0 + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┐ ┌────────┐ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴─┬────────┼────────┤ ├────────┼────────┬─┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + */ +}; + +bool isSetKey(uint16_t); + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if(keycode == TAB_SET) + { + if(record->event.pressed) + { + if (!record->tap.count) { + isSetOn = true; + } + } + else + { + if (!record->tap.count) { + isSetOn = false; + } + } + return true; + } + else if(keycode == SET) + { + if(record->event.pressed) + { + isSetOn = true; + } + else + { + isSetOn = false; + } + return true; + } + if((isSetOn && record->event.pressed) || isSetKey(keycode)) + { + uint8_t modIndex; + uint8_t keyIndex = keycode; + + bool isKeyPressed = true; + bool isKeyComplicated = true; + + uint8_t col = record->event.key.col; + uint8_t row = record->event.key.row; + normolizeMatrix(&row, &col); + + switch (keycode) + { + case F_: + keyIndex = KC_F; + break; + case D_: + keyIndex = KC_D; + break; + case S_: + keyIndex = KC_S; + break; + case A_: + keyIndex = KC_A; + break; + case C_: + keyIndex = KC_C; + break; + case X_: + keyIndex = KC_X; + break; + case V_: + keyIndex = KC_V; + break; + + case J_: + keyIndex = KC_J; + break; + case K_: + keyIndex = KC_K; + break; + case L_: + keyIndex = KC_L; + break; + case SCLN_: + keyIndex = KC_SCLN; + break; + case COMM_: + keyIndex = KC_COMM; + break; + case DOT_: + keyIndex = KC_DOT; + break; + case ESC_M_: + keyIndex = (uint8_t)KC_ESC; + break; + default: + isKeyComplicated = false; + break; + } + if(row < 4) + { + switch (col) + { + case 0: + case 1: + case 2: + modIndex = KC_LWIN; + break; + case 3: + modIndex = KC_LALT; + break; + case 4: + modIndex = KC_LCTL; + break; + case 5: + case 6: + modIndex = KC_LSFT; + break; + default: + isKeyPressed = false; + break; + } + } + else if(row > 4 && row < 9) + { + switch (col) + { + case 0: + case 1: + case 2: + modIndex = KC_RWIN; + break; + case 3: + modIndex = KC_RALT; + break; + case 4: + modIndex = KC_RCTL; + break; + case 5: + case 6: + modIndex = KC_RSFT; + break; + default: + isKeyPressed = false; + break; + } + } + else + { + isKeyPressed = false; + } + if(isKeyPressed) + { + bool success; + if(record->event.pressed) + { + success = pushSetKey(keycode); + } + else + { + success = popSetKey(keycode); + } + if(success) + { + if((row == 2 || row == 7) && col > 1 && col < 6 && isKeyComplicated) + { + // modKey(modIndex, keyIndex, record->event.pressed); + mod_modKey(modIndex, keyIndex, record->event.pressed, record->tap.count); + } + else + { + modKey(modIndex, keyIndex, record->event.pressed); + } + return false; + } + } + } + switch (keycode) { + case MKC_00: + if (record->event.pressed) { + tap_code(KC_0); + tap_code(KC_0); + } + return false; + case QWERTY: + if (record->event.pressed) { + _PAD_index = _NUMPAD; + set_single_persistent_default_layer(_QWERTY); + layer_clear(); + } + return false; + case GEMINI: + if (record->event.pressed) { + // set_single_persistent_default_layer(_GEMINI); + + layer_move(_GEMINI); + } + return false; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + // layer_off(_SWP_HND); + } + return false; + case SPC_LOW: + case C_: + case COMM_: + if(record->event.pressed) + { + if (!record->tap.count) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_LOWER); + } + } + else + { + if (!record->tap.count) { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_LOWER); + } + } + return true; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case SPC_REZ: + case BSPC_REZ: + case X_: + case DOT_: + if(record->event.pressed) + { + if (!record->tap.count) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_RAISE); + } + } + else + { + if (!record->tap.count) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_RAISE); + } + } + return true; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + case MENU: + if (record->event.pressed) { + layer_on(_MENU); + } + else{ + layer_off(_MENU); + } + return false; + case MENU_R: + if (record->event.pressed) { + layer_on(_MENU); + menu_R = true; + } + else{ + layer_off(_MENU); + menu_R = false; + } + return false; + case GAME: + if (record->event.pressed) { + _PAD_index = _GAME; + layer_move(_GAME); + } + return false; + case GAME_2: + if (record->event.pressed) { + _PAD_index = _GAME_2; + layer_move(_GAME_2); + } + return false; + case GAME_N: + if (record->event.pressed) { + layer_on(_GAME_N); + } else { + layer_off(_GAME_N); + } + return false; + case GAME_R: + if (record->event.pressed) { + layer_move(_GAME_R); + } + return false; + case NUMPAD: + if (record->event.pressed) { + layer_move(_NUMPAD); + } + return false; + case BRUSH: + if (record->event.pressed) { + layer_move(_BRUSH); + } + return false; + case LOWER_F: + if (record->event.pressed) { + layer_move(_LOWER); + } + return false; + case RAISE_F: + if (record->event.pressed) { + layer_move(_RAISE); + } + return false; + case PAD: + if (record->event.pressed) { + if (IS_LAYER_ON(_PAD_index)) + layer_off(_PAD_index); + else + layer_on(_PAD_index); + } + return false; + } + + // #ifdef CONSOLE_ENABLE + // print("KL:jjjj"); + // #endif + return true; +} + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (IS_LAYER_ON(_LOWER)) { + if (clockwise) { + tap_code(KC_UP); + } else { + tap_code(KC_DOWN); + } + } + else if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + } + else if (IS_LAYER_ON(_MENU) ) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else { + if (clockwise) { + tap_code(MS_WHLU); + } else { + tap_code(MS_WHLD); + } + } + } + else if (index == 1) { + if (IS_LAYER_ON(_LOWER)) { + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + /*else if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + }*/ + else if (IS_LAYER_ON(_MENU) ) { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + } + else { + if (clockwise) { + tap_code(MS_WHLR); + } else { + tap_code(MS_WHLL); + } + } + } + return false; +} + +#endif + +/*#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_SWP_HND] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME_N] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME_R] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_BRUSH] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NUMPAD] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_RAISE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_ADJUST] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +}; +#endif*/ +/*void matrix_init_user(void) { + // ... + steno_set_mode(STENO_MODE_GEMINI); +};*/ + +void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) +{ + if(isPressed) + { + if (isTapped) { + register_code(mod); + register_code(key); + } + else + { + register_code(mod); + } + } + else + { + if (isTapped) { + unregister_code(mod); + unregister_code(key); + } + else + { + unregister_code(mod); + } + } +} + +void modKey(uint8_t mod, uint8_t key, bool isPressed) +{ + if(isPressed) + { + register_code(mod); + register_code(key); + } + else + { + unregister_code(mod); + unregister_code(key); + } +} + +void normolizeMatrix(uint8_t* row, uint8_t* col) +{ + if(*row == 4 && *col == 7) + { + *row = 3; + *col = 8; + } + else if(*row == 9 && *col == 6) + { + *col = 8; + } + else if(*row == 4) + { + if(*col == 0 || *col == 1) + *col += 1; + *col += 2; + } + else if(*row == 9) + { + *col+=3; + } + +} +bool pushSetKey(uint16_t value) +{ + for (int i = 0; i < buffMemory; ++i) + { + if(SetKey[i] == 0) + { + SetKey[i] = value; + return true; + } + } + return false; +} + +bool popSetKey(uint16_t value) +{ + for (int i = 0; i < buffMemory; ++i) + { + if(SetKey[i] == value) + { + SetKey[i] = 0; + return true; + } + } + return false; +} + +bool isSetKey(uint16_t value) +{ + for (int i = 0; i < buffMemory; ++i) + { + if(SetKey[i] == value) + { + return true; + } + } + return false; +} \ No newline at end of file diff --git a/keyboards/keynet/readme.md b/keyboards/keynet/readme.md new file mode 100644 index 000000000000..fb4839cab8ea --- /dev/null +++ b/keyboards/keynet/readme.md @@ -0,0 +1,30 @@ +# keynet + +![keynet](https://i.imgur.com/SHSUUh8.jpeg) + +![keynet](https://i.imgur.com/XOig87S.jpeg) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [Arthur Frangyan](https://github.com/ArthurFrangyan) +* Hardware Supported: *The PCBs, controllers supported* +* Hardware Availability: *Links to where you can find this hardware* + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb keynet/rev1 -km default + +Flashing example for this keyboard for left and right sides: + + qmk flash -kb keynet/rev1 -km default -bl avrdude-split-left + qmk flash -kb keynet/rev1 -km default -bl avrdude-split-right + +See 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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keynet/rev1/config.h b/keyboards/keynet/rev1/config.h new file mode 100644 index 000000000000..bfba94296ccf --- /dev/null +++ b/keyboards/keynet/rev1/config.h @@ -0,0 +1,51 @@ +#pragma once + +// wiring of each half +/* +#define MATRIX_COL_PINS { F5, C6, B6, D7, E6, D0} +#define MATRIX_ROW_PINS { F4, F6, B1, B2, B5 } +#define MATRIX_COL_PINS_RIGHT { F7, D0, B1, D7, B2, D1} +#define MATRIX_ROW_PINS_RIGHT { C6, E6, B5, B3, B6 } +*/ +#define MATRIX_COL_PINS { F5, C6, B6, D7, E6, D0, B4, D1} +#define MATRIX_ROW_PINS { F4, F6, B1, B2, B5 } +#define MATRIX_COL_PINS_RIGHT { F7, D0, B1, D7, B2, D1, D4, B4} +#define MATRIX_ROW_PINS_RIGHT { C6, E6, B5, B3, B6 } + +#define SOFT_SERIAL_PIN D3 +#define EE_HANDS +#define SPLIT_USB_DETECT +#define SPLIT_USB_TIMEOUT 500 +#define SPLIT_WATCHDOG_ENABLE +#define SPLIT_WATCHDOG_TIMEOUT 800 + +// #define ENCODERS_PAD_A { B3 } +// #define ENCODERS_PAD_B { F7 } +// #define ENCODERS_PAD_A_RIGHT { F6 } +// #define ENCODERS_PAD_B_RIGHT { F5 } +// #define ENCODER_RESOLUTIONS { 2 } +// #define ENCODER_RESOLUTIONS_RIGHT { 2 } + + +// #define MASTER_RIGHT +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE +// #define FORCE_NKRO +/* ws2812 RGB LED */ +// #define RGB_DI_PIN D3 +// #define RGBLED_NUM 12 // Number of LEDs +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// #define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/keynet/rev1/keyboard.json b/keyboards/keynet/rev1/keyboard.json new file mode 100644 index 000000000000..12f33731959b --- /dev/null +++ b/keyboards/keynet/rev1/keyboard.json @@ -0,0 +1,104 @@ +{ + "keyboard_name": "Keynet", + "usb": { + "device_version": "1.0.0", + "pid": "0x6406" + }, + "processor": "atmega32u4", + "bootloader": "caterina", + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 0.85}, + {"matrix": [0, 2], "x": 2, "y": 0.65}, + {"matrix": [0, 3], "x": 3, "y": 0.15}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0.3}, + {"matrix": [0, 6], "x": 6, "y": 0.5}, + {"matrix": [0, 7], "x": 7, "y": 0.7}, + + {"matrix": [5, 7], "x": 11, "y": 0.7}, + {"matrix": [5, 6], "x": 12, "y": 0.5}, + {"matrix": [5, 5], "x": 13, "y": 0.3}, + {"matrix": [5, 4], "x": 14, "y": 0}, + {"matrix": [5, 3], "x": 15, "y": 0.15}, + {"matrix": [5, 2], "x": 16, "y": 0.65}, + {"matrix": [5, 1], "x": 17, "y": 0.85}, + {"matrix": [5, 0], "x": 18, "y": 1}, + + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 1.85}, + {"matrix": [1, 2], "x": 2, "y": 1.65}, + {"matrix": [1, 3], "x": 3, "y": 1.15}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1.3}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.7}, + + {"matrix": [6, 7], "x": 11, "y": 1.7}, + {"matrix": [6, 6], "x": 12, "y": 1.5}, + {"matrix": [6, 5], "x": 13, "y": 1.3}, + {"matrix": [6, 4], "x": 14, "y": 1}, + {"matrix": [6, 3], "x": 15, "y": 1.15}, + {"matrix": [6, 2], "x": 16, "y": 1.65}, + {"matrix": [6, 1], "x": 17, "y": 1.85}, + {"matrix": [6, 0], "x": 18, "y": 2}, + + + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 2.85}, + {"matrix": [2, 2], "x": 2, "y": 2.65}, + {"matrix": [2, 3], "x": 3, "y": 2.15}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2.3}, + {"matrix": [2, 6], "x": 6, "y": 2.5}, + + {"matrix": [7, 6], "x": 12, "y": 2.5}, + {"matrix": [7, 5], "x": 13, "y": 2.3}, + {"matrix": [7, 4], "x": 14, "y": 2}, + {"matrix": [7, 3], "x": 15, "y": 2.15}, + {"matrix": [7, 2], "x": 16, "y": 2.65}, + {"matrix": [7, 1], "x": 17, "y": 2.85}, + {"matrix": [7, 0], "x": 18, "y": 3}, + + + {"matrix": [3, 0], "x": 0, "y": 4}, + {"matrix": [3, 1], "x": 1, "y": 3.85}, + {"matrix": [3, 2], "x": 2, "y": 3.65}, + {"matrix": [3, 3], "x": 3, "y": 3.15}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3.3}, + {"matrix": [3, 6], "x": 6, "y": 3.5}, + {"matrix": [3, 7], "x": 7, "y": 3.7}, + {"matrix": [4, 7], "x": 8, "y": 3.7}, + + {"matrix": [9, 6], "x": 10, "y": 3.7}, + {"matrix": [8, 7], "x": 11, "y": 3.7}, + {"matrix": [8, 6], "x": 12, "y": 3.5}, + {"matrix": [8, 5], "x": 13, "y": 3.3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 3], "x": 15, "y": 3.15}, + {"matrix": [8, 2], "x": 16, "y": 3.65}, + {"matrix": [8, 1], "x": 17, "y": 3.85}, + {"matrix": [8, 0], "x": 18, "y": 4}, + + + {"matrix": [4, 0], "x": 3, "y": 4.15}, + {"matrix": [4, 1], "x": 4, "y": 4}, + {"matrix": [4, 3], "x": 5, "y": 4.3}, + {"matrix": [4, 4], "x": 6, "y": 4.5}, + {"matrix": [4, 5], "x": 7, "y": 4.7}, + {"matrix": [4, 6], "x": 8, "y": 4.95}, + + {"matrix": [9, 5], "x": 10, "y": 4.95}, + {"matrix": [9, 4], "x": 11, "y": 4.7}, + {"matrix": [9, 3], "x": 12, "y": 4.5}, + {"matrix": [9, 2], "x": 13, "y": 4.3}, + {"matrix": [9, 1], "x": 14, "y": 4}, + {"matrix": [9, 0], "x": 15, "y": 4.15} + ] + } + } +} diff --git a/keyboards/keynet/rev1/rev1.c b/keyboards/keynet/rev1/rev1.c new file mode 100644 index 000000000000..40049b3df643 --- /dev/null +++ b/keyboards/keynet/rev1/rev1.c @@ -0,0 +1,44 @@ +#include "quantum.h" + +#ifdef SWAP_HANDS_ENABLE +__attribute__ ((weak)) +// swap-hands action needs a matrix to define the swap +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + /* Left hand, matrix positions */ + {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}, {6,5}, {7,5}}, + {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}, {6,6}, {7,6}}, + {{0,7}, {1,7}, {2,7}, {3,7}, {4,7}, {5,7}, {6,7}, {7,7}}, + {{0,8}, {1,8}, {2,8}, {3,8}, {4,8}, {5,8}, {6,8}, {7,8}}, + {{0,9}, {1,9}, {7,9}, {2,9}, {3,9}, {4,9}, {5,9}, {6,9}}, + /* Right hand, matrix positions */ + {{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}, {6,0}, {7,0}}, + {{0,1}, {1,1}, {2,1}, {3,1}, {4,1}, {5,1}, {6,1}, {7,1}}, + {{0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {5,2}, {6,2}, {7,2}}, + {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}}, + {{0,4}, {1,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {1,4}}, +}; +#endif + +/* +#define ___ KC_NO +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, L07, R57, R56, R55, R54, R53, R52, R51, R50,\ + L10, L11, L12, L13, L14, L15, L16, L17, R67, R66, R65, R64, R63, R62, R61, R60,\ + L20, L21, L22, L23, L24, L25, L26, R76, R75, R74, R73, R72, R71, R70,\ + L30, L31, L32, L33, L34, L35, L36, E37, L47, R96, E87, R86, R85, R84, R83, R82, R81, R80,\ + L40, L41, L43, L44, L45, L46, R95, R94, R93, R92, R91, R90\ + ) \ + { \ + { L00, L01, L02, L03, L04, L05, L06, L07 }, \ + { L10, L11, L12, L13, L14, L15, L16, L17 }, \ + { L20, L21, L22, L23, L24, L25, L26, ___ }, \ + { L30, L31, L32, L33, L34, L35, L36, E37 }, \ + { L40, L41, ___, L43, L44, L45, L46, L47 }, \ + \ + { R50, R51, R52, R53, R54, R55, R56, R57 },\ + { R60, R61, R62, R63, R64, R65, R66, R67 }, \ + { R70, R71, R72, R73, R74, R75, R76, ___ }, \ + { R80, R81, R82, R83, R84, R85, R86, E87 }, \ + { R90, R91, R92, R93, R94, R95, R96, ___ } \ + } +*/ \ No newline at end of file diff --git a/keyboards/keynet/rev1/rules.mk b/keyboards/keynet/rev1/rules.mk new file mode 100644 index 000000000000..aea56730f085 --- /dev/null +++ b/keyboards/keynet/rev1/rules.mk @@ -0,0 +1,23 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes # Audio control and System control +# CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +AUDIO_ENABLE = no # Audio output +# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +SERIAL_DRIVER = bitbang +ENCODER_ENABLE = yes +MOUSEKEY_ENABLE = yes +# ENCODER_MAP_ENABLE = yes + +# STENO_ENABLE = yes +# STENO_PROTOCOL = geminipr +NKRO_ENABLE = yes # Enable N-Key Rollover +VIRTSER_ENABLE = yes +FORCE_NKRO = yes +KEYBOARD_SHARED_EP = yes + +SWAP_HANDS_ENABLE = yes From 34f5f08a73e6f1b59890965783e80e81715b14e5 Mon Sep 17 00:00:00 2001 From: Arthur Date: Sun, 15 Feb 2026 21:29:27 +0400 Subject: [PATCH 02/20] Update keyboard keynet --- keyboards/keynet/rev1/config.h | 36 +++++++++++++---------------- keyboards/keynet/rev1/keyboard.json | 27 +++++++++++++++++++++- keyboards/keynet/rev1/rev1.c | 16 +++++++++++++ 3 files changed, 58 insertions(+), 21 deletions(-) diff --git a/keyboards/keynet/rev1/config.h b/keyboards/keynet/rev1/config.h index bfba94296ccf..ed715d2a280f 100644 --- a/keyboards/keynet/rev1/config.h +++ b/keyboards/keynet/rev1/config.h @@ -1,23 +1,22 @@ -#pragma once +/* Copyright 2026 Arthur Frangyan + * + * 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 . + */ -// wiring of each half -/* -#define MATRIX_COL_PINS { F5, C6, B6, D7, E6, D0} -#define MATRIX_ROW_PINS { F4, F6, B1, B2, B5 } -#define MATRIX_COL_PINS_RIGHT { F7, D0, B1, D7, B2, D1} -#define MATRIX_ROW_PINS_RIGHT { C6, E6, B5, B3, B6 } -*/ -#define MATRIX_COL_PINS { F5, C6, B6, D7, E6, D0, B4, D1} -#define MATRIX_ROW_PINS { F4, F6, B1, B2, B5 } -#define MATRIX_COL_PINS_RIGHT { F7, D0, B1, D7, B2, D1, D4, B4} -#define MATRIX_ROW_PINS_RIGHT { C6, E6, B5, B3, B6 } +#pragma once -#define SOFT_SERIAL_PIN D3 #define EE_HANDS -#define SPLIT_USB_DETECT -#define SPLIT_USB_TIMEOUT 500 -#define SPLIT_WATCHDOG_ENABLE -#define SPLIT_WATCHDOG_TIMEOUT 800 // #define ENCODERS_PAD_A { B3 } // #define ENCODERS_PAD_B { F7 } @@ -28,9 +27,6 @@ // #define MASTER_RIGHT -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/keynet/rev1/keyboard.json b/keyboards/keynet/rev1/keyboard.json index 12f33731959b..89612652bc28 100644 --- a/keyboards/keynet/rev1/keyboard.json +++ b/keyboards/keynet/rev1/keyboard.json @@ -6,6 +6,31 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "matrix_pins": { + "cols": ["F5", "C6", "B6", "D7", "E6", "D0", "B4", "D1"], + "rows": ["F4", "F6", "B1", "B2", "B5"] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "serial": { + "pin": "D3" + }, + "transport": { + "watchdog": true, + "watchdog_timeout": 800 + }, + "usb_detect": { + "enabled": true, + "timeout": 500 + }, + "matrix_pins": { + "right": { + "cols": ["F7", "D0", "B1", "D7", "B2", "D1", "D4", "B4"], + "rows": ["C6", "E6", "B5", "B3", "B6"] + } + } + }, "layouts": { "LAYOUT": { "layout": [ @@ -101,4 +126,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keynet/rev1/rev1.c b/keyboards/keynet/rev1/rev1.c index 40049b3df643..213e276bb9e2 100644 --- a/keyboards/keynet/rev1/rev1.c +++ b/keyboards/keynet/rev1/rev1.c @@ -1,3 +1,19 @@ +/* Copyright 2026 Arthur Frangyan + * + * 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 . + */ + #include "quantum.h" #ifdef SWAP_HANDS_ENABLE From b2a7c30aee899b8ccfd70bf60bfcdb611a52f764 Mon Sep 17 00:00:00 2001 From: Arthur Date: Sun, 15 Feb 2026 22:07:58 +0400 Subject: [PATCH 03/20] update readme - keynet --- keyboards/keynet/readme.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/keyboards/keynet/readme.md b/keyboards/keynet/readme.md index fb4839cab8ea..3c8a3cdd8c9b 100644 --- a/keyboards/keynet/readme.md +++ b/keyboards/keynet/readme.md @@ -1,14 +1,13 @@ -# keynet +# KeyNet ![keynet](https://i.imgur.com/SHSUUh8.jpeg) ![keynet](https://i.imgur.com/XOig87S.jpeg) -*A short description of the keyboard/project* +Keynet is a split, ortholinear (column-staggered) keyboard powered by an Atmega32u4 microcontroller. It uses the Caterina bootloader and features support for rotary encoders, mouse keys, and NKRO. The firmware is configured for a split matrix layout with a custom hand-swap configuration. * Keyboard Maintainer: [Arthur Frangyan](https://github.com/ArthurFrangyan) -* Hardware Supported: *The PCBs, controllers supported* -* Hardware Availability: *Links to where you can find this hardware* +* Addtional Information: [Github](https://github.com/ArthurFrangyan/KeyNet) Make example for this keyboard (after setting up your build environment): @@ -23,8 +22,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -Enter the bootloader in 3 ways: +Enter the bootloader in 2 ways: -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Keycode in layout**: Press the key mapped to `QK_BOOT`, Menu + (0,0) key +* **Physical reset button**: A small hole on the front of the keyboard provides access to the reset (RST) contact. Touching it with a conductive object such as a needle or SIM ejector tool while holding the object is enough to trigger a reset. From bb3d109b3dfa8784b3d9312a28181d0904622070 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 24 Feb 2026 18:39:30 +0400 Subject: [PATCH 04/20] Change Location of keyboard Keynet to handwired --- keyboards/{ => handwired}/keynet/info.json | 0 keyboards/{ => handwired}/keynet/keymaps/default/keymap.c | 0 keyboards/{ => handwired}/keynet/readme.md | 0 keyboards/{ => handwired}/keynet/rev1/config.h | 0 keyboards/{ => handwired}/keynet/rev1/keyboard.json | 0 keyboards/{ => handwired}/keynet/rev1/rev1.c | 0 keyboards/{ => handwired}/keynet/rev1/rules.mk | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename keyboards/{ => handwired}/keynet/info.json (100%) rename keyboards/{ => handwired}/keynet/keymaps/default/keymap.c (100%) rename keyboards/{ => handwired}/keynet/readme.md (100%) rename keyboards/{ => handwired}/keynet/rev1/config.h (100%) rename keyboards/{ => handwired}/keynet/rev1/keyboard.json (100%) rename keyboards/{ => handwired}/keynet/rev1/rev1.c (100%) rename keyboards/{ => handwired}/keynet/rev1/rules.mk (100%) diff --git a/keyboards/keynet/info.json b/keyboards/handwired/keynet/info.json similarity index 100% rename from keyboards/keynet/info.json rename to keyboards/handwired/keynet/info.json diff --git a/keyboards/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c similarity index 100% rename from keyboards/keynet/keymaps/default/keymap.c rename to keyboards/handwired/keynet/keymaps/default/keymap.c diff --git a/keyboards/keynet/readme.md b/keyboards/handwired/keynet/readme.md similarity index 100% rename from keyboards/keynet/readme.md rename to keyboards/handwired/keynet/readme.md diff --git a/keyboards/keynet/rev1/config.h b/keyboards/handwired/keynet/rev1/config.h similarity index 100% rename from keyboards/keynet/rev1/config.h rename to keyboards/handwired/keynet/rev1/config.h diff --git a/keyboards/keynet/rev1/keyboard.json b/keyboards/handwired/keynet/rev1/keyboard.json similarity index 100% rename from keyboards/keynet/rev1/keyboard.json rename to keyboards/handwired/keynet/rev1/keyboard.json diff --git a/keyboards/keynet/rev1/rev1.c b/keyboards/handwired/keynet/rev1/rev1.c similarity index 100% rename from keyboards/keynet/rev1/rev1.c rename to keyboards/handwired/keynet/rev1/rev1.c diff --git a/keyboards/keynet/rev1/rules.mk b/keyboards/handwired/keynet/rev1/rules.mk similarity index 100% rename from keyboards/keynet/rev1/rules.mk rename to keyboards/handwired/keynet/rev1/rules.mk From f2b1c6297f24a458f2de2266725eef1bcadc5b89 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 24 Feb 2026 20:34:32 +0400 Subject: [PATCH 05/20] Move keymap.c to max/keymap.c , Create pristine default keymap.c, --- .../handwired/keynet/keymaps/default/keymap.c | 984 +---------------- .../handwired/keynet/keymaps/max/keymap.c | 997 ++++++++++++++++++ 2 files changed, 1003 insertions(+), 978 deletions(-) create mode 100644 keyboards/handwired/keynet/keymaps/max/keymap.c diff --git a/keyboards/handwired/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c index 083b8162bcd9..ec0529ca7136 100644 --- a/keyboards/handwired/keynet/keymaps/default/keymap.c +++ b/keyboards/handwired/keynet/keymaps/default/keymap.c @@ -5,993 +5,21 @@ enum layers { - _QWERTY, - _GEMINI, - _GAME_R, // qwerty without mod-tap - _GAME, - _GAME_2, - _GAME_N, //numpad left hand - _BRUSH, - _NUMPAD, - _LOWER, - _RAISE, - _ADJUST, - _MENU, - _RREZ, - _FN + _QWERTY }; -bool menu_R = false; -uint8_t _PAD_index = _NUMPAD; -bool isSetOn = false; -#define buffMemory 10 -uint16_t SetKey[buffMemory]; -enum custom_keycodes { - QWERTY = SAFE_RANGE, - GEMINI, - GAME, - GAME_2, - GAME_N, //numpad left hand for game - GAME_R, // qwerty - BRUSH, - NUMPAD, - LOWER, - RAISE, - ADJUST, - LOWER_F, - RAISE_F, - MENU, - MENU_R, - GAME_X, - PAD, - M_F1, - M_F2, - M_F3, - MKC_00, - SET -}; -// #define SET MO(_SET) -#define GAME_R MO(_GAME_R) -#define C_BSPC C(KC_BSPC) -#define C_DEL C(KC_DEL) -#define C_DOWN C(KC_DOWN) -#define C_UP C(KC_UP) -#define C_RGHT C(KC_RGHT) -#define C_LEFT C(KC_LEFT) -#define A_DOWN A(KC_DOWN) -#define A_UP A(KC_UP) -#define A_RGHT A(KC_RGHT) -#define A_LEFT A(KC_LEFT) - -#define SPC_LOW LT(_LOWER, KC_SPC) -// #define ENT_SWP LT(_SWP_HND, KC_ENT) -// #define ENT_SWP LT(0, KC_ENT) -#define ENT_SWP SH_T(KC_ENT) -#define TAB_SET LT(0, KC_TAB) - -// #define RLOW_BSPC LT(_R_LOWER, KC_BSPC) -#define BSPC_LALT LALT_T(KC_BSPC) -#define TAB_ALT LALT_T(KC_TAB) - -#define SPC_REZ LT(_RAISE, KC_SPC) -#define SPC_RSFT RSFT_T(KC_SPC) -#define DEL_RSFT RSFT_T(KC_DEL) -#define BSPC_RREZ LT(_RREZ, KC_BSPC) -#define BSPC_REZ LT(_RAISE, KC_BSPC) - -#define F_ LSFT_T(KC_F) -#define D_ LCTL_T(KC_D) -#define S_ LALT_T(KC_S) -#define A_ LGUI_T(KC_A) -#define J_ RSFT_T(KC_J) -#define K_ RCTL_T(KC_K) -#define L_ RALT_T(KC_L) -#define SCLN_ RGUI_T(KC_SCLN) - -#define ESC_M_ LT(_MENU, KC_ESC) -#define QUOT_ LT(_MENU, KC_QUOT) -#define PENT_M LT(_MENU, KC_PENT) -#define BSPC_M LT(_MENU, KC_BSPC) - -#define V_ LT(_FN, KC_V) -#define Z_ LT(_ADJUST, KC_Z) -#define X_ LT(_RAISE, KC_X) -#define C_ LT(_LOWER, KC_C) -#define DOT_ LT(_RAISE, KC_DOT) -#define COMM_ LT(_LOWER, KC_COMM) - -// #define X_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT, KC_X) -// #define C_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT | MOD_LGUI, KC_C) -// #define DOT_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT, KC_DOT) -// #define COMM_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT | MOD_RGUI, KC_COMM) - -#define CngLngD S(KC_LALT)//LALT(KC_LSFT) -#define CngLngU RSFT(KC_LALT)//LALT(KC_RSFT) -#define CngLngG S(KC_LCTL) - - - -#define F__ LT(0, KC_F) -#define D__ LT(0, KC_D) -#define S__ LT(0, KC_S) -#define A__ LT(0, KC_A) -#define J__ LT(0, KC_J) -#define K__ LT(0, KC_K) -#define L__ LT(0, KC_L) -#define SCLN__ LT(0, KC_SCLN) - -void mod_modKey(uint8_t, uint8_t, bool, bool); -void modKey(uint8_t , uint8_t , bool); -bool pushSetKey(uint16_t); -bool popSetKey(uint16_t); -void normolizeMatrix(uint8_t* row, uint8_t* col); const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_MENU] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F, GAME_R, XXXXXXX, XXXXXXX, GAME_R, RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_2, XXXXXXX, _______, _______, XXXXXXX, GAME_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), [_QWERTY] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LALT, TAB_SET, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GEMINI] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, BSPC_M, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_RREZ] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_LOWER] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, PENT_M, _______, + KC_DEL, 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_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, BSPC_RREZ,_______, KC_0, MKC_00, KC_PDOT - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_NUMPAD] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU_R, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - // _______, _______, G(KC_A), A(KC_S), C(KC_D), S(KC_F), S(KC_G), RSFT(KC_H), RSFT(KC_J), RCTL(KC_K), RALT(KC_L), RGUI(KC_SCLN), _______, _______, - // _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, - - - [_FN] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, KC_MRWD, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_MSTP, KC_MPLY, KC_BRID, KC_BRIU, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_LSFT, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GAME] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_GAME_2] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_UP, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GAME_N] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_7, KC_8, KC_9, KC_T, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_4, KC_5, KC_6, KC_G, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_1, KC_2, KC_3, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_BRUSH] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_ADJUST] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GAME_R] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) - /* - [_SET] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬───────────┬───────────┬───────────┬──────────────┬──────────────┬──────────────┬────────┐ - _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ - _______, KC_TILD, G(KC_Q), A(KC_W), C(KC_E), S(KC_R), S(KC_T), _______, _______, RSFT(KC_Y), RSFT(KC_U), RCTL(KC_I), RALT(KC_O), RGUI(KC_P), _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ - _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ - _______, _______, G(KC_Z), A(KC_X), C(KC_C), S(KC_V), S(KC_B), _______, _______, _______, _______, RSFT(KC_M), RSFT(KC_M), RCTL(KC_COMM),RALT(KC_DOT),RGUI(KC_SLSH), _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┬──┴─────┬─────┴──┬────────┼──────────────┴──────────────┴──────────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ),*/ -/* [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, KC_BSLS, C_BSPC, C_DEL, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_COLN, KC_DQUO, KC_PIPE, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, KC_PIPE, KC_MINS, KC_PLUS, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, KC_LABK, KC_RABK, KC_QUES, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), -*/ -/* - [_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, U_LOWER, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_RSFT, KC_RALT, KC_RCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), -*/ - /* - [_GEMINI] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, XXXXXXX, XXXXXXX, STN_N6, STN_N7, STN_N8, STN_N9, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, XXXXXXX, XXXXXXX, STN_ST3, STN_FR, STN_BR, STN_LR, STN_TR, STN_DR, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, ESC_M_, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MENU, MENU_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, STN_A, STN_O, XXXXXXX, XXXXXXX, STN_E, STN_U, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ),*/ -/*//QWERTY - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LCTL, KC_LWIN, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_RALT, KC_RCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ -*/ - /* - - [] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┼────────┼────────┼─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LALT, KC_TAB, KC_SPC, KC_ENT, XXXXXXX, KC_ENT, KC_BSPC, KC_SPC, KC_DEL, KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) - - [] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) - - [_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, 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_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_RALT - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_LOWER] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, KC_DEL, KC_DEL, _______, KC_P0 - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┐ ┌────────┐ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴─┬────────┼────────┤ ├────────┼────────┬─┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - */ -}; - -bool isSetKey(uint16_t); - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(keycode == TAB_SET) - { - if(record->event.pressed) - { - if (!record->tap.count) { - isSetOn = true; - } - } - else - { - if (!record->tap.count) { - isSetOn = false; - } - } - return true; - } - else if(keycode == SET) - { - if(record->event.pressed) - { - isSetOn = true; - } - else - { - isSetOn = false; - } - return true; - } - if((isSetOn && record->event.pressed) || isSetKey(keycode)) - { - uint8_t modIndex; - uint8_t keyIndex = keycode; - - bool isKeyPressed = true; - bool isKeyComplicated = true; - - uint8_t col = record->event.key.col; - uint8_t row = record->event.key.row; - normolizeMatrix(&row, &col); - - switch (keycode) - { - case F_: - keyIndex = KC_F; - break; - case D_: - keyIndex = KC_D; - break; - case S_: - keyIndex = KC_S; - break; - case A_: - keyIndex = KC_A; - break; - case C_: - keyIndex = KC_C; - break; - case X_: - keyIndex = KC_X; - break; - case V_: - keyIndex = KC_V; - break; - - case J_: - keyIndex = KC_J; - break; - case K_: - keyIndex = KC_K; - break; - case L_: - keyIndex = KC_L; - break; - case SCLN_: - keyIndex = KC_SCLN; - break; - case COMM_: - keyIndex = KC_COMM; - break; - case DOT_: - keyIndex = KC_DOT; - break; - case ESC_M_: - keyIndex = (uint8_t)KC_ESC; - break; - default: - isKeyComplicated = false; - break; - } - if(row < 4) - { - switch (col) - { - case 0: - case 1: - case 2: - modIndex = KC_LWIN; - break; - case 3: - modIndex = KC_LALT; - break; - case 4: - modIndex = KC_LCTL; - break; - case 5: - case 6: - modIndex = KC_LSFT; - break; - default: - isKeyPressed = false; - break; - } - } - else if(row > 4 && row < 9) - { - switch (col) - { - case 0: - case 1: - case 2: - modIndex = KC_RWIN; - break; - case 3: - modIndex = KC_RALT; - break; - case 4: - modIndex = KC_RCTL; - break; - case 5: - case 6: - modIndex = KC_RSFT; - break; - default: - isKeyPressed = false; - break; - } - } - else - { - isKeyPressed = false; - } - if(isKeyPressed) - { - bool success; - if(record->event.pressed) - { - success = pushSetKey(keycode); - } - else - { - success = popSetKey(keycode); - } - if(success) - { - if((row == 2 || row == 7) && col > 1 && col < 6 && isKeyComplicated) - { - // modKey(modIndex, keyIndex, record->event.pressed); - mod_modKey(modIndex, keyIndex, record->event.pressed, record->tap.count); - } - else - { - modKey(modIndex, keyIndex, record->event.pressed); - } - return false; - } - } - } - switch (keycode) { - case MKC_00: - if (record->event.pressed) { - tap_code(KC_0); - tap_code(KC_0); - } - return false; - case QWERTY: - if (record->event.pressed) { - _PAD_index = _NUMPAD; - set_single_persistent_default_layer(_QWERTY); - layer_clear(); - } - return false; - case GEMINI: - if (record->event.pressed) { - // set_single_persistent_default_layer(_GEMINI); - - layer_move(_GEMINI); - } - return false; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - // layer_off(_SWP_HND); - } - return false; - case SPC_LOW: - case C_: - case COMM_: - if(record->event.pressed) - { - if (!record->tap.count) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - layer_off(_LOWER); - } - } - else - { - if (!record->tap.count) { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - layer_off(_LOWER); - } - } - return true; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - case SPC_REZ: - case BSPC_REZ: - case X_: - case DOT_: - if(record->event.pressed) - { - if (!record->tap.count) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - layer_off(_RAISE); - } - } - else - { - if (!record->tap.count) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - layer_off(_RAISE); - } - } - return true; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case MENU: - if (record->event.pressed) { - layer_on(_MENU); - } - else{ - layer_off(_MENU); - } - return false; - case MENU_R: - if (record->event.pressed) { - layer_on(_MENU); - menu_R = true; - } - else{ - layer_off(_MENU); - menu_R = false; - } - return false; - case GAME: - if (record->event.pressed) { - _PAD_index = _GAME; - layer_move(_GAME); - } - return false; - case GAME_2: - if (record->event.pressed) { - _PAD_index = _GAME_2; - layer_move(_GAME_2); - } - return false; - case GAME_N: - if (record->event.pressed) { - layer_on(_GAME_N); - } else { - layer_off(_GAME_N); - } - return false; - case GAME_R: - if (record->event.pressed) { - layer_move(_GAME_R); - } - return false; - case NUMPAD: - if (record->event.pressed) { - layer_move(_NUMPAD); - } - return false; - case BRUSH: - if (record->event.pressed) { - layer_move(_BRUSH); - } - return false; - case LOWER_F: - if (record->event.pressed) { - layer_move(_LOWER); - } - return false; - case RAISE_F: - if (record->event.pressed) { - layer_move(_RAISE); - } - return false; - case PAD: - if (record->event.pressed) { - if (IS_LAYER_ON(_PAD_index)) - layer_off(_PAD_index); - else - layer_on(_PAD_index); - } - return false; - } - - // #ifdef CONSOLE_ENABLE - // print("KL:jjjj"); - // #endif - return true; -} - -#ifdef ENCODER_ENABLE - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (IS_LAYER_ON(_LOWER)) { - if (clockwise) { - tap_code(KC_UP); - } else { - tap_code(KC_DOWN); - } - } - else if (IS_LAYER_ON(_RAISE)) { - if (clockwise) { - tap_code(KC_BRIU); - } else { - tap_code(KC_BRID); - } - } - else if (IS_LAYER_ON(_MENU) ) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - else { - if (clockwise) { - tap_code(MS_WHLU); - } else { - tap_code(MS_WHLD); - } - } - } - else if (index == 1) { - if (IS_LAYER_ON(_LOWER)) { - if (clockwise) { - tap_code(KC_RIGHT); - } else { - tap_code(KC_LEFT); - } - } - /*else if (IS_LAYER_ON(_RAISE)) { - if (clockwise) { - tap_code(KC_BRIU); - } else { - tap_code(KC_BRID); - } - }*/ - else if (IS_LAYER_ON(_MENU) ) { - if (clockwise) { - tap_code(KC_BRIU); - } else { - tap_code(KC_BRID); - } - } - else { - if (clockwise) { - tap_code(MS_WHLR); - } else { - tap_code(MS_WHLL); - } - } - } - return false; -} - -#endif - -/*#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_GAME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SWP_HND] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_GAME_N] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_GAME_R] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_BRUSH] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUMPAD] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_LOWER] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_RAISE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_ADJUST] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, }; -#endif*/ -/*void matrix_init_user(void) { - // ... - steno_set_mode(STENO_MODE_GEMINI); -};*/ - -void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) -{ - if(isPressed) - { - if (isTapped) { - register_code(mod); - register_code(key); - } - else - { - register_code(mod); - } - } - else - { - if (isTapped) { - unregister_code(mod); - unregister_code(key); - } - else - { - unregister_code(mod); - } - } -} - -void modKey(uint8_t mod, uint8_t key, bool isPressed) -{ - if(isPressed) - { - register_code(mod); - register_code(key); - } - else - { - unregister_code(mod); - unregister_code(key); - } -} - -void normolizeMatrix(uint8_t* row, uint8_t* col) -{ - if(*row == 4 && *col == 7) - { - *row = 3; - *col = 8; - } - else if(*row == 9 && *col == 6) - { - *col = 8; - } - else if(*row == 4) - { - if(*col == 0 || *col == 1) - *col += 1; - *col += 2; - } - else if(*row == 9) - { - *col+=3; - } - -} -bool pushSetKey(uint16_t value) -{ - for (int i = 0; i < buffMemory; ++i) - { - if(SetKey[i] == 0) - { - SetKey[i] = value; - return true; - } - } - return false; -} - -bool popSetKey(uint16_t value) -{ - for (int i = 0; i < buffMemory; ++i) - { - if(SetKey[i] == value) - { - SetKey[i] = 0; - return true; - } - } - return false; -} - -bool isSetKey(uint16_t value) -{ - for (int i = 0; i < buffMemory; ++i) - { - if(SetKey[i] == value) - { - return true; - } - } - return false; -} \ No newline at end of file diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c new file mode 100644 index 000000000000..083b8162bcd9 --- /dev/null +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -0,0 +1,997 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +enum layers { + _QWERTY, + _GEMINI, + _GAME_R, // qwerty without mod-tap + _GAME, + _GAME_2, + _GAME_N, //numpad left hand + _BRUSH, + _NUMPAD, + _LOWER, + _RAISE, + _ADJUST, + _MENU, + _RREZ, + _FN +}; +bool menu_R = false; +uint8_t _PAD_index = _NUMPAD; +bool isSetOn = false; +#define buffMemory 10 +uint16_t SetKey[buffMemory]; +enum custom_keycodes { + QWERTY = SAFE_RANGE, + GEMINI, + GAME, + GAME_2, + GAME_N, //numpad left hand for game + GAME_R, // qwerty + BRUSH, + NUMPAD, + LOWER, + RAISE, + ADJUST, + LOWER_F, + RAISE_F, + MENU, + MENU_R, + GAME_X, + PAD, + M_F1, + M_F2, + M_F3, + MKC_00, + SET +}; +// #define SET MO(_SET) +#define GAME_R MO(_GAME_R) +#define C_BSPC C(KC_BSPC) +#define C_DEL C(KC_DEL) +#define C_DOWN C(KC_DOWN) +#define C_UP C(KC_UP) +#define C_RGHT C(KC_RGHT) +#define C_LEFT C(KC_LEFT) +#define A_DOWN A(KC_DOWN) +#define A_UP A(KC_UP) +#define A_RGHT A(KC_RGHT) +#define A_LEFT A(KC_LEFT) + +#define SPC_LOW LT(_LOWER, KC_SPC) +// #define ENT_SWP LT(_SWP_HND, KC_ENT) +// #define ENT_SWP LT(0, KC_ENT) +#define ENT_SWP SH_T(KC_ENT) +#define TAB_SET LT(0, KC_TAB) + +// #define RLOW_BSPC LT(_R_LOWER, KC_BSPC) +#define BSPC_LALT LALT_T(KC_BSPC) +#define TAB_ALT LALT_T(KC_TAB) + +#define SPC_REZ LT(_RAISE, KC_SPC) +#define SPC_RSFT RSFT_T(KC_SPC) +#define DEL_RSFT RSFT_T(KC_DEL) +#define BSPC_RREZ LT(_RREZ, KC_BSPC) +#define BSPC_REZ LT(_RAISE, KC_BSPC) + +#define F_ LSFT_T(KC_F) +#define D_ LCTL_T(KC_D) +#define S_ LALT_T(KC_S) +#define A_ LGUI_T(KC_A) +#define J_ RSFT_T(KC_J) +#define K_ RCTL_T(KC_K) +#define L_ RALT_T(KC_L) +#define SCLN_ RGUI_T(KC_SCLN) + +#define ESC_M_ LT(_MENU, KC_ESC) +#define QUOT_ LT(_MENU, KC_QUOT) +#define PENT_M LT(_MENU, KC_PENT) +#define BSPC_M LT(_MENU, KC_BSPC) + +#define V_ LT(_FN, KC_V) +#define Z_ LT(_ADJUST, KC_Z) +#define X_ LT(_RAISE, KC_X) +#define C_ LT(_LOWER, KC_C) +#define DOT_ LT(_RAISE, KC_DOT) +#define COMM_ LT(_LOWER, KC_COMM) + +// #define X_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT, KC_X) +// #define C_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT | MOD_LGUI, KC_C) +// #define DOT_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT, KC_DOT) +// #define COMM_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT | MOD_RGUI, KC_COMM) + +#define CngLngD S(KC_LALT)//LALT(KC_LSFT) +#define CngLngU RSFT(KC_LALT)//LALT(KC_RSFT) +#define CngLngG S(KC_LCTL) + + + +#define F__ LT(0, KC_F) +#define D__ LT(0, KC_D) +#define S__ LT(0, KC_S) +#define A__ LT(0, KC_A) +#define J__ LT(0, KC_J) +#define K__ LT(0, KC_K) +#define L__ LT(0, KC_L) +#define SCLN__ LT(0, KC_SCLN) + +void mod_modKey(uint8_t, uint8_t, bool, bool); +void modKey(uint8_t , uint8_t , bool); +bool pushSetKey(uint16_t); +bool popSetKey(uint16_t); +void normolizeMatrix(uint8_t* row, uint8_t* col); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MENU] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F, GAME_R, XXXXXXX, XXXXXXX, GAME_R, RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_2, XXXXXXX, _______, _______, XXXXXXX, GAME_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LALT, TAB_SET, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GEMINI] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, BSPC_M, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_RREZ] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, PENT_M, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, BSPC_RREZ,_______, KC_0, MKC_00, KC_PDOT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_NUMPAD] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU_R, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + // _______, _______, G(KC_A), A(KC_S), C(KC_D), S(KC_F), S(KC_G), RSFT(KC_H), RSFT(KC_J), RCTL(KC_K), RALT(KC_L), RGUI(KC_SCLN), _______, _______, + // _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, + + + [_FN] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, KC_MRWD, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_MSTP, KC_MPLY, KC_BRID, KC_BRIU, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_LSFT, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GAME] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_GAME_2] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_UP, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GAME_N] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_7, KC_8, KC_9, KC_T, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_4, KC_5, KC_6, KC_G, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_1, KC_2, KC_3, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_BRUSH] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_ADJUST] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_GAME_R] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) + /* + [_SET] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬───────────┬───────────┬───────────┬──────────────┬──────────────┬──────────────┬────────┐ + _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ + _______, KC_TILD, G(KC_Q), A(KC_W), C(KC_E), S(KC_R), S(KC_T), _______, _______, RSFT(KC_Y), RSFT(KC_U), RCTL(KC_I), RALT(KC_O), RGUI(KC_P), _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ + _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ + _______, _______, G(KC_Z), A(KC_X), C(KC_C), S(KC_V), S(KC_B), _______, _______, _______, _______, RSFT(KC_M), RSFT(KC_M), RCTL(KC_COMM),RALT(KC_DOT),RGUI(KC_SLSH), _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┬──┴─────┬─────┴──┬────────┼──────────────┴──────────────┴──────────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ),*/ +/* [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, KC_BSLS, C_BSPC, C_DEL, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_COLN, KC_DQUO, KC_PIPE, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, KC_PIPE, KC_MINS, KC_PLUS, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, KC_LABK, KC_RABK, KC_QUES, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), +*/ +/* + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, U_LOWER, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_RSFT, KC_RALT, KC_RCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), +*/ + /* + [_GEMINI] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, XXXXXXX, XXXXXXX, STN_N6, STN_N7, STN_N8, STN_N9, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, XXXXXXX, XXXXXXX, STN_ST3, STN_FR, STN_BR, STN_LR, STN_TR, STN_DR, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, ESC_M_, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MENU, MENU_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, STN_A, STN_O, XXXXXXX, XXXXXXX, STN_E, STN_U, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ),*/ +/*//QWERTY + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LCTL, KC_LWIN, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_RALT, KC_RCTL + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +*/ + /* + + [] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) + + [] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) + + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, 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_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_RALT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, KC_DEL, KC_DEL, _______, KC_P0 + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, _______, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┐ ┌────────┐ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴─┬────────┼────────┤ ├────────┼────────┬─┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + */ +}; + +bool isSetKey(uint16_t); + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if(keycode == TAB_SET) + { + if(record->event.pressed) + { + if (!record->tap.count) { + isSetOn = true; + } + } + else + { + if (!record->tap.count) { + isSetOn = false; + } + } + return true; + } + else if(keycode == SET) + { + if(record->event.pressed) + { + isSetOn = true; + } + else + { + isSetOn = false; + } + return true; + } + if((isSetOn && record->event.pressed) || isSetKey(keycode)) + { + uint8_t modIndex; + uint8_t keyIndex = keycode; + + bool isKeyPressed = true; + bool isKeyComplicated = true; + + uint8_t col = record->event.key.col; + uint8_t row = record->event.key.row; + normolizeMatrix(&row, &col); + + switch (keycode) + { + case F_: + keyIndex = KC_F; + break; + case D_: + keyIndex = KC_D; + break; + case S_: + keyIndex = KC_S; + break; + case A_: + keyIndex = KC_A; + break; + case C_: + keyIndex = KC_C; + break; + case X_: + keyIndex = KC_X; + break; + case V_: + keyIndex = KC_V; + break; + + case J_: + keyIndex = KC_J; + break; + case K_: + keyIndex = KC_K; + break; + case L_: + keyIndex = KC_L; + break; + case SCLN_: + keyIndex = KC_SCLN; + break; + case COMM_: + keyIndex = KC_COMM; + break; + case DOT_: + keyIndex = KC_DOT; + break; + case ESC_M_: + keyIndex = (uint8_t)KC_ESC; + break; + default: + isKeyComplicated = false; + break; + } + if(row < 4) + { + switch (col) + { + case 0: + case 1: + case 2: + modIndex = KC_LWIN; + break; + case 3: + modIndex = KC_LALT; + break; + case 4: + modIndex = KC_LCTL; + break; + case 5: + case 6: + modIndex = KC_LSFT; + break; + default: + isKeyPressed = false; + break; + } + } + else if(row > 4 && row < 9) + { + switch (col) + { + case 0: + case 1: + case 2: + modIndex = KC_RWIN; + break; + case 3: + modIndex = KC_RALT; + break; + case 4: + modIndex = KC_RCTL; + break; + case 5: + case 6: + modIndex = KC_RSFT; + break; + default: + isKeyPressed = false; + break; + } + } + else + { + isKeyPressed = false; + } + if(isKeyPressed) + { + bool success; + if(record->event.pressed) + { + success = pushSetKey(keycode); + } + else + { + success = popSetKey(keycode); + } + if(success) + { + if((row == 2 || row == 7) && col > 1 && col < 6 && isKeyComplicated) + { + // modKey(modIndex, keyIndex, record->event.pressed); + mod_modKey(modIndex, keyIndex, record->event.pressed, record->tap.count); + } + else + { + modKey(modIndex, keyIndex, record->event.pressed); + } + return false; + } + } + } + switch (keycode) { + case MKC_00: + if (record->event.pressed) { + tap_code(KC_0); + tap_code(KC_0); + } + return false; + case QWERTY: + if (record->event.pressed) { + _PAD_index = _NUMPAD; + set_single_persistent_default_layer(_QWERTY); + layer_clear(); + } + return false; + case GEMINI: + if (record->event.pressed) { + // set_single_persistent_default_layer(_GEMINI); + + layer_move(_GEMINI); + } + return false; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + // layer_off(_SWP_HND); + } + return false; + case SPC_LOW: + case C_: + case COMM_: + if(record->event.pressed) + { + if (!record->tap.count) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_LOWER); + } + } + else + { + if (!record->tap.count) { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_LOWER); + } + } + return true; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case SPC_REZ: + case BSPC_REZ: + case X_: + case DOT_: + if(record->event.pressed) + { + if (!record->tap.count) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_RAISE); + } + } + else + { + if (!record->tap.count) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_RAISE); + } + } + return true; + case ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + case MENU: + if (record->event.pressed) { + layer_on(_MENU); + } + else{ + layer_off(_MENU); + } + return false; + case MENU_R: + if (record->event.pressed) { + layer_on(_MENU); + menu_R = true; + } + else{ + layer_off(_MENU); + menu_R = false; + } + return false; + case GAME: + if (record->event.pressed) { + _PAD_index = _GAME; + layer_move(_GAME); + } + return false; + case GAME_2: + if (record->event.pressed) { + _PAD_index = _GAME_2; + layer_move(_GAME_2); + } + return false; + case GAME_N: + if (record->event.pressed) { + layer_on(_GAME_N); + } else { + layer_off(_GAME_N); + } + return false; + case GAME_R: + if (record->event.pressed) { + layer_move(_GAME_R); + } + return false; + case NUMPAD: + if (record->event.pressed) { + layer_move(_NUMPAD); + } + return false; + case BRUSH: + if (record->event.pressed) { + layer_move(_BRUSH); + } + return false; + case LOWER_F: + if (record->event.pressed) { + layer_move(_LOWER); + } + return false; + case RAISE_F: + if (record->event.pressed) { + layer_move(_RAISE); + } + return false; + case PAD: + if (record->event.pressed) { + if (IS_LAYER_ON(_PAD_index)) + layer_off(_PAD_index); + else + layer_on(_PAD_index); + } + return false; + } + + // #ifdef CONSOLE_ENABLE + // print("KL:jjjj"); + // #endif + return true; +} + +#ifdef ENCODER_ENABLE + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (IS_LAYER_ON(_LOWER)) { + if (clockwise) { + tap_code(KC_UP); + } else { + tap_code(KC_DOWN); + } + } + else if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + } + else if (IS_LAYER_ON(_MENU) ) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else { + if (clockwise) { + tap_code(MS_WHLU); + } else { + tap_code(MS_WHLD); + } + } + } + else if (index == 1) { + if (IS_LAYER_ON(_LOWER)) { + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + /*else if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + }*/ + else if (IS_LAYER_ON(_MENU) ) { + if (clockwise) { + tap_code(KC_BRIU); + } else { + tap_code(KC_BRID); + } + } + else { + if (clockwise) { + tap_code(MS_WHLR); + } else { + tap_code(MS_WHLL); + } + } + } + return false; +} + +#endif + +/*#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_SWP_HND] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME_N] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_GAME_R] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_BRUSH] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NUMPAD] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_RAISE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_ADJUST] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +}; +#endif*/ +/*void matrix_init_user(void) { + // ... + steno_set_mode(STENO_MODE_GEMINI); +};*/ + +void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) +{ + if(isPressed) + { + if (isTapped) { + register_code(mod); + register_code(key); + } + else + { + register_code(mod); + } + } + else + { + if (isTapped) { + unregister_code(mod); + unregister_code(key); + } + else + { + unregister_code(mod); + } + } +} + +void modKey(uint8_t mod, uint8_t key, bool isPressed) +{ + if(isPressed) + { + register_code(mod); + register_code(key); + } + else + { + unregister_code(mod); + unregister_code(key); + } +} + +void normolizeMatrix(uint8_t* row, uint8_t* col) +{ + if(*row == 4 && *col == 7) + { + *row = 3; + *col = 8; + } + else if(*row == 9 && *col == 6) + { + *col = 8; + } + else if(*row == 4) + { + if(*col == 0 || *col == 1) + *col += 1; + *col += 2; + } + else if(*row == 9) + { + *col+=3; + } + +} +bool pushSetKey(uint16_t value) +{ + for (int i = 0; i < buffMemory; ++i) + { + if(SetKey[i] == 0) + { + SetKey[i] = value; + return true; + } + } + return false; +} + +bool popSetKey(uint16_t value) +{ + for (int i = 0; i < buffMemory; ++i) + { + if(SetKey[i] == value) + { + SetKey[i] = 0; + return true; + } + } + return false; +} + +bool isSetKey(uint16_t value) +{ + for (int i = 0; i < buffMemory; ++i) + { + if(SetKey[i] == value) + { + return true; + } + } + return false; +} \ No newline at end of file From bccba262f653bead74bba5d35b8e6371c50099e3 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 24 Feb 2026 20:57:33 +0400 Subject: [PATCH 06/20] Update readme.md Update examples of compiling and flashing --- keyboards/handwired/keynet/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/keynet/readme.md b/keyboards/handwired/keynet/readme.md index 3c8a3cdd8c9b..0d6c2d65a22c 100644 --- a/keyboards/handwired/keynet/readme.md +++ b/keyboards/handwired/keynet/readme.md @@ -11,12 +11,12 @@ Keynet is a split, ortholinear (column-staggered) keyboard powered by an Atmega3 Make example for this keyboard (after setting up your build environment): - qmk compile -kb keynet/rev1 -km default + qmk compile -kb handwired/keynet/rev1 -km default Flashing example for this keyboard for left and right sides: - qmk flash -kb keynet/rev1 -km default -bl avrdude-split-left - qmk flash -kb keynet/rev1 -km default -bl avrdude-split-right + qmk flash -kb handwired/keynet/rev1 -km default -bl avrdude-split-left + qmk flash -kb handwired/keynet/rev1 -km default -bl avrdude-split-right See 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). From c45beec8f6847f301ac1b4429bdb21410f8e0153 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 24 Feb 2026 22:46:46 +0400 Subject: [PATCH 07/20] refactor: use encoder map feature instead of encoder_update_user() --- .../handwired/keynet/keymaps/default/keymap.c | 5 ++ .../handwired/keynet/keymaps/max/keymap.c | 83 ++++--------------- keyboards/handwired/keynet/rev1/rev1.c | 4 + keyboards/handwired/keynet/rev1/rules.mk | 1 + 4 files changed, 27 insertions(+), 66 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c index ec0529ca7136..43efb2f08f48 100644 --- a/keyboards/handwired/keynet/keymaps/default/keymap.c +++ b/keyboards/handwired/keynet/keymaps/default/keymap.c @@ -23,3 +23,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) }; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) } +}; +#endif diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index 083b8162bcd9..ff1e4337d772 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -807,72 +807,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef ENCODER_ENABLE - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (IS_LAYER_ON(_LOWER)) { - if (clockwise) { - tap_code(KC_UP); - } else { - tap_code(KC_DOWN); - } - } - else if (IS_LAYER_ON(_RAISE)) { - if (clockwise) { - tap_code(KC_BRIU); - } else { - tap_code(KC_BRID); - } - } - else if (IS_LAYER_ON(_MENU) ) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - else { - if (clockwise) { - tap_code(MS_WHLU); - } else { - tap_code(MS_WHLD); - } - } - } - else if (index == 1) { - if (IS_LAYER_ON(_LOWER)) { - if (clockwise) { - tap_code(KC_RIGHT); - } else { - tap_code(KC_LEFT); - } - } - /*else if (IS_LAYER_ON(_RAISE)) { - if (clockwise) { - tap_code(KC_BRIU); - } else { - tap_code(KC_BRID); - } - }*/ - else if (IS_LAYER_ON(_MENU) ) { - if (clockwise) { - tap_code(KC_BRIU); - } else { - tap_code(KC_BRID); - } - } - else { - if (clockwise) { - tap_code(MS_WHLR); - } else { - tap_code(MS_WHLL); - } - } - } - return false; -} - +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_R] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_N] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BRUSH] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RREZ] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; #endif /*#if defined(ENCODER_MAP_ENABLE) diff --git a/keyboards/handwired/keynet/rev1/rev1.c b/keyboards/handwired/keynet/rev1/rev1.c index 213e276bb9e2..01ca663ccab8 100644 --- a/keyboards/handwired/keynet/rev1/rev1.c +++ b/keyboards/handwired/keynet/rev1/rev1.c @@ -33,6 +33,10 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}, {6,3}, {7,3}}, {{0,4}, {1,4}, {3,4}, {4,4}, {5,4}, {6,4}, {7,4}, {1,4}}, }; + +#ifdef ENCODER_MAP_ENABLE +const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = { 1, 0 }; +#endif #endif /* diff --git a/keyboards/handwired/keynet/rev1/rules.mk b/keyboards/handwired/keynet/rev1/rules.mk index aea56730f085..5d7555c02521 100644 --- a/keyboards/handwired/keynet/rev1/rules.mk +++ b/keyboards/handwired/keynet/rev1/rules.mk @@ -10,6 +10,7 @@ AUDIO_ENABLE = no # Audio output # RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SERIAL_DRIVER = bitbang ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes MOUSEKEY_ENABLE = yes # ENCODER_MAP_ENABLE = yes From 8d5a02a75a4c97be4c2385135f046b5ea3d38a32 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 24 Feb 2026 23:00:17 +0400 Subject: [PATCH 08/20] Remove dead code comments --- .../handwired/keynet/keymaps/max/keymap.c | 194 +----------------- keyboards/handwired/keynet/rev1/config.h | 25 --- keyboards/handwired/keynet/rev1/rev1.c | 24 --- keyboards/handwired/keynet/rev1/rules.mk | 4 - 4 files changed, 2 insertions(+), 245 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index ff1e4337d772..c1b7e60a7274 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -49,7 +49,6 @@ enum custom_keycodes { MKC_00, SET }; -// #define SET MO(_SET) #define GAME_R MO(_GAME_R) #define C_BSPC C(KC_BSPC) #define C_DEL C(KC_DEL) @@ -63,12 +62,9 @@ enum custom_keycodes { #define A_LEFT A(KC_LEFT) #define SPC_LOW LT(_LOWER, KC_SPC) -// #define ENT_SWP LT(_SWP_HND, KC_ENT) -// #define ENT_SWP LT(0, KC_ENT) #define ENT_SWP SH_T(KC_ENT) #define TAB_SET LT(0, KC_TAB) -// #define RLOW_BSPC LT(_R_LOWER, KC_BSPC) #define BSPC_LALT LALT_T(KC_BSPC) #define TAB_ALT LALT_T(KC_TAB) @@ -99,13 +95,8 @@ enum custom_keycodes { #define DOT_ LT(_RAISE, KC_DOT) #define COMM_ LT(_LOWER, KC_COMM) -// #define X_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT, KC_X) -// #define C_ MT(MOD_LALT | MOD_LCTL | MOD_LSFT | MOD_LGUI, KC_C) -// #define DOT_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT, KC_DOT) -// #define COMM_ MT(MOD_RALT | MOD_RCTL | MOD_RSFT | MOD_RGUI, KC_COMM) - -#define CngLngD S(KC_LALT)//LALT(KC_LSFT) -#define CngLngU RSFT(KC_LALT)//LALT(KC_RSFT) +#define CngLngD S(KC_LALT) // LALT(KC_LSFT) +#define CngLngU RSFT(KC_LALT) // LALT(KC_RSFT) #define CngLngG S(KC_LCTL) @@ -219,10 +210,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - // _______, _______, G(KC_A), A(KC_S), C(KC_D), S(KC_F), S(KC_G), RSFT(KC_H), RSFT(KC_J), RCTL(KC_K), RALT(KC_L), RGUI(KC_SCLN), _______, _______, - // _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, - - [_FN] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, @@ -316,159 +303,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) - /* - [_SET] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬───────────┬───────────┬───────────┬──────────────┬──────────────┬──────────────┬────────┐ - _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ - _______, KC_TILD, G(KC_Q), A(KC_W), C(KC_E), S(KC_R), S(KC_T), _______, _______, RSFT(KC_Y), RSFT(KC_U), RCTL(KC_I), RALT(KC_O), RGUI(KC_P), _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ - _______, _______, A__, S__, D__, F__, S(KC_G), RSFT(KC_H), J_, K_, L_, SCLN_, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼────────┤ - _______, _______, G(KC_Z), A(KC_X), C(KC_C), S(KC_V), S(KC_B), _______, _______, _______, _______, RSFT(KC_M), RSFT(KC_M), RCTL(KC_COMM),RALT(KC_DOT),RGUI(KC_SLSH), _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┬──┴─────┬─────┴──┬────────┼──────────────┴──────────────┴──────────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ),*/ -/* [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, KC_BSLS, C_BSPC, C_DEL, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_COLN, KC_DQUO, KC_PIPE, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, KC_PIPE, KC_MINS, KC_PLUS, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, KC_LABK, KC_RABK, KC_QUES, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), -*/ -/* - [_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, U_LOWER, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_RSFT, KC_RALT, KC_RCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), -*/ - /* - [_GEMINI] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, XXXXXXX, XXXXXXX, STN_N6, STN_N7, STN_N8, STN_N9, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, XXXXXXX, XXXXXXX, STN_ST3, STN_FR, STN_BR, STN_LR, STN_TR, STN_DR, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, ESC_M_, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MENU, MENU_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, STN_A, STN_O, XXXXXXX, XXXXXXX, STN_E, STN_U, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ),*/ -/*//QWERTY - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RWIN, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LCTL, KC_LWIN, KC_LALT, LOWER, KC_SPC, KC_ENT, KC_BSPC, KC_SPC, RAISE, KC_LSFT, KC_RALT, KC_RCTL - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ -*/ - /* - - [] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) - - [] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) - - [_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, 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_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_RALT - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_LOWER] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, KC_DEL, KC_DEL, _______, KC_P0 - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, - //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, - //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤ ┌────────┐ ┌────────┐ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴─┬────────┼────────┤ ├────────┼────────┬─┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - */ }; bool isSetKey(uint16_t); @@ -800,10 +634,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; } - - // #ifdef CONSOLE_ENABLE - // print("KL:jjjj"); - // #endif return true; } @@ -826,26 +656,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { }; #endif -/*#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_GAME] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_SWP_HND] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_GAME_N] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_GAME_R] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_BRUSH] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NUMPAD] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_LOWER] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_RAISE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_ADJUST] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, -}; -#endif*/ -/*void matrix_init_user(void) { - // ... - steno_set_mode(STENO_MODE_GEMINI); -};*/ - void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) { if(isPressed) diff --git a/keyboards/handwired/keynet/rev1/config.h b/keyboards/handwired/keynet/rev1/config.h index ed715d2a280f..312a511c965c 100644 --- a/keyboards/handwired/keynet/rev1/config.h +++ b/keyboards/handwired/keynet/rev1/config.h @@ -18,30 +18,5 @@ #define EE_HANDS -// #define ENCODERS_PAD_A { B3 } -// #define ENCODERS_PAD_B { F7 } -// #define ENCODERS_PAD_A_RIGHT { F6 } -// #define ENCODERS_PAD_B_RIGHT { F5 } -// #define ENCODER_RESOLUTIONS { 2 } -// #define ENCODER_RESOLUTIONS_RIGHT { 2 } - - -// #define MASTER_RIGHT -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -// #define FORCE_NKRO -/* ws2812 RGB LED */ -// #define RGB_DI_PIN D3 -// #define RGBLED_NUM 12 // Number of LEDs -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// #define RGBLIGHT_EFFECT_TWINKLE diff --git a/keyboards/handwired/keynet/rev1/rev1.c b/keyboards/handwired/keynet/rev1/rev1.c index 01ca663ccab8..0ab6b3a70a83 100644 --- a/keyboards/handwired/keynet/rev1/rev1.c +++ b/keyboards/handwired/keynet/rev1/rev1.c @@ -38,27 +38,3 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = { 1, 0 }; #endif #endif - -/* -#define ___ KC_NO -#define LAYOUT( \ - L00, L01, L02, L03, L04, L05, L06, L07, R57, R56, R55, R54, R53, R52, R51, R50,\ - L10, L11, L12, L13, L14, L15, L16, L17, R67, R66, R65, R64, R63, R62, R61, R60,\ - L20, L21, L22, L23, L24, L25, L26, R76, R75, R74, R73, R72, R71, R70,\ - L30, L31, L32, L33, L34, L35, L36, E37, L47, R96, E87, R86, R85, R84, R83, R82, R81, R80,\ - L40, L41, L43, L44, L45, L46, R95, R94, R93, R92, R91, R90\ - ) \ - { \ - { L00, L01, L02, L03, L04, L05, L06, L07 }, \ - { L10, L11, L12, L13, L14, L15, L16, L17 }, \ - { L20, L21, L22, L23, L24, L25, L26, ___ }, \ - { L30, L31, L32, L33, L34, L35, L36, E37 }, \ - { L40, L41, ___, L43, L44, L45, L46, L47 }, \ - \ - { R50, R51, R52, R53, R54, R55, R56, R57 },\ - { R60, R61, R62, R63, R64, R65, R66, R67 }, \ - { R70, R71, R72, R73, R74, R75, R76, ___ }, \ - { R80, R81, R82, R83, R84, R85, R86, E87 }, \ - { R90, R91, R92, R93, R94, R95, R96, ___ } \ - } -*/ \ No newline at end of file diff --git a/keyboards/handwired/keynet/rev1/rules.mk b/keyboards/handwired/keynet/rev1/rules.mk index 5d7555c02521..a165327a394c 100644 --- a/keyboards/handwired/keynet/rev1/rules.mk +++ b/keyboards/handwired/keynet/rev1/rules.mk @@ -3,16 +3,12 @@ # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite EXTRAKEY_ENABLE = yes # Audio control and System control -# CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output -# RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SERIAL_DRIVER = bitbang ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes MOUSEKEY_ENABLE = yes -# ENCODER_MAP_ENABLE = yes # STENO_ENABLE = yes # STENO_PROTOCOL = geminipr From 35e4b920061c4bcc7f46effa85f5d20c99c59d61 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 24 Feb 2026 23:23:55 +0400 Subject: [PATCH 09/20] Update keymap.c --- .../handwired/keynet/keymaps/default/keymap.c | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c index 43efb2f08f48..63c55f500692 100644 --- a/keyboards/handwired/keynet/keymaps/default/keymap.c +++ b/keyboards/handwired/keynet/keymaps/default/keymap.c @@ -5,9 +5,12 @@ enum layers { - _QWERTY + _QWERTY, + _MENU }; +#define MENU MO(_MENU) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ @@ -17,14 +20,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, 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_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┼────────┼────────┼─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ KC_LWIN, KC_LALT, KC_TAB, KC_SPC, KC_ENT, XXXXXXX, KC_ENT, KC_BSPC, KC_SPC, KC_DEL, KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_MENU] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) } + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) } }; #endif From 8a1c18cba77321c6d4d0acb09ccbf578c47a2e34 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 25 Feb 2026 01:15:25 +0400 Subject: [PATCH 10/20] Fix PR Lint fails --- keyboards/handwired/keynet/info.json | 2 +- keyboards/handwired/keynet/keymaps/default/rules.mk | 1 + keyboards/handwired/keynet/keymaps/max/rules.mk | 1 + keyboards/handwired/keynet/rev1/keyboard.json | 1 - keyboards/handwired/keynet/rev1/rules.mk | 3 --- 5 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 keyboards/handwired/keynet/keymaps/default/rules.mk create mode 100644 keyboards/handwired/keynet/keymaps/max/rules.mk diff --git a/keyboards/handwired/keynet/info.json b/keyboards/handwired/keynet/info.json index 897743e3aae6..68f1fec45f8a 100644 --- a/keyboards/handwired/keynet/info.json +++ b/keyboards/handwired/keynet/info.json @@ -1,6 +1,6 @@ { "manufacturer": "Arthur Frangyan", - "url": "", + "url": "https://github.com/ArthurFrangyan/KeyNet", "maintainer": "Arthur Frangyan", "usb": { "vid": "0xFEED" diff --git a/keyboards/handwired/keynet/keymaps/default/rules.mk b/keyboards/handwired/keynet/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/handwired/keynet/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/keynet/keymaps/max/rules.mk b/keyboards/handwired/keynet/keymaps/max/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/handwired/keynet/keymaps/max/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/handwired/keynet/rev1/keyboard.json b/keyboards/handwired/keynet/rev1/keyboard.json index 89612652bc28..906ff8e7fae2 100644 --- a/keyboards/handwired/keynet/rev1/keyboard.json +++ b/keyboards/handwired/keynet/rev1/keyboard.json @@ -12,7 +12,6 @@ }, "diode_direction": "COL2ROW", "split": { - "enabled": true, "serial": { "pin": "D3" }, diff --git a/keyboards/handwired/keynet/rev1/rules.mk b/keyboards/handwired/keynet/rev1/rules.mk index a165327a394c..c7bdbb7d1694 100644 --- a/keyboards/handwired/keynet/rev1/rules.mk +++ b/keyboards/handwired/keynet/rev1/rules.mk @@ -3,11 +3,8 @@ # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite EXTRAKEY_ENABLE = yes # Audio control and System control -COMMAND_ENABLE = no # Commands for debug and configuration AUDIO_ENABLE = no # Audio output -SERIAL_DRIVER = bitbang ENCODER_ENABLE = yes -ENCODER_MAP_ENABLE = yes MOUSEKEY_ENABLE = yes # STENO_ENABLE = yes From 790045a4fb2dffc5d45504a5ad3dfc1722dc5953 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 25 Feb 2026 01:19:18 +0400 Subject: [PATCH 11/20] Move encoder pins from info.json to keyboard.json --- keyboards/handwired/keynet/info.json | 22 +------------------ keyboards/handwired/keynet/rev1/keyboard.json | 20 +++++++++++++++++ 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/keyboards/handwired/keynet/info.json b/keyboards/handwired/keynet/info.json index 68f1fec45f8a..1a5c608a4ded 100644 --- a/keyboards/handwired/keynet/info.json +++ b/keyboards/handwired/keynet/info.json @@ -6,26 +6,6 @@ "vid": "0xFEED" }, "split": { - "enabled": true, - "encoder": { - "right": { - "rotary": [ - { - "pin_a": "F6", - "pin_b": "F5", - "resolution": 2 - } - ] - } - } - }, - "encoder": { - "rotary": [ - { - "pin_a": "B3", - "pin_b": "F7", - "resolution": 2 - } - ] + "enabled": true } } \ No newline at end of file diff --git a/keyboards/handwired/keynet/rev1/keyboard.json b/keyboards/handwired/keynet/rev1/keyboard.json index 906ff8e7fae2..eba5a65703f2 100644 --- a/keyboards/handwired/keynet/rev1/keyboard.json +++ b/keyboards/handwired/keynet/rev1/keyboard.json @@ -28,8 +28,28 @@ "cols": ["F7", "D0", "B1", "D7", "B2", "D1", "D4", "B4"], "rows": ["C6", "E6", "B5", "B3", "B6"] } + }, + "encoder": { + "right": { + "rotary": [ + { + "pin_a": "F6", + "pin_b": "F5", + "resolution": 2 + } + ] + } } }, + "encoder": { + "rotary": [ + { + "pin_a": "B3", + "pin_b": "F7", + "resolution": 2 + } + ] + }, "layouts": { "LAYOUT": { "layout": [ From 0fa9e4e2c7fdef899d3c48a8f85d0b7ea6212e43 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 25 Feb 2026 17:11:23 +0400 Subject: [PATCH 12/20] Refactoring --- keyboards/handwired/keynet/info.json | 11 ---------- .../handwired/keynet/keymaps/default/keymap.c | 3 +-- .../handwired/keynet/keymaps/max/keymap.c | 3 +-- keyboards/handwired/keynet/rev1/config.h | 20 ++----------------- keyboards/handwired/keynet/rev1/keyboard.json | 20 ++++++++++++++++--- keyboards/handwired/keynet/rev1/rev1.c | 17 ++-------------- keyboards/handwired/keynet/rev1/rules.mk | 17 ---------------- 7 files changed, 23 insertions(+), 68 deletions(-) delete mode 100644 keyboards/handwired/keynet/info.json delete mode 100644 keyboards/handwired/keynet/rev1/rules.mk diff --git a/keyboards/handwired/keynet/info.json b/keyboards/handwired/keynet/info.json deleted file mode 100644 index 1a5c608a4ded..000000000000 --- a/keyboards/handwired/keynet/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "manufacturer": "Arthur Frangyan", - "url": "https://github.com/ArthurFrangyan/KeyNet", - "maintainer": "Arthur Frangyan", - "usb": { - "vid": "0xFEED" - }, - "split": { - "enabled": true - } -} \ No newline at end of file diff --git a/keyboards/handwired/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c index 63c55f500692..abd774921e5b 100644 --- a/keyboards/handwired/keynet/keymaps/default/keymap.c +++ b/keyboards/handwired/keynet/keymaps/default/keymap.c @@ -1,5 +1,4 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later +// Copyright 2026 Arthur Frangyan #include QMK_KEYBOARD_H diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index c1b7e60a7274..07c871ebff26 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -1,5 +1,4 @@ -// Copyright 2023 QMK -// SPDX-License-Identifier: GPL-2.0-or-later +// Copyright 2026 Arthur Frangyan #include QMK_KEYBOARD_H diff --git a/keyboards/handwired/keynet/rev1/config.h b/keyboards/handwired/keynet/rev1/config.h index 312a511c965c..d8503d839fb1 100644 --- a/keyboards/handwired/keynet/rev1/config.h +++ b/keyboards/handwired/keynet/rev1/config.h @@ -1,22 +1,6 @@ -/* Copyright 2026 Arthur Frangyan - * - * 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 . - */ +// Copyright 2026 Arthur Frangyan +// SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define EE_HANDS - -#define LOCKING_SUPPORT_ENABLE -#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/handwired/keynet/rev1/keyboard.json b/keyboards/handwired/keynet/rev1/keyboard.json index eba5a65703f2..7bfc0577c96d 100644 --- a/keyboards/handwired/keynet/rev1/keyboard.json +++ b/keyboards/handwired/keynet/rev1/keyboard.json @@ -1,17 +1,24 @@ { "keyboard_name": "Keynet", + "manufacturer": "Arthur Frangyan", + "url": "https://github.com/ArthurFrangyan/KeyNet", + "maintainer": "Arthur Frangyan", "usb": { + "shared_endpoint": { + "keyboard": true + }, "device_version": "1.0.0", + "vid": "0xFEED", "pid": "0x6406" }, - "processor": "atmega32u4", - "bootloader": "caterina", + "development_board": "promicro", "matrix_pins": { "cols": ["F5", "C6", "B6", "D7", "E6", "D0", "B4", "D1"], "rows": ["F4", "F6", "B1", "B2", "B5"] }, "diode_direction": "COL2ROW", "split": { + "enabled": true, "serial": { "pin": "D3" }, @@ -50,6 +57,13 @@ } ] }, + "features": { + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "swap_hands": true + }, "layouts": { "LAYOUT": { "layout": [ @@ -145,4 +159,4 @@ ] } } -} \ No newline at end of file +} diff --git a/keyboards/handwired/keynet/rev1/rev1.c b/keyboards/handwired/keynet/rev1/rev1.c index 0ab6b3a70a83..bab6ea123b1a 100644 --- a/keyboards/handwired/keynet/rev1/rev1.c +++ b/keyboards/handwired/keynet/rev1/rev1.c @@ -1,18 +1,5 @@ -/* Copyright 2026 Arthur Frangyan - * - * 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 . - */ +// Copyright 2026 Arthur Frangyan +// SPDX-License-Identifier: GPL-2.0-or-later #include "quantum.h" diff --git a/keyboards/handwired/keynet/rev1/rules.mk b/keyboards/handwired/keynet/rev1/rules.mk deleted file mode 100644 index c7bdbb7d1694..000000000000 --- a/keyboards/handwired/keynet/rev1/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -EXTRAKEY_ENABLE = yes # Audio control and System control -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes -MOUSEKEY_ENABLE = yes - -# STENO_ENABLE = yes -# STENO_PROTOCOL = geminipr -NKRO_ENABLE = yes # Enable N-Key Rollover -VIRTSER_ENABLE = yes -FORCE_NKRO = yes -KEYBOARD_SHARED_EP = yes - -SWAP_HANDS_ENABLE = yes From f19c1534e62ea36227bf8d9ae984dfa8e9266d7a Mon Sep 17 00:00:00 2001 From: ArthurFrangyan <114169507+ArthurFrangyan@users.noreply.github.com> Date: Wed, 25 Feb 2026 21:19:46 +0400 Subject: [PATCH 13/20] Update keyboards/handwired/keynet/keymaps/default/keymap.c Co-authored-by: Joel Challis --- keyboards/handwired/keynet/keymaps/default/keymap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/handwired/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c index abd774921e5b..c227057ad836 100644 --- a/keyboards/handwired/keynet/keymaps/default/keymap.c +++ b/keyboards/handwired/keynet/keymaps/default/keymap.c @@ -1,4 +1,5 @@ // Copyright 2026 Arthur Frangyan +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H From 2f5c8d9797a1c95d761ae8307cb37069e9fdb49c Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 25 Feb 2026 21:22:46 +0400 Subject: [PATCH 14/20] Update keymap.c --- keyboards/handwired/keynet/keymaps/max/keymap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index 07c871ebff26..4e1dcca69baf 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -1,4 +1,5 @@ // Copyright 2026 Arthur Frangyan +// SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H From ad1898c84c373dec1285bb9322ccf308137ad264 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 26 Feb 2026 01:08:58 +0400 Subject: [PATCH 15/20] refactor: max/keymap.c --- .../handwired/keynet/keymaps/max/keymap.c | 328 +++++------------- 1 file changed, 94 insertions(+), 234 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index 4e1dcca69baf..466e03d5f617 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -7,10 +7,10 @@ enum layers { _QWERTY, _GEMINI, - _GAME_R, // qwerty without mod-tap + _GAME_QWERTY, // qwerty without mod-tap _GAME, - _GAME_2, - _GAME_N, //numpad left hand + _GAME_COPR, + _GAME_NPAD, //numpad left hand _BRUSH, _NUMPAD, _LOWER, @@ -20,36 +20,32 @@ enum layers { _RREZ, _FN }; -bool menu_R = false; uint8_t _PAD_index = _NUMPAD; bool isSetOn = false; -#define buffMemory 10 -uint16_t SetKey[buffMemory]; +#define SET_BUFF_KEYS 10 +uint16_t SetKey[SET_BUFF_KEYS]; enum custom_keycodes { QWERTY = SAFE_RANGE, - GEMINI, - GAME, - GAME_2, - GAME_N, //numpad left hand for game - GAME_R, // qwerty - BRUSH, - NUMPAD, LOWER, RAISE, - ADJUST, - LOWER_F, - RAISE_F, - MENU, - MENU_R, - GAME_X, PAD, - M_F1, - M_F2, - M_F3, MKC_00, SET }; -#define GAME_R MO(_GAME_R) + +#define GEMINI TO(_GEMINI) +#define GAME_QWRT TO(_GAME_QWERTY) +#define NUMPAD TO(_NUMPAD) +#define BRUSH TO(_BRUSH) +#define LOWER_F TO(_LOWER) +#define RAISE_F TO(_RAISE) +#define GAME_COPR TO(_GAME_COPR) +#define GAME TO(_GAME) +#define GAME_NPAD MO(_GAME_NPAD) +#define MENU MO(_MENU) +#define ADJUST MO(_ADJUST) + + #define C_BSPC C(KC_BSPC) #define C_DEL C(KC_DEL) #define C_DOWN C(KC_DOWN) @@ -65,11 +61,7 @@ enum custom_keycodes { #define ENT_SWP SH_T(KC_ENT) #define TAB_SET LT(0, KC_TAB) -#define BSPC_LALT LALT_T(KC_BSPC) -#define TAB_ALT LALT_T(KC_TAB) - #define SPC_REZ LT(_RAISE, KC_SPC) -#define SPC_RSFT RSFT_T(KC_SPC) #define DEL_RSFT RSFT_T(KC_DEL) #define BSPC_RREZ LT(_RREZ, KC_BSPC) #define BSPC_REZ LT(_RAISE, KC_BSPC) @@ -99,17 +91,6 @@ enum custom_keycodes { #define CngLngU RSFT(KC_LALT) // LALT(KC_RSFT) #define CngLngG S(KC_LCTL) - - -#define F__ LT(0, KC_F) -#define D__ LT(0, KC_D) -#define S__ LT(0, KC_S) -#define A__ LT(0, KC_A) -#define J__ LT(0, KC_J) -#define K__ LT(0, KC_K) -#define L__ LT(0, KC_L) -#define SCLN__ LT(0, KC_SCLN) - void mod_modKey(uint8_t, uint8_t, bool, bool); void modKey(uint8_t , uint8_t , bool); bool pushSetKey(uint16_t); @@ -117,16 +98,15 @@ bool popSetKey(uint16_t); void normolizeMatrix(uint8_t* row, uint8_t* col); const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MENU] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F, GAME_R, XXXXXXX, XXXXXXX, GAME_R, RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F,GAME_QWRT,XXXXXXX, XXXXXXX,GAME_QWRT,RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_2, XXXXXXX, _______, _______, XXXXXXX, GAME_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_COPR,XXXXXXX, _______, _______, XXXXXXX, GAME_COPR,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -139,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, + KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ KC_LWIN, KC_LALT, TAB_SET, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -152,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, BSPC_M, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -192,7 +172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU_R, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, + XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -231,13 +211,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX + KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_GAME_2] = LAYOUT( + [_GAME_COPR] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ @@ -245,12 +225,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_B, KC_G, KC_LALT, KC_SPC, GAME_N, KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON + KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_GAME_N] = LAYOUT( + [_GAME_NPAD] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ @@ -272,7 +252,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU_R, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -290,7 +270,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_GAME_R] = LAYOUT( + [_GAME_QWERTY] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ @@ -298,46 +278,55 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_R, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_QWRT,XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) }; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(_______, _______) }, + [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_COPR] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_NPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BRUSH] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RREZ] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + bool isSetKey(uint16_t); bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(keycode == TAB_SET) - { - if(record->event.pressed) - { + if(keycode == TAB_SET) { + if(record->event.pressed) { if (!record->tap.count) { isSetOn = true; } - } - else - { + } else { if (!record->tap.count) { isSetOn = false; } } return true; - } - else if(keycode == SET) - { - if(record->event.pressed) - { + } else if(keycode == SET) { + if(record->event.pressed) { isSetOn = true; - } - else - { + } else { isSetOn = false; } return true; } - if((isSetOn && record->event.pressed) || isSetKey(keycode)) - { + if((isSetOn && record->event.pressed) || isSetKey(keycode)) { uint8_t modIndex; uint8_t keyIndex = keycode; @@ -348,8 +337,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint8_t row = record->event.key.row; normolizeMatrix(&row, &col); - switch (keycode) - { + switch (keycode) { case F_: keyIndex = KC_F; break; @@ -397,10 +385,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { isKeyComplicated = false; break; } - if(row < 4) - { - switch (col) - { + if(row < 4) { + switch (col) { case 0: case 1: case 2: @@ -420,9 +406,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { isKeyPressed = false; break; } - } - else if(row > 4 && row < 9) - { + } else if(row > 4 && row < 9) { switch (col) { case 0: @@ -444,31 +428,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { isKeyPressed = false; break; } - } - else - { + } else { isKeyPressed = false; - } - if(isKeyPressed) - { + } if(isKeyPressed) { bool success; - if(record->event.pressed) - { + if(record->event.pressed) { success = pushSetKey(keycode); - } - else - { + } else { success = popSetKey(keycode); - } - if(success) - { - if((row == 2 || row == 7) && col > 1 && col < 6 && isKeyComplicated) - { + } if(success) { + if((row == 2 || row == 7) && col > 1 && col < 6 && isKeyComplicated) { // modKey(modIndex, keyIndex, record->event.pressed); mod_modKey(modIndex, keyIndex, record->event.pressed, record->tap.count); - } - else - { + } else { modKey(modIndex, keyIndex, record->event.pressed); } return false; @@ -489,13 +461,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { layer_clear(); } return false; - case GEMINI: - if (record->event.pressed) { - // set_single_persistent_default_layer(_GEMINI); - - layer_move(_GEMINI); - } - return false; case LOWER: if (record->event.pressed) { layer_on(_LOWER); @@ -509,16 +474,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case SPC_LOW: case C_: case COMM_: - if(record->event.pressed) - { + if(record->event.pressed) { if (!record->tap.count) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); layer_off(_LOWER); } } - else - { + else { if (!record->tap.count) { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); @@ -539,16 +502,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case BSPC_REZ: case X_: case DOT_: - if(record->event.pressed) - { + if(record->event.pressed) { if (!record->tap.count) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); layer_off(_RAISE); } } - else - { + else { if (!record->tap.count) { layer_on(_RAISE); update_tri_layer(_LOWER, _RAISE, _ADJUST); @@ -556,75 +517,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return true; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - case MENU: - if (record->event.pressed) { - layer_on(_MENU); - } - else{ - layer_off(_MENU); - } - return false; - case MENU_R: - if (record->event.pressed) { - layer_on(_MENU); - menu_R = true; - } - else{ - layer_off(_MENU); - menu_R = false; - } - return false; case GAME: if (record->event.pressed) { _PAD_index = _GAME; - layer_move(_GAME); - } - return false; - case GAME_2: - if (record->event.pressed) { - _PAD_index = _GAME_2; - layer_move(_GAME_2); - } - return false; - case GAME_N: - if (record->event.pressed) { - layer_on(_GAME_N); - } else { - layer_off(_GAME_N); } - return false; - case GAME_R: - if (record->event.pressed) { - layer_move(_GAME_R); - } - return false; - case NUMPAD: - if (record->event.pressed) { - layer_move(_NUMPAD); - } - return false; - case BRUSH: - if (record->event.pressed) { - layer_move(_BRUSH); - } - return false; - case LOWER_F: - if (record->event.pressed) { - layer_move(_LOWER); - } - return false; - case RAISE_F: + return true; + case GAME_COPR: if (record->event.pressed) { - layer_move(_RAISE); + _PAD_index = _GAME_COPR; } - return false; + return true; case PAD: if (record->event.pressed) { if (IS_LAYER_ON(_PAD_index)) @@ -637,46 +539,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, - [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, - [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, - [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(_______, _______) }, - [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME_R] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME_2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME_N] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_BRUSH] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_RREZ] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, -}; -#endif - void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) { - if(isPressed) - { + if(isPressed) { if (isTapped) { register_code(mod); register_code(key); - } - else - { + } else { register_code(mod); } } - else - { + else { if (isTapped) { unregister_code(mod); unregister_code(key); - } - else - { + } else { unregister_code(mod); } } @@ -684,13 +561,10 @@ void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) void modKey(uint8_t mod, uint8_t key, bool isPressed) { - if(isPressed) - { + if(isPressed) { register_code(mod); register_code(key); - } - else - { + } else { unregister_code(mod); unregister_code(key); } @@ -698,33 +572,23 @@ void modKey(uint8_t mod, uint8_t key, bool isPressed) void normolizeMatrix(uint8_t* row, uint8_t* col) { - if(*row == 4 && *col == 7) - { + if(*row == 4 && *col == 7) { *row = 3; *col = 8; - } - else if(*row == 9 && *col == 6) - { + } else if(*row == 9 && *col == 6) { *col = 8; - } - else if(*row == 4) - { + } else if(*row == 4) { if(*col == 0 || *col == 1) *col += 1; *col += 2; - } - else if(*row == 9) - { + } else if(*row == 9) { *col+=3; } - } bool pushSetKey(uint16_t value) { - for (int i = 0; i < buffMemory; ++i) - { - if(SetKey[i] == 0) - { + for (int i = 0; i < SET_BUFF_KEYS; ++i) { + if(SetKey[i] == 0) { SetKey[i] = value; return true; } @@ -734,10 +598,8 @@ bool pushSetKey(uint16_t value) bool popSetKey(uint16_t value) { - for (int i = 0; i < buffMemory; ++i) - { - if(SetKey[i] == value) - { + for (int i = 0; i < SET_BUFF_KEYS; ++i) { + if(SetKey[i] == value) { SetKey[i] = 0; return true; } @@ -747,10 +609,8 @@ bool popSetKey(uint16_t value) bool isSetKey(uint16_t value) { - for (int i = 0; i < buffMemory; ++i) - { - if(SetKey[i] == value) - { + for (int i = 0; i < SET_BUFF_KEYS; ++i) { + if(SetKey[i] == value) { return true; } } From 76a5a7d91e6e9de387594e31f92e7b51124ed215 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 26 Feb 2026 03:01:07 +0400 Subject: [PATCH 16/20] add keymaps/light keymap --- .../handwired/keynet/keymaps/light/keymap.c | 355 ++++++++++++++++++ .../handwired/keynet/keymaps/light/rules.mk | 1 + 2 files changed, 356 insertions(+) create mode 100644 keyboards/handwired/keynet/keymaps/light/keymap.c create mode 100644 keyboards/handwired/keynet/keymaps/light/rules.mk diff --git a/keyboards/handwired/keynet/keymaps/light/keymap.c b/keyboards/handwired/keynet/keymaps/light/keymap.c new file mode 100644 index 000000000000..7e9e91752f44 --- /dev/null +++ b/keyboards/handwired/keynet/keymaps/light/keymap.c @@ -0,0 +1,355 @@ +// Copyright 2026 Arthur Frangyan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +enum layers { + _QWERTY, + _GEMINI, + _GAME_QWERTY, // qwerty without mod-tap + _GAME, + _GAME_COPR, + _GAME_NPAD, //numpad left hand + _BRUSH, + _NUMPAD, + _LOWER, + _RAISE, + _ADJUST, + _MENU, + _FN +}; +uint8_t _PAD_index = _NUMPAD; +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + PAD, + MKC_00 +}; + +#define GEMINI TO(_GEMINI) +#define GAME_QWRT TO(_GAME_QWERTY) +#define NUMPAD TO(_NUMPAD) +#define BRUSH TO(_BRUSH) +#define LOWER_F TO(_LOWER) +#define RAISE_F TO(_RAISE) +#define GAME_COPR TO(_GAME_COPR) +#define GAME TO(_GAME) +#define GAME_NPAD MO(_GAME_NPAD) +#define MENU MO(_MENU) +#define ADJUST MO(_ADJUST) + +#define C_BSPC C(KC_BSPC) +#define C_DEL C(KC_DEL) +#define C_DOWN C(KC_DOWN) +#define C_UP C(KC_UP) +#define C_RGHT C(KC_RGHT) +#define C_LEFT C(KC_LEFT) + +#define SPC_LOW LT(_LOWER, KC_SPC) +#define ENT_SWP SH_T(KC_ENT) + +#define SPC_REZ LT(_RAISE, KC_SPC) +#define DEL_RSFT RSFT_T(KC_DEL) +#define BSPC_REZ LT(_RAISE, KC_BSPC) + +#define V_ LT(_FN, KC_V) +#define Z_ LT(_ADJUST, KC_Z) +#define X_ LT(_RAISE, KC_X) +#define C_ LT(_LOWER, KC_C) +#define DOT_ LT(_RAISE, KC_DOT) +#define COMM_ LT(_LOWER, KC_COMM) + +#define F_ LSFT_T(KC_F) +#define D_ LCTL_T(KC_D) +#define S_ LALT_T(KC_S) +#define A_ LGUI_T(KC_A) +#define J_ RSFT_T(KC_J) +#define K_ RCTL_T(KC_K) +#define L_ RALT_T(KC_L) +#define SCLN_ RGUI_T(KC_SCLN) + +#define ESC_M_ LT(_MENU, KC_ESC) +#define QUOT_ LT(_MENU, KC_QUOT) +#define PENT_M LT(_MENU, KC_PENT) + +#define V_ LT(_FN, KC_V) +#define Z_ LT(_ADJUST, KC_Z) +#define X_ LT(_RAISE, KC_X) +#define C_ LT(_LOWER, KC_C) +#define DOT_ LT(_RAISE, KC_DOT) +#define COMM_ LT(_LOWER, KC_COMM) + +#define CngLngD S(KC_LALT) // LALT(KC_LSFT) +#define CngLngU RSFT(KC_LALT) // LALT(KC_RSFT) +#define CngLngG S(KC_LCTL) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_MENU] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F,GAME_QWRT,XXXXXXX, XXXXXXX,GAME_QWRT,RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_COPR,XXXXXXX, _______, _______, XXXXXXX, GAME_COPR,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_QWERTY] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LALT, KC_TAB, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, KC_BSPC, SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_RAISE] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_LOWER] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, PENT_M, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, KC_BSPC, _______, KC_0, MKC_00, KC_PDOT +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_NUMPAD] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, KC_BSPC, SPC_REZ, KC_PDOT, KC_P0, KC_PDOT +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_FN] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, KC_MRWD, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_MSTP, KC_MPLY, KC_BRID, KC_BRIU, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_LSFT, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME_COPR] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_UP, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME_NPAD] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_7, KC_8, KC_9, KC_T, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_4, KC_5, KC_6, KC_G, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_1, KC_2, KC_3, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_BRUSH] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, LOWER, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, KC_BSPC, SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_ADJUST] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME_QWERTY] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_QWRT,XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, LOWER, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, KC_BSPC, SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_ADJUST] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_COPR] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_NPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BRUSH] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case MKC_00: + if (record->event.pressed) { + tap_code(KC_0); + tap_code(KC_0); + } + return false; + case QWERTY: + if (record->event.pressed) { + _PAD_index = _NUMPAD; + set_single_persistent_default_layer(_QWERTY); + layer_clear(); + } + return false; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case SPC_LOW: + case C_: + case COMM_: + if(record->event.pressed) { + if (!record->tap.count) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_LOWER); + } + } + else { + if (!record->tap.count) { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_LOWER); + } + } + return true; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case SPC_REZ: + case BSPC_REZ: + case X_: + case DOT_: + if(record->event.pressed) { + if (!record->tap.count) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_RAISE); + } + } + else { + if (!record->tap.count) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + layer_off(_RAISE); + } + } + return true; + case GAME: + if (record->event.pressed) { + _PAD_index = _GAME; + } + return true; + case GAME_COPR: + if (record->event.pressed) { + _PAD_index = _GAME_COPR; + } + return true; + case PAD: + if (record->event.pressed) { + if (IS_LAYER_ON(_PAD_index)) + layer_off(_PAD_index); + else + layer_on(_PAD_index); + } + return false; + } + return true; +} diff --git a/keyboards/handwired/keynet/keymaps/light/rules.mk b/keyboards/handwired/keynet/keymaps/light/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/handwired/keynet/keymaps/light/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes From 84accd88c616760a26e54a6d63b87844eaacd27d Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 26 Feb 2026 03:01:44 +0400 Subject: [PATCH 17/20] refactor keymaps/max/keymap.c --- .../handwired/keynet/keymaps/max/keymap.c | 401 +++++++++--------- 1 file changed, 197 insertions(+), 204 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index 466e03d5f617..8458fbfccaf8 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -52,10 +52,6 @@ enum custom_keycodes { #define C_UP C(KC_UP) #define C_RGHT C(KC_RGHT) #define C_LEFT C(KC_LEFT) -#define A_DOWN A(KC_DOWN) -#define A_UP A(KC_UP) -#define A_RGHT A(KC_RGHT) -#define A_LEFT A(KC_LEFT) #define SPC_LOW LT(_LOWER, KC_SPC) #define ENT_SWP SH_T(KC_ENT) @@ -98,209 +94,206 @@ bool popSetKey(uint16_t); void normolizeMatrix(uint8_t* row, uint8_t* col); const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MENU] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F,GAME_QWRT,XXXXXXX, XXXXXXX,GAME_QWRT,RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_COPR,XXXXXXX, _______, _______, XXXXXXX, GAME_COPR,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LALT, TAB_SET, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GEMINI] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, BSPC_M, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_RREZ] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_LOWER] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, PENT_M, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, BSPC_RREZ,_______, KC_0, MKC_00, KC_PDOT - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_NUMPAD] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_RAISE] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_FN] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, KC_MRWD, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_MSTP, KC_MPLY, KC_BRID, KC_BRIU, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_LSFT, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GAME] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_GAME_COPR] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_UP, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GAME_NPAD] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_7, KC_8, KC_9, KC_T, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_4, KC_5, KC_6, KC_G, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_1, KC_2, KC_3, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - - [_BRUSH] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_ADJUST] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_GAME_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_QWRT,XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) +[_MENU] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F,GAME_QWRT,XXXXXXX, XXXXXXX,GAME_QWRT,RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAME_COPR,XXXXXXX, _______, _______, XXXXXXX, GAME_COPR,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_QWERTY] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, A_, S_, D_, F_, KC_G, KC_H, J_, K_, L_, SCLN_, QUOT_, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, Z_, X_, C_, V_, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, COMM_, DOT_, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LALT, TAB_SET, SPC_LOW, ENT_SWP, XXXXXXX, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GEMINI] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, BSPC_M, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_B, KC_C, KC_V, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_RREZ] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_LOWER] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, PENT_M, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, BSPC_RREZ,_______, KC_0, MKC_00, KC_PDOT +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_NUMPAD] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_RAISE] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_FN] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, KC_MRWD, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, KC_MSTP, KC_MPLY, KC_BRID, KC_BRIU, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, KC_LSFT, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, KC_ENT, BSPC_REZ, KC_SPC, DEL_RSFT, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME_COPR] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_DEL, KC_LWIN, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_CAPS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, PAD, KC_Y, KC_U, KC_UP, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_G, ESC_M_, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_B, SH_MON, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, _______, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_B, KC_G, KC_LALT, KC_SPC, GAME_NPAD,KC_ENT, _______, _______, KC_SPC, KC_P0, KC_PDOT, SH_MON +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME_NPAD] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_7, KC_8, KC_9, KC_T, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_4, KC_5, KC_6, KC_G, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_1, KC_2, KC_3, KC_B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_BRUSH] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, ESC_M_, KC_A, KC_S, D_, F_, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_ADJUST] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_GAME_QWERTY] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_QWRT,XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +) }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, - [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, - [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, - [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(_______, _______) }, - [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME_COPR] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_GAME_NPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_BRUSH] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_RREZ] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, - [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_ADJUST] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, + [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_COPR] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_GAME_NPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_BRUSH] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_RREZ] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, }; #endif @@ -615,4 +608,4 @@ bool isSetKey(uint16_t value) } } return false; -} \ No newline at end of file +} From 412f0900beff2d953466b17dc6b784c37ee0cb10 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 26 Feb 2026 03:03:48 +0400 Subject: [PATCH 18/20] Add basic layers to keymaps/default/keymap.c --- .../handwired/keynet/keymaps/default/keymap.c | 152 ++++++++++++++---- 1 file changed, 123 insertions(+), 29 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/default/keymap.c b/keyboards/handwired/keynet/keymaps/default/keymap.c index c227057ad836..12cf5acd53c2 100644 --- a/keyboards/handwired/keynet/keymaps/default/keymap.c +++ b/keyboards/handwired/keynet/keymaps/default/keymap.c @@ -5,43 +5,137 @@ enum layers { - _QWERTY, - _MENU + _QWERTY, + _MENU, + _LOWER, + _RAISE, + _ADJUST +}; +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + MKC_00 }; #define MENU MO(_MENU) +#define LOWER_F TO(_LOWER) +#define RAISE_F TO(_RAISE) + +#define C_BSPC C(KC_BSPC) +#define C_DEL C(KC_DEL) +#define C_DOWN C(KC_DOWN) +#define C_UP C(KC_UP) +#define C_RGHT C(KC_RGHT) +#define C_LEFT C(KC_LEFT) + +#define CngLngD S(KC_LALT) // LALT(KC_LSFT) +#define CngLngU RSFT(KC_LALT) // LALT(KC_RSFT) +#define CngLngG S(KC_LCTL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, 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_BSLS, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, - //└────────┴────────┴────────┼────────┼────────┼────────┼─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, KC_LALT, KC_TAB, KC_SPC, KC_ENT, XXXXXXX, KC_ENT, KC_BSPC, KC_SPC, KC_DEL, KC_RALT, KC_RWIN - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ), - [_MENU] = LAYOUT( - //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //└────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ - ) +[_QWERTY] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, 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_BSLS, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, MENU, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, +// └────────┴────────┴────────┼────────┼────────┼────────┼─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LALT, KC_TAB, KC_SPC, KC_ENT, LOWER, RAISE, KC_BSPC, KC_SPC, KC_DEL, KC_RALT, KC_RWIN +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_MENU] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER_F, RAISE_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_LOWER] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_PSCR, CngLngG, _______, C_LEFT, C_RGHT, _______, _______, _______, _______, KC_PERC, KC_7, KC_8, KC_9, KC_PSLS, KC_LBRC, KC_RBRC, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_CAPS, CngLngU, KC_PGUP, KC_LEFT, KC_RGHT, KC_UP, KC_INS, KC_PMNS, KC_4, KC_5, KC_6, KC_PAST, KC_PENT, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, CngLngD, KC_PGDN, KC_HOME, KC_END, KC_DOWN, _______, _______, _______, _______, _______, KC_ESC, KC_1, KC_2, KC_3, KC_PPLS, KC_EQL, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, KC_BSPC, _______, KC_0, MKC_00, KC_PDOT +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_RAISE] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_ADJUST] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, +// ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, +// └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +) }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, - [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) } + [_MENU] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, + [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_ADJUST] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) } }; #endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case MKC_00: + if (record->event.pressed) { + tap_code(KC_0); + tap_code(KC_0); + } + return false; + } + return true; +} From 617e43acd911acfe064273e792203abac7974eb8 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 26 Feb 2026 15:34:17 +0400 Subject: [PATCH 19/20] remove leftovers after refactoring --- keyboards/handwired/keynet/keymaps/light/keymap.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/light/keymap.c b/keyboards/handwired/keynet/keymaps/light/keymap.c index 7e9e91752f44..44d58e234937 100644 --- a/keyboards/handwired/keynet/keymaps/light/keymap.c +++ b/keyboards/handwired/keynet/keymaps/light/keymap.c @@ -6,7 +6,6 @@ enum layers { _QWERTY, - _GEMINI, _GAME_QWERTY, // qwerty without mod-tap _GAME, _GAME_COPR, @@ -28,7 +27,6 @@ enum custom_keycodes { MKC_00 }; -#define GEMINI TO(_GEMINI) #define GAME_QWRT TO(_GAME_QWERTY) #define NUMPAD TO(_NUMPAD) #define BRUSH TO(_BRUSH) @@ -90,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, EC_NORM, EC_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NK_OFF, NK_ON, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, GEMINI, LOWER_F, RAISE_F,GAME_QWRT,XXXXXXX, XXXXXXX,GAME_QWRT,RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER_F, RAISE_F,GAME_QWRT,XXXXXXX, XXXXXXX,GAME_QWRT,RAISE_F, LOWER_F, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX, _______, PAD, BRUSH, NUMPAD, QWERTY, GAME, GAME, QWERTY, NUMPAD, BRUSH, PAD, _______, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ @@ -251,7 +249,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_LOWER] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, [_RAISE] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_ADJUST] = { ENCODER_CCW_CW(MS_WHLD, MS_WHLU), ENCODER_CCW_CW(MS_WHLL, MS_WHLR) }, - [_GEMINI] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, [_GAME_QWERTY] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, [_GAME] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, [_GAME_COPR] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, From a6de7a314cd6735df413ca1cd28f7613ac1483be Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 26 Feb 2026 15:35:38 +0400 Subject: [PATCH 20/20] refactor: Imlement SET as layer --- .../handwired/keynet/keymaps/max/keymap.c | 312 +++--------------- 1 file changed, 49 insertions(+), 263 deletions(-) diff --git a/keyboards/handwired/keynet/keymaps/max/keymap.c b/keyboards/handwired/keynet/keymaps/max/keymap.c index 8458fbfccaf8..e21cf671aac2 100644 --- a/keyboards/handwired/keynet/keymaps/max/keymap.c +++ b/keyboards/handwired/keynet/keymaps/max/keymap.c @@ -16,21 +16,18 @@ enum layers { _LOWER, _RAISE, _ADJUST, - _MENU, _RREZ, - _FN + _FN, + _SET, + _MENU }; uint8_t _PAD_index = _NUMPAD; -bool isSetOn = false; -#define SET_BUFF_KEYS 10 -uint16_t SetKey[SET_BUFF_KEYS]; enum custom_keycodes { QWERTY = SAFE_RANGE, LOWER, RAISE, PAD, - MKC_00, - SET + MKC_00 }; #define GEMINI TO(_GEMINI) @@ -44,6 +41,7 @@ enum custom_keycodes { #define GAME_NPAD MO(_GAME_NPAD) #define MENU MO(_MENU) #define ADJUST MO(_ADJUST) +#define SET MO(_SET) #define C_BSPC C(KC_BSPC) @@ -55,7 +53,7 @@ enum custom_keycodes { #define SPC_LOW LT(_LOWER, KC_SPC) #define ENT_SWP SH_T(KC_ENT) -#define TAB_SET LT(0, KC_TAB) +#define TAB_SET LT(_SET, KC_TAB) #define SPC_REZ LT(_RAISE, KC_SPC) #define DEL_RSFT RSFT_T(KC_DEL) @@ -87,12 +85,6 @@ enum custom_keycodes { #define CngLngU RSFT(KC_LALT) // LALT(KC_RSFT) #define CngLngG S(KC_LCTL) -void mod_modKey(uint8_t, uint8_t, bool, bool); -void modKey(uint8_t , uint8_t , bool); -bool pushSetKey(uint16_t); -bool popSetKey(uint16_t); -void normolizeMatrix(uint8_t* row, uint8_t* col); - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MENU] = LAYOUT( // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ @@ -133,17 +125,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LWIN, KC_V, KC_C, KC_V, LOWER, RAISE, KC_N, KC_M, KC_N, KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), -[_RREZ] = LAYOUT( +[_NUMPAD] = LAYOUT( // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, // └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), [_LOWER] = LAYOUT( @@ -159,28 +151,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LWIN, KC_LCTL, KC_LALT, _______, _______, _______, _______, BSPC_RREZ,_______, KC_0, MKC_00, KC_PDOT // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), -[_NUMPAD] = LAYOUT( +[_RAISE] = LAYOUT( // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TAB, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P0, KC_PSLS, XXXXXXX, + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, ESC_M_, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PMNS, KC_PAST, KC_PIPE, + _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - XXXXXXX, KC_EQL, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PENT, _______, MENU, MENU, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PPLS, KC_PEQL, XXXXXXX, + _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, // └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - XXXXXXX, XXXXXXX, KC_0, SPC_LOW, _______, _______, KC_ENT, BSPC_RREZ,SPC_REZ, KC_PDOT, KC_P0, KC_PDOT + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), -[_RAISE] = LAYOUT( +[_ADJUST] = LAYOUT( // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, KC_GRV, KC_PIPE, KC_MINS, KC_PLUS, KC_LPRN, KC_LBRC, KC_RBRC, KC_RPRN, KC_EQL, KC_UNDS, KC_BSLS, _______, _______, + _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, KC_TILD, _______, KC_LCBR, _______, _______, _______, _______, _______, _______, KC_RCBR, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, // └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -250,30 +242,43 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), -[_ADJUST] = LAYOUT( +[_GAME_QWERTY] = LAYOUT( // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, MS_BTN4, MS_BTN5, MS_WHLU, _______, _______, _______, _______, _______, _______, _______, _______, + KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _______, _______, _______, _______, MS_WHLD, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_QWRT,XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, // └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), -[_GAME_QWERTY] = LAYOUT( +[_SET] = LAYOUT( +// ┌──────────┬──────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌──────────┬───────────┬───────────┬───────────┬──────────────┬──────────────┬──────────────┬──────────────┐ + G(KC_CAPS),G(KC_GRV), G(KC_1), A(KC_2), C(KC_3), S(KC_4), S(KC_5), S(KC_6), RSFT(KC_5),RSFT(KC_6),RSFT(KC_7), RCTL(KC_8), RALT(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), +// ├──────────├──────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├──────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼──────────────┤ + G(KC_BSPC),G(KC_TAB), G(KC_Q), A(KC_W), C(KC_E), S(KC_R), S(KC_T), XXXXXXX, XXXXXXX, RSFT(KC_Y), RSFT(KC_U), RCTL(KC_I), RALT(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), +// ├──────────├──────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └──────────┼───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼──────────────┤ + G(KC_DEL), G(KC_ESC), G(KC_A), A(KC_S), C(KC_D), S(KC_F), S(KC_G), RSFT(KC_H), RSFT(KC_J), RCTL(KC_K), RALT(KC_L), RGUI(KC_SCLN), RGUI(KC_QUOT), RGUI(KC_BSLS), +// ├──────────├──────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├───────────┼───────────┼───────────┼──────────────┼──────────────┼──────────────┼──────────────┤ + XXXXXXX, XXXXXXX, G(KC_Z), A(KC_X), C(KC_C), S(KC_V), S(KC_B), XXXXXXX, _______, _______, XXXXXXX, RSFT(KC_M), RSFT(KC_M),RCTL(KC_COMM),RALT(KC_DOT), RGUI(KC_SLSH), XXXXXXX, XXXXXXX, +// └──────────┴──────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┬──┴─────┬─────┴──┬────────┼──────────────┴──────────────┴──────────────┴──────────────┘ + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LALT, KC_LWIN, KC_LCTL +// └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ +), +[_RREZ] = LAYOUT( // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - KC_CAPS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┬────────┘ └────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_BSPC, ESC_M_, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, + XXXXXXX, MENU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ├────────├────────┼────────┼────────┼────────┼────────┼────────┤┌────────┐┌────────┐ ┌────────┐┌────────┐├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, MENU, GAME_QWRT,XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RCTL, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // └────────┴────────┴────────┼────────┴────────┴────────┴─┬──────┴┴┬───────┴┼────────┤ ├────────┼┴───────┬┴┴──────┬─┼────────┼────────┼────────┼────────┴────────┴────────┘ - KC_LWIN, SET, KC_LALT, KC_SPC, ENT_SWP, LOWER, KC_ENT, BSPC_RREZ,SPC_REZ, DEL_RSFT,KC_RALT, KC_RWIN + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX // └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) }; @@ -294,152 +299,12 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_NUMPAD] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, [_RREZ] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, [_FN] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [_SET] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, }; #endif -bool isSetKey(uint16_t); bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if(keycode == TAB_SET) { - if(record->event.pressed) { - if (!record->tap.count) { - isSetOn = true; - } - } else { - if (!record->tap.count) { - isSetOn = false; - } - } - return true; - } else if(keycode == SET) { - if(record->event.pressed) { - isSetOn = true; - } else { - isSetOn = false; - } - return true; - } - if((isSetOn && record->event.pressed) || isSetKey(keycode)) { - uint8_t modIndex; - uint8_t keyIndex = keycode; - - bool isKeyPressed = true; - bool isKeyComplicated = true; - - uint8_t col = record->event.key.col; - uint8_t row = record->event.key.row; - normolizeMatrix(&row, &col); - - switch (keycode) { - case F_: - keyIndex = KC_F; - break; - case D_: - keyIndex = KC_D; - break; - case S_: - keyIndex = KC_S; - break; - case A_: - keyIndex = KC_A; - break; - case C_: - keyIndex = KC_C; - break; - case X_: - keyIndex = KC_X; - break; - case V_: - keyIndex = KC_V; - break; - - case J_: - keyIndex = KC_J; - break; - case K_: - keyIndex = KC_K; - break; - case L_: - keyIndex = KC_L; - break; - case SCLN_: - keyIndex = KC_SCLN; - break; - case COMM_: - keyIndex = KC_COMM; - break; - case DOT_: - keyIndex = KC_DOT; - break; - case ESC_M_: - keyIndex = (uint8_t)KC_ESC; - break; - default: - isKeyComplicated = false; - break; - } - if(row < 4) { - switch (col) { - case 0: - case 1: - case 2: - modIndex = KC_LWIN; - break; - case 3: - modIndex = KC_LALT; - break; - case 4: - modIndex = KC_LCTL; - break; - case 5: - case 6: - modIndex = KC_LSFT; - break; - default: - isKeyPressed = false; - break; - } - } else if(row > 4 && row < 9) { - switch (col) - { - case 0: - case 1: - case 2: - modIndex = KC_RWIN; - break; - case 3: - modIndex = KC_RALT; - break; - case 4: - modIndex = KC_RCTL; - break; - case 5: - case 6: - modIndex = KC_RSFT; - break; - default: - isKeyPressed = false; - break; - } - } else { - isKeyPressed = false; - } if(isKeyPressed) { - bool success; - if(record->event.pressed) { - success = pushSetKey(keycode); - } else { - success = popSetKey(keycode); - } if(success) { - if((row == 2 || row == 7) && col > 1 && col < 6 && isKeyComplicated) { - // modKey(modIndex, keyIndex, record->event.pressed); - mod_modKey(modIndex, keyIndex, record->event.pressed, record->tap.count); - } else { - modKey(modIndex, keyIndex, record->event.pressed); - } - return false; - } - } - } switch (keycode) { case MKC_00: if (record->event.pressed) { @@ -461,7 +326,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } else { layer_off(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); - // layer_off(_SWP_HND); } return false; case SPC_LOW: @@ -529,83 +393,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; } - return true; -} - -void mod_modKey(uint8_t mod, uint8_t key, bool isPressed, bool isTapped) -{ - if(isPressed) { - if (isTapped) { - register_code(mod); - register_code(key); - } else { - register_code(mod); - } - } - else { - if (isTapped) { - unregister_code(mod); - unregister_code(key); - } else { - unregister_code(mod); - } - } -} - -void modKey(uint8_t mod, uint8_t key, bool isPressed) -{ - if(isPressed) { - register_code(mod); - register_code(key); - } else { - unregister_code(mod); - unregister_code(key); - } -} - -void normolizeMatrix(uint8_t* row, uint8_t* col) -{ - if(*row == 4 && *col == 7) { - *row = 3; - *col = 8; - } else if(*row == 9 && *col == 6) { - *col = 8; - } else if(*row == 4) { - if(*col == 0 || *col == 1) - *col += 1; - *col += 2; - } else if(*row == 9) { - *col+=3; - } -} -bool pushSetKey(uint16_t value) -{ - for (int i = 0; i < SET_BUFF_KEYS; ++i) { - if(SetKey[i] == 0) { - SetKey[i] = value; - return true; - } - } - return false; -} - -bool popSetKey(uint16_t value) -{ - for (int i = 0; i < SET_BUFF_KEYS; ++i) { - if(SetKey[i] == value) { - SetKey[i] = 0; - return true; - } - } - return false; -} - -bool isSetKey(uint16_t value) -{ - for (int i = 0; i < SET_BUFF_KEYS; ++i) { - if(SetKey[i] == value) { - return true; - } - } - return false; + return true; }