smallcat personal keyboard configuration
This commit is contained in:
parent
ff882608e0
commit
ceeb143cbf
|
|
@ -0,0 +1,5 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "keyboards/fingerpunch/src/config_pre.h"
|
||||||
|
|
||||||
|
#include "keyboards/fingerpunch/src/config_post.h"
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
{
|
||||||
|
"manufacturer": "Matt Petiteau",
|
||||||
|
"keyboard_name": "smallcat",
|
||||||
|
"url": "https://github.com/smallwat3r/smallcat",
|
||||||
|
"maintainer": "smallwat3r",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0xFEED",
|
||||||
|
"pid": "0x0000",
|
||||||
|
"device_version": "1.0.0"
|
||||||
|
},
|
||||||
|
"board": "GENERIC_RP_RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"processor": "RP2040",
|
||||||
|
"features": {
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"unicode": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"direct": [
|
||||||
|
[null, "GP26", "GP27", "GP28", null],
|
||||||
|
["GP15", "GP14", "GP13", "GP12", "GP0"],
|
||||||
|
[null, "GP5", "GP6", "GP7", null],
|
||||||
|
["GP10", "GP11", null, null, null]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"matrix_pins": {
|
||||||
|
"right": {
|
||||||
|
"direct": [
|
||||||
|
[null, "GP28", "GP27", "GP26", null],
|
||||||
|
["GP0", "GP12", "GP13", "GP14", "GP15"],
|
||||||
|
[null, "GP7", "GP6", "GP5", null],
|
||||||
|
["GP11", "GP10", null, null, null]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"transport": {
|
||||||
|
"protocol": "serial"
|
||||||
|
},
|
||||||
|
"soft_serial_pin": "GP1"
|
||||||
|
},
|
||||||
|
"layout_aliases": {
|
||||||
|
"LAYOUT": "LAYOUT_smallcat"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_smallcat": {
|
||||||
|
"layout":
|
||||||
|
[
|
||||||
|
{"x": 1, "y": 0.31, "matrix": [0, 1]},
|
||||||
|
{"x": 2, "y": 0, "matrix": [0, 2]},
|
||||||
|
{"x": 3, "y": 0.28, "matrix": [0, 3]},
|
||||||
|
|
||||||
|
{"x": 8, "y": 0.28, "matrix": [4, 1]},
|
||||||
|
{"x": 9, "y": 0, "matrix": [4, 2]},
|
||||||
|
{"x": 10, "y": 0.31, "matrix": [4, 3]},
|
||||||
|
|
||||||
|
{"x": 0, "y": 1.93, "matrix": [1, 0]},
|
||||||
|
{"x": 1, "y": 1.31, "matrix": [1, 1]},
|
||||||
|
{"x": 2, "y": 1, "matrix": [1, 2]},
|
||||||
|
{"x": 3, "y": 1.28, "matrix": [1, 3]},
|
||||||
|
{"x": 4, "y": 1.42, "matrix": [1, 4]},
|
||||||
|
|
||||||
|
{"x": 7, "y": 1.42, "matrix": [5, 0]},
|
||||||
|
{"x": 8, "y": 1.28, "matrix": [5, 1]},
|
||||||
|
{"x": 9, "y": 1, "matrix": [5, 2]},
|
||||||
|
{"x": 10, "y": 1.31, "matrix": [5, 3]},
|
||||||
|
{"x": 11, "y": 1.93, "matrix": [5, 4]},
|
||||||
|
|
||||||
|
{"x": 1, "y": 2.31, "matrix": [2, 1]},
|
||||||
|
{"x": 2, "y": 2, "matrix": [2, 2]},
|
||||||
|
{"x": 3, "y": 2.28, "matrix": [2, 3]},
|
||||||
|
|
||||||
|
{"x": 8, "y": 2.28, "matrix": [6, 1]},
|
||||||
|
{"x": 9, "y": 2, "matrix": [6, 2]},
|
||||||
|
{"x": 10, "y": 2.31, "matrix": [6, 3]},
|
||||||
|
|
||||||
|
{"x": 3.5, "y": 3.75, "matrix": [3, 0]},
|
||||||
|
{"x": 4.5, "y": 4, "matrix": [3, 1]},
|
||||||
|
|
||||||
|
{"x": 6.5, "y": 4, "matrix": [7, 0]},
|
||||||
|
{"x": 7.5, "y": 3.75, "matrix": [7, 1]}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
/* default generic keymap */
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_split_3x5_2(
|
||||||
|
KC_W, KC_F, KC_P, KC_L, KC_U, KC_Y,
|
||||||
|
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
|
||||||
|
KC_Q, KC_C, KC_D, KC_H, KC_COMM, KC_DOT,
|
||||||
|
KC_TRNS, KC_SPC, KC_BSPC, KC_ENT
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
/* combo definitions */
|
||||||
|
const uint16_t PROGMEM combo_x[] = {KC_W, KC_F, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_b[] = {KC_F, KC_P, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_z[] = {KC_Q, KC_C, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_v[] = {KC_C, KC_D, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_j[] = {KC_L, KC_U, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_k[] = {KC_H, KC_COMM, COMBO_END};
|
||||||
|
combo_t key_combos[] = {
|
||||||
|
COMBO(combo_x, KC_X),
|
||||||
|
COMBO(combo_b, KC_B),
|
||||||
|
COMBO(combo_z, KC_Z),
|
||||||
|
COMBO(combo_v, KC_V),
|
||||||
|
COMBO(combo_j, KC_J),
|
||||||
|
COMBO(combo_k, KC_K),
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
COMBO_ENABLE = yes
|
||||||
|
|
@ -0,0 +1,98 @@
|
||||||
|
/* Copyright 2025 Sadek Baroudi
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sadekbaroudi.h"
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The `LAYOUT_ffkb_base` macro is a template to allow the use of identical
|
||||||
|
* modifiers for the default layouts (eg ALPHA_ALT, Colemak, Dvorak, etc), so
|
||||||
|
* that there is no need to set them up for each layout, and modify all of
|
||||||
|
* them if I want to change them. This helps to keep consistency and ease
|
||||||
|
* of use. K## is a placeholder to pass through the individual keycodes
|
||||||
|
*/
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
#define LAYOUT_smallcat_base( \
|
||||||
|
K02, K03, K04, K07, K08, K09, \
|
||||||
|
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||||
|
K22, K23, K24, K27, K28, K29, \
|
||||||
|
K34, K35, K36, K37 \
|
||||||
|
) \
|
||||||
|
LAYOUT_wrapper( \
|
||||||
|
K02, K03, K04, K07, K08, K09, \
|
||||||
|
LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), \
|
||||||
|
K22, K23, K24, K27, K28, K29, \
|
||||||
|
LT(_FUNCTION,K34), LT(_NAVIGATION,K35), LT(_SYMBOLS,K36), LT(_MEDIA,K37) \
|
||||||
|
)
|
||||||
|
|
||||||
|
/* Re-pass though to allow templates to be used */
|
||||||
|
#define LAYOUT_smallcat_base_wrapper(...) LAYOUT_smallcat_base(__VA_ARGS__)
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_ALPHA_ALT] = LAYOUT_smallcat_base_wrapper(
|
||||||
|
__ALPHA_ALT_L1_K2__, __ALPHA_ALT_L1_K3__, __ALPHA_ALT_L1_K4__, __ALPHA_ALT_R1_K2__, __ALPHA_ALT_R1_K3__, __ALPHA_ALT_R1_K4__,
|
||||||
|
_________________ALPHA_ALT_L2_________________, _________________ALPHA_ALT_R2_________________,
|
||||||
|
__ALPHA_ALT_L3_K2__, __ALPHA_ALT_L3_K3__, __ALPHA_ALT_L3_K4__, __ALPHA_ALT_R3_K2__, __ALPHA_ALT_R3_K3__, __ALPHA_ALT_R3_K4__,
|
||||||
|
__ALPHA_ALT_THUMBS_LEFT_2_TUCKY__, __ALPHA_ALT_THUMBS_RIGHT_2_TUCKY__
|
||||||
|
),
|
||||||
|
|
||||||
|
[_ALPHA] = LAYOUT_smallcat_base_wrapper(
|
||||||
|
__ALPHA_L1_K2__, __ALPHA_L1_K3__, __ALPHA_L1_K4__, __ALPHA_R1_K2__, __ALPHA_R1_K3__, __ALPHA_R1_K4__,
|
||||||
|
__________________ALPHA_L2____________________, __________________ALPHA_R2____________________,
|
||||||
|
__ALPHA_L3_K2__, __ALPHA_L3_K3__, __ALPHA_L3_K4__, __ALPHA_R3_K2__, __ALPHA_R3_K3__, __ALPHA_R3_K4__,
|
||||||
|
__ALPHA_THUMBS_LEFT_2_TUCKY__, __ALPHA_THUMBS_RIGHT_2_TUCKY__
|
||||||
|
),
|
||||||
|
|
||||||
|
[_NAVIGATION] = LAYOUT_wrapper(
|
||||||
|
__NAV_1_K2__, __NAV_1_K3__, __NAV_1_K4__, __NUMPAD_1_K2__, __NUMPAD_1_K3__, __NUMPAD_1_K4__,
|
||||||
|
________________NAVIGATION_2_______________, _________________NUMPAD_2__________________,
|
||||||
|
__NAV_3_K2__, __NAV_3_K3__, __NAV_3_K4__, __NUMPAD_3_K2__, __NUMPAD_3_K3__, __NUMPAD_3_K4__,
|
||||||
|
_______, _______, /*KC_TAB, KC_BSPC,*/ KC_SPACE, KC_DOT
|
||||||
|
),
|
||||||
|
|
||||||
|
[_SYMBOLS] = LAYOUT_wrapper(
|
||||||
|
__SYMBOLS_L1_K2__, __SYMBOLS_L1_K3__, __SYMBOLS_L1_K4__, __SYMBOLS_R1_K2__, __SYMBOLS_R1_K3__, __SYMBOLS_R1_K4__,
|
||||||
|
________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________,
|
||||||
|
__META_NAV_L1_K2__, __META_NAV_L1_K3__, __META_NAV_L1_K4__, __META_NAV_L2_K2__, __META_NAV_L2_K3__, __META_NAV_L2_K4__,
|
||||||
|
_______, KC_ENT, /*KC_DEL, KC_BSPC,*/ _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FUNCTION] = LAYOUT_wrapper(
|
||||||
|
__SHIFTNAV_1_K2__, __SHIFTNAV_1_K3__, __SHIFTNAV_1_K4__, __FUNCTION_1_K2__, __FUNCTION_1_K3__, __FUNCTION_1_K4__,
|
||||||
|
________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________,
|
||||||
|
__SHIFTNAV_3_K2__, __SHIFTNAV_3_K3__, __SHIFTNAV_3_K4__, __FUNCTION_3_K2__, __FUNCTION_3_K3__, __FUNCTION_3_K4__,
|
||||||
|
_______, _______, /*_______, N_DEL_LINE,*/ KC_SPACE, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MEDIA] = LAYOUT_wrapper(
|
||||||
|
__RGB_1_K2__, __RGB_1_K3__, __RGB_1_K4__, __MACROS_1_K2__, __MACROS_1_K3__, __MACROS_1_K4__,
|
||||||
|
__RGB_2_K1__, __RGB_2_K2__, __RGB_2_K3__, __RGB_2_K4__, __RGB_2_K5__, _________________MACROS_2__________________,
|
||||||
|
__RGB_3_K2__, __RGB_3_K3__, __RGB_3_K4__, __MACROS_3_K2__, __MACROS_3_K3__, __MACROS_3_K4__,
|
||||||
|
_______, _______, /*_______, _______,*/ _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MOUSE] = LAYOUT_wrapper(
|
||||||
|
__MOUSE_1_K2__, __MOUSE_1_K3__, __MOUSE_1_K4__, _______, _______, _______,
|
||||||
|
__________________MOUSE_2__________________, _______, _______, _______, _______, _______,
|
||||||
|
__MOUSE_3_K2__, __MOUSE_3_K3__, __MOUSE_3_K4__, _______, _______, _______,
|
||||||
|
_______, KC_MS_BTN1, /*KC_MS_BTN3, KC_MS_BTN3,*/ KC_MS_BTN2, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
// Combo definitions in
|
||||||
|
// users/sadekbaroudi/combos.c
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
COMBO_ENABLE = yes
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 8
|
||||||
|
#define VIAL_TAP_DANCE_ENTRIES 20
|
||||||
|
#define VIAL_COMBO_ENTRIES 40
|
||||||
|
|
||||||
|
#define VIAL_KEYBOARD_UID {0xDA, 0x2A, 0xFA, 0x9D, 0x66, 0xE4, 0x31, 0x52}
|
||||||
|
#define VIAL_UNLOCK_COMBO_ROWS { 0, 1 }
|
||||||
|
#define VIAL_UNLOCK_COMBO_COLS { 1, 4 }
|
||||||
|
|
||||||
|
#define NO_ALT_REPEAT_KEY
|
||||||
|
|
||||||
|
/* make use of the mounted WS2812 led from the Waveshare RP2040-zero */
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
# define RGBLIGHT_LED_COUNT 1
|
||||||
|
# define RGBLIGHT_SPLIT
|
||||||
|
# define RGBLIGHT_DEFAULT_HUE 110
|
||||||
|
# define RGBLIGHT_LIMIT_VAL 10
|
||||||
|
# define RGBLIGHT_SLEEP
|
||||||
|
# define RGBLIGHT_LAYERS
|
||||||
|
# define RGBLIGHT_HUE_STEP 20
|
||||||
|
# define WS2812_DI_PIN GP16
|
||||||
|
#endif
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_RED});
|
||||||
|
const rgblight_segment_t PROGMEM osm_shift_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 1, HSV_YELLOW});
|
||||||
|
|
||||||
|
const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(capslock_layer, osm_shift_layer);
|
||||||
|
void keyboard_post_init_user(void) { rgblight_layers = rgb_layers; }
|
||||||
|
|
||||||
|
/* light up led in red when caps lock in on */
|
||||||
|
bool led_update_user(led_t led_state) {
|
||||||
|
rgblight_set_layer_state(0, led_state.caps_lock);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* light up led in yellow when sticky shift is activated */
|
||||||
|
void oneshot_mods_changed_user(uint8_t mods) {
|
||||||
|
if (mods & MOD_MASK_SHIFT) { rgblight_set_layer_state(1, true); }
|
||||||
|
if (!mods) { rgblight_set_layer_state(1, false); }
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* default empty layout */
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_split_3x5_2(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
VIA_ENABLE = yes
|
||||||
|
VIAL_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
TAP_DANCE_ENABLE = yes
|
||||||
|
MOUSEKEY_ENABLE = yes
|
||||||
|
EXTRAKEY_ENABLE = yes
|
||||||
|
REPEAT_KEY_ENABLE = yes
|
||||||
|
COMBO_ENABLE = yes
|
||||||
|
QMK_SETTINGS = yes
|
||||||
|
|
||||||
|
RGBLIGHT_ENABLE = yes
|
||||||
|
WS2812_DRIVER = vendor
|
||||||
|
|
||||||
|
KEY_OVERRIDE_ENABLE = no
|
||||||
|
VIAL_INSECURE = no
|
||||||
|
|
@ -0,0 +1,144 @@
|
||||||
|
{
|
||||||
|
"name": "smallcat",
|
||||||
|
"firmwareVersion": 0,
|
||||||
|
"keycodes": [
|
||||||
|
"via/keycodes"
|
||||||
|
],
|
||||||
|
"menus": [
|
||||||
|
"via/keymap",
|
||||||
|
"via/layouts",
|
||||||
|
"via/macros",
|
||||||
|
"via/save_load"
|
||||||
|
],
|
||||||
|
"matrix": {
|
||||||
|
"rows": 8,
|
||||||
|
"cols": 5
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"keymap": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"x": 2
|
||||||
|
},
|
||||||
|
"0,2",
|
||||||
|
{
|
||||||
|
"x": 5.25
|
||||||
|
},
|
||||||
|
"4,2"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.75,
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"0,1",
|
||||||
|
{
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"0,3",
|
||||||
|
{
|
||||||
|
"x": 3.25
|
||||||
|
},
|
||||||
|
"4,1",
|
||||||
|
{
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"4,3"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.25,
|
||||||
|
"x": 2
|
||||||
|
},
|
||||||
|
"1,2",
|
||||||
|
{
|
||||||
|
"x": 5.25
|
||||||
|
},
|
||||||
|
"5,2"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.75,
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"1,1",
|
||||||
|
{
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"1,3",
|
||||||
|
"1,4",
|
||||||
|
{
|
||||||
|
"x": 1.25
|
||||||
|
},
|
||||||
|
"5,0",
|
||||||
|
"5,1",
|
||||||
|
{
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"5,3"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.5
|
||||||
|
},
|
||||||
|
"1,0",
|
||||||
|
{
|
||||||
|
"x": 9.25
|
||||||
|
},
|
||||||
|
"5,4"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.75,
|
||||||
|
"x": 2
|
||||||
|
},
|
||||||
|
"2,2",
|
||||||
|
{
|
||||||
|
"x": 5.25
|
||||||
|
},
|
||||||
|
"6,2"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.75,
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"2,1",
|
||||||
|
{
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"2,3",
|
||||||
|
{
|
||||||
|
"x": 3.25
|
||||||
|
},
|
||||||
|
"6,1",
|
||||||
|
{
|
||||||
|
"x": 1
|
||||||
|
},
|
||||||
|
"6,3"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": 0.25,
|
||||||
|
"x": 3.5
|
||||||
|
},
|
||||||
|
"3,0",
|
||||||
|
{
|
||||||
|
"x": 2.25
|
||||||
|
},
|
||||||
|
"7,1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"y": -0.75,
|
||||||
|
"x": 4.5
|
||||||
|
},
|
||||||
|
"3,1",
|
||||||
|
{
|
||||||
|
"x": 0.25
|
||||||
|
},
|
||||||
|
"7,0"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Smallcat
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A 26-key split keyboard. [More info](https://github.com/smallwat3r/smallcat).
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Matt Petiteau](https://github.com/smallwat3r/)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make smallcat:vial
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# MCU name
|
||||||
|
SERIAL_DRIVER = vendor
|
||||||
|
|
||||||
|
include keyboards/fingerpunch/src/rules.mk
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
#include "smallcat.h"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
#pragma once
|
||||||
|
#include "quantum.h"
|
||||||
|
#include "keyboards/fingerpunch/src/fp.h"
|
||||||
|
|
@ -22,6 +22,66 @@ const uint16_t PROGMEM rparen_combo[] = {RSFT_T(KC_N), KC_H, COMBO_END};
|
||||||
const uint16_t PROGMEM rcurly_combo[] = {RALT_T(KC_E), KC_COMMA, COMBO_END};
|
const uint16_t PROGMEM rcurly_combo[] = {RALT_T(KC_E), KC_COMMA, COMBO_END};
|
||||||
const uint16_t PROGMEM rbracket_combo[] = {RGUI_T(KC_I), KC_DOT, COMBO_END};
|
const uint16_t PROGMEM rbracket_combo[] = {RGUI_T(KC_I), KC_DOT, COMBO_END};
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef KEYBOARD_fingerpunch_personal_smallcat
|
||||||
|
// Corner keys
|
||||||
|
// Base layer
|
||||||
|
const uint16_t PROGMEM q_combo[] = {KC_W, KC_F, COMBO_END};
|
||||||
|
const uint16_t PROGMEM b_combo[] = {KC_F, KC_P, COMBO_END};
|
||||||
|
const uint16_t PROGMEM z_combo[] = {KC_X, KC_C, COMBO_END};
|
||||||
|
const uint16_t PROGMEM v_combo[] = {KC_C, KC_D, COMBO_END};
|
||||||
|
const uint16_t PROGMEM j_combo[] = {KC_L, KC_U, COMBO_END};
|
||||||
|
const uint16_t PROGMEM k_combo[] = {KC_H, KC_COMM, COMBO_END};
|
||||||
|
const uint16_t PROGMEM semi_combo[] = {KC_U, KC_Y, COMBO_END};
|
||||||
|
const uint16_t PROGMEM slash_combo[] = {KC_COMM, KC_DOT, COMBO_END};
|
||||||
|
// Nav section
|
||||||
|
const uint16_t PROGMEM nav_tl_combo[] = {__NAV_1_K2__, __NAV_1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM nav_tr_combo[] = {__NAV_1_K3__, __NAV_1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM nav_bl_combo[] = {__NAV_3_K2__, __NAV_3_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM nav_br_combo[] = {__NAV_3_K3__, __NAV_3_K4__, COMBO_END};
|
||||||
|
// Numpad section
|
||||||
|
const uint16_t PROGMEM num_tl_combo[] = {__NUMPAD_1_K2__, __NUMPAD_1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM num_tr_combo[] = {__NUMPAD_1_K3__, __NUMPAD_1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM num_bl_combo[] = {__NUMPAD_3_K2__, __NUMPAD_3_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM num_br_combo[] = {__NUMPAD_3_K3__, __NUMPAD_3_K4__, COMBO_END};
|
||||||
|
// Symbols section
|
||||||
|
const uint16_t PROGMEM sym_l_tl_combo[] = {__SYMBOLS_L1_K2__, __SYMBOLS_L1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_l_tr_combo[] = {__SYMBOLS_L1_K3__, __SYMBOLS_L1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_l_bl_combo[] = {__META_NAV_L1_K2__, __META_NAV_L1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_l_br_combo[] = {__META_NAV_L1_K3__, __META_NAV_L1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_r_tl_combo[] = {__SYMBOLS_R1_K2__, __SYMBOLS_R1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_r_tr_combo[] = {__SYMBOLS_R1_K3__, __SYMBOLS_R1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_r_bl_combo[] = {__META_NAV_L2_K2__, __META_NAV_L2_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM sym_r_br_combo[] = {__META_NAV_L2_K3__, __META_NAV_L2_K4__, COMBO_END};
|
||||||
|
// Shift Nav section
|
||||||
|
const uint16_t PROGMEM shiftnav_tl_combo[] = {__SHIFTNAV_1_K2__, __SHIFTNAV_1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM shiftnav_tr_combo[] = {__SHIFTNAV_1_K3__, __SHIFTNAV_1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM shiftnav_bl_combo[] = {__SHIFTNAV_3_K2__, __SHIFTNAV_3_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM shiftnav_br_combo[] = {__SHIFTNAV_3_K3__, __SHIFTNAV_3_K4__, COMBO_END};
|
||||||
|
// Function section
|
||||||
|
const uint16_t PROGMEM function_tl_combo[] = {__FUNCTION_1_K2__, __FUNCTION_1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM function_tr_combo[] = {__FUNCTION_1_K3__, __FUNCTION_1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM function_bl_combo[] = {__FUNCTION_3_K2__, __FUNCTION_3_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM function_br_combo[] = {__FUNCTION_3_K3__, __FUNCTION_3_K4__, COMBO_END};
|
||||||
|
// RGB section
|
||||||
|
const uint16_t PROGMEM rgb_tl_combo[] = {__RGB_1_K2__, __RGB_1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM rgb_tr_combo[] = {__RGB_1_K3__, __RGB_1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM rgb_bl_combo[] = {__RGB_3_K2__, __RGB_3_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM rgb_br_combo[] = {__RGB_3_K3__, __RGB_3_K4__, COMBO_END};
|
||||||
|
// Macros section
|
||||||
|
const uint16_t PROGMEM macros_tl_combo[] = {__MACROS_1_K2__, __MACROS_1_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM macros_tr_combo[] = {__MACROS_1_K3__, __MACROS_1_K4__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM macros_bl_combo[] = {__MACROS_3_K2__, __MACROS_3_K3__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM macros_br_combo[] = {__MACROS_3_K3__, __MACROS_3_K4__, COMBO_END};
|
||||||
|
// Thumbs
|
||||||
|
const uint16_t PROGMEM thumb_l_combo[] = {LSFT_T(__ALPHA_L2_K4__), __ALPHA_L2_K5__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM thumb_r_combo[] = {LT(_MOUSE, __ALPHA_R2_K1__), RSFT_T(__ALPHA_R2_K2__), COMBO_END};
|
||||||
|
const uint16_t PROGMEM alt_thumb_l_combo[] = {LSFT_T(__ALPHA_ALT_L2_K4__), __ALPHA_ALT_L2_K5__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM alt_thumb_r_combo[] = {LT(_MOUSE, __ALPHA_ALT_R2_K1__), RSFT_T(__ALPHA_ALT_R2_K2__), COMBO_END};
|
||||||
|
const uint16_t PROGMEM thumb_l_reachy_nav_combo[] = {__NAV_2_K4__, __NAV_2_K5__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM thumb_r_reachy_num_combo[] = {__NUMPAD_2_K1__, __NUMPAD_2_K2__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM thumb_l_reachy_sym_combo[] = {__SYMBOLS_L2_K4__, __SYMBOLS_L2_K5__, COMBO_END};
|
||||||
|
const uint16_t PROGMEM thumb_r_reachy_sym_combo[] = {__SYMBOLS_R1_K1__, __SYMBOLS_R1_K2__, COMBO_END};
|
||||||
|
#endif
|
||||||
|
|
||||||
combo_t key_combos[COMBO_COUNT] = {
|
combo_t key_combos[COMBO_COUNT] = {
|
||||||
[UNDO] = COMBO_ACTION(undo_combo),
|
[UNDO] = COMBO_ACTION(undo_combo),
|
||||||
|
|
@ -41,6 +101,65 @@ combo_t key_combos[COMBO_COUNT] = {
|
||||||
[RCURLY] = COMBO_ACTION(rcurly_combo),
|
[RCURLY] = COMBO_ACTION(rcurly_combo),
|
||||||
[RBRACKET] = COMBO_ACTION(rbracket_combo),
|
[RBRACKET] = COMBO_ACTION(rbracket_combo),
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef KEYBOARD_fingerpunch_personal_smallcat
|
||||||
|
// Base layer
|
||||||
|
[Q] = COMBO_ACTION(q_combo),
|
||||||
|
[B] = COMBO_ACTION(b_combo),
|
||||||
|
[Z] = COMBO_ACTION(z_combo),
|
||||||
|
[V] = COMBO_ACTION(v_combo),
|
||||||
|
[J] = COMBO_ACTION(j_combo),
|
||||||
|
[K] = COMBO_ACTION(k_combo),
|
||||||
|
[SEMICOLON] = COMBO_ACTION(semi_combo),
|
||||||
|
[SLASH] = COMBO_ACTION(slash_combo),
|
||||||
|
// Nav section
|
||||||
|
[NAV_TL] = COMBO_ACTION(nav_tl_combo),
|
||||||
|
[NAV_TR] = COMBO_ACTION(nav_tr_combo),
|
||||||
|
[NAV_BL] = COMBO_ACTION(nav_bl_combo),
|
||||||
|
[NAV_BR] = COMBO_ACTION(nav_br_combo),
|
||||||
|
// Numpad section
|
||||||
|
[NUM_TL] = COMBO_ACTION(num_tl_combo),
|
||||||
|
[NUM_TR] = COMBO_ACTION(num_tr_combo),
|
||||||
|
[NUM_BL] = COMBO_ACTION(num_bl_combo),
|
||||||
|
[NUM_BR] = COMBO_ACTION(num_br_combo),
|
||||||
|
// Symbols section
|
||||||
|
[SYM_L_TL] = COMBO_ACTION(sym_l_tl_combo),
|
||||||
|
[SYM_L_TR] = COMBO_ACTION(sym_l_tr_combo),
|
||||||
|
[SYM_L_BL] = COMBO_ACTION(sym_l_bl_combo),
|
||||||
|
[SYM_L_BR] = COMBO_ACTION(sym_l_br_combo),
|
||||||
|
[SYM_R_TL] = COMBO_ACTION(sym_r_tl_combo),
|
||||||
|
[SYM_R_TR] = COMBO_ACTION(sym_r_tr_combo),
|
||||||
|
[SYM_R_BL] = COMBO_ACTION(sym_r_bl_combo),
|
||||||
|
[SYM_R_BR] = COMBO_ACTION(sym_r_br_combo),
|
||||||
|
// Shift Nav section
|
||||||
|
[SHIFTNAV_TL] = COMBO_ACTION(shiftnav_tl_combo),
|
||||||
|
[SHIFTNAV_TR] = COMBO_ACTION(shiftnav_tr_combo),
|
||||||
|
[SHIFTNAV_BL] = COMBO_ACTION(shiftnav_bl_combo),
|
||||||
|
[SHIFTNAV_BR] = COMBO_ACTION(shiftnav_br_combo),
|
||||||
|
// Function section
|
||||||
|
[FUNCTION_TL] = COMBO_ACTION(function_tl_combo),
|
||||||
|
[FUNCTION_TR] = COMBO_ACTION(function_tr_combo),
|
||||||
|
[FUNCTION_BL] = COMBO_ACTION(function_bl_combo),
|
||||||
|
[FUNCTION_BR] = COMBO_ACTION(function_br_combo),
|
||||||
|
// RGB section
|
||||||
|
[RGB_TL] = COMBO_ACTION(rgb_tl_combo),
|
||||||
|
[RGB_TR] = COMBO_ACTION(rgb_tr_combo),
|
||||||
|
[RGB_BL] = COMBO_ACTION(rgb_bl_combo),
|
||||||
|
[RGB_BR] = COMBO_ACTION(rgb_br_combo),
|
||||||
|
// Macros section
|
||||||
|
[MACROS_TL] = COMBO_ACTION(macros_tl_combo),
|
||||||
|
[MACROS_TR] = COMBO_ACTION(macros_tr_combo),
|
||||||
|
[MACROS_BL] = COMBO_ACTION(macros_bl_combo),
|
||||||
|
[MACROS_BR] = COMBO_ACTION(macros_br_combo),
|
||||||
|
// Thumbs
|
||||||
|
[THUMB_L] = COMBO_ACTION(thumb_l_combo),
|
||||||
|
[THUMB_R] = COMBO_ACTION(thumb_r_combo),
|
||||||
|
[ALT_THUMB_L] = COMBO_ACTION(alt_thumb_l_combo),
|
||||||
|
[ALT_THUMB_R] = COMBO_ACTION(alt_thumb_r_combo),
|
||||||
|
[THUMB_L_REACHY_NAV] = COMBO_ACTION(thumb_l_reachy_nav_combo),
|
||||||
|
[THUMB_R_REACHY_NUM] = COMBO_ACTION(thumb_r_reachy_num_combo),
|
||||||
|
[THUMB_L_REACHY_SYM] = COMBO_ACTION(thumb_l_reachy_sym_combo),
|
||||||
|
[THUMB_R_REACHY_SYM] = COMBO_ACTION(thumb_r_reachy_sym_combo),
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
void process_combo_event(uint16_t combo_index, bool pressed) {
|
void process_combo_event(uint16_t combo_index, bool pressed) {
|
||||||
|
|
@ -52,7 +171,7 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
|
||||||
tap_code16(LCTL(KC_Z));
|
tap_code16(LCTL(KC_Z));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef KEYBOARD_fingerpunch_arachnophobe
|
#if defined(KEYBOARD_fingerpunch_arachnophobe)
|
||||||
case Q:
|
case Q:
|
||||||
if (pressed) {
|
if (pressed) {
|
||||||
tap_code16(KC_Q);
|
tap_code16(KC_Q);
|
||||||
|
|
@ -123,8 +242,257 @@ void process_combo_event(uint16_t combo_index, bool pressed) {
|
||||||
tap_code16(RBRACKET);
|
tap_code16(RBRACKET);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#elif defined(KEYBOARD_fingerpunch_personal_smallcat)
|
||||||
|
case Q:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_Q);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case B:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_B);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Z:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_Z);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case V:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_V);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case J:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_J);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case K:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_K);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SEMICOLON:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_SCLN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SLASH:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(KC_SLSH);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NAV_TL:
|
||||||
|
if (pressed) {
|
||||||
|
// tap_code16(KC_ESC);
|
||||||
|
tap_code16(__NAV_1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NAV_TR:
|
||||||
|
// This is blank on my main layout
|
||||||
|
// if (pressed) {
|
||||||
|
// tap_code16(__NAV_3_K5__);
|
||||||
|
// }
|
||||||
|
break;
|
||||||
|
case NAV_BL:
|
||||||
|
if (pressed) {
|
||||||
|
// tap_code16(KC_ESC);
|
||||||
|
tap_code16(__NAV_3_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NAV_BR:
|
||||||
|
if (pressed) {
|
||||||
|
// tap_code16(LCTL(LGUI(KC_RIGHT)));
|
||||||
|
tap_code16(__NAV_3_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NUM_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__NUMPAD_1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NUM_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__NUMPAD_1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NUM_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__NUMPAD_3_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NUM_BR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__NUMPAD_3_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_L_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SYMBOLS_L1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_L_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SYMBOLS_L1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_L_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__META_NAV_L1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_L_BR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__META_NAV_L1_K5__);
|
||||||
|
}
|
||||||
|
case SYM_R_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SYMBOLS_R1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_R_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SYMBOLS_R1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_R_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__META_NAV_L2_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SYM_R_BR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__META_NAV_L2_K5__);
|
||||||
|
}
|
||||||
|
// Shift Nav section
|
||||||
|
case SHIFTNAV_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SHIFTNAV_1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SHIFTNAV_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SHIFTNAV_1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SHIFTNAV_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SHIFTNAV_3_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SHIFTNAV_BR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__SHIFTNAV_3_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
// Function section
|
||||||
|
case FUNCTION_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__FUNCTION_1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FUNCTION_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__FUNCTION_1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FUNCTION_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__FUNCTION_3_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FUNCTION_BR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__FUNCTION_3_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
// RGB section
|
||||||
|
case RGB_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__RGB_1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RGB_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__RGB_1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RGB_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__RGB_3_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RGB_BR:
|
||||||
|
// This key is blank on the default layout
|
||||||
|
// if (pressed) {
|
||||||
|
// tap_code16(__RGB_3_K5__);
|
||||||
|
// }
|
||||||
|
break;
|
||||||
|
// Macros section
|
||||||
|
case MACROS_TL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__MACROS_1_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MACROS_TR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__MACROS_1_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MACROS_BL:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__MACROS_3_K1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MACROS_BR:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__MACROS_3_K5__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
// Thumbs
|
||||||
|
case THUMB_L:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_THUMB_L3__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case THUMB_R:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_THUMB_R1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ALT_THUMB_L:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_ALT_THUMB_L3__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ALT_THUMB_R:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_ALT_THUMB_R1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case THUMB_L_REACHY_NAV:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_THUMB_L3__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case THUMB_R_REACHY_NUM:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_THUMB_R1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case THUMB_L_REACHY_SYM:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_THUMB_L1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case THUMB_R_REACHY_SYM:
|
||||||
|
if (pressed) {
|
||||||
|
tap_code16(__ALPHA_THUMB_R1__);
|
||||||
|
}
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// END COMBOS
|
// END COMBOS
|
||||||
#endif // stenographobe exclusion
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,14 @@
|
||||||
|
|
||||||
enum combo_events {
|
enum combo_events {
|
||||||
UNDO,
|
UNDO,
|
||||||
// REDO,
|
#if defined(KEYBOARD_fingerpunch_arachnophobe)
|
||||||
// ENTER,
|
// REDO,
|
||||||
// DELETE,
|
// ENTER,
|
||||||
// BACKSPACE,
|
// DELETE,
|
||||||
// APOSTROPHE,
|
// BACKSPACE,
|
||||||
// TAB,
|
// APOSTROPHE,
|
||||||
// CAPSWORD,
|
// TAB,
|
||||||
|
// CAPSWORD,
|
||||||
Q,
|
Q,
|
||||||
P,
|
P,
|
||||||
B,
|
B,
|
||||||
|
|
@ -25,4 +26,59 @@ enum combo_events {
|
||||||
RPAREN,
|
RPAREN,
|
||||||
RCURLY,
|
RCURLY,
|
||||||
RBRACKET,
|
RBRACKET,
|
||||||
|
#elif defined(KEYBOARD_fingerpunch_personal_smallcat)
|
||||||
|
Q,
|
||||||
|
B,
|
||||||
|
Z,
|
||||||
|
V,
|
||||||
|
J,
|
||||||
|
K,
|
||||||
|
SEMICOLON,
|
||||||
|
SLASH,
|
||||||
|
NAV_TL,
|
||||||
|
NAV_TR,
|
||||||
|
NAV_BL,
|
||||||
|
NAV_BR,
|
||||||
|
NUM_TL,
|
||||||
|
NUM_TR,
|
||||||
|
NUM_BL,
|
||||||
|
NUM_BR,
|
||||||
|
SYM_L_TL,
|
||||||
|
SYM_L_TR,
|
||||||
|
SYM_L_BL,
|
||||||
|
SYM_L_BR,
|
||||||
|
SYM_R_TL,
|
||||||
|
SYM_R_TR,
|
||||||
|
SYM_R_BL,
|
||||||
|
SYM_R_BR,
|
||||||
|
SHIFTNAV_TL,
|
||||||
|
SHIFTNAV_TR,
|
||||||
|
SHIFTNAV_BL,
|
||||||
|
SHIFTNAV_BR,
|
||||||
|
FUNCTION_TL,
|
||||||
|
FUNCTION_TR,
|
||||||
|
FUNCTION_BL,
|
||||||
|
FUNCTION_BR,
|
||||||
|
RGB_TL,
|
||||||
|
RGB_TR,
|
||||||
|
RGB_BL,
|
||||||
|
RGB_BR,
|
||||||
|
MACROS_TL,
|
||||||
|
MACROS_TR,
|
||||||
|
MACROS_BL,
|
||||||
|
MACROS_BR,
|
||||||
|
THUMB_L,
|
||||||
|
THUMB_R,
|
||||||
|
ALT_THUMB_L,
|
||||||
|
ALT_THUMB_R,
|
||||||
|
THUMB_L_REACHY,
|
||||||
|
THUMB_R_REACHY,
|
||||||
|
THUMB_L_REACHY_NAV,
|
||||||
|
THUMB_R_REACHY_NUM,
|
||||||
|
THUMB_L_REACHY_SYM,
|
||||||
|
THUMB_R_REACHY_SYM,
|
||||||
|
#else
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,12 @@
|
||||||
|
|
||||||
// check to see if we are using the stenographobe, and skip if so... it has its own whole combo scheme
|
// check to see if we are using the stenographobe, and skip if so... it has its own whole combo scheme
|
||||||
// see keyboards/fingerpunch/stenographobe/keymaps/*/config.h
|
// see keyboards/fingerpunch/stenographobe/keymaps/*/config.h
|
||||||
#ifndef KEYBOARD_fingerpunch_stenographobe
|
#if defined(KEYBOARD_fingerpunch_stenographobe)
|
||||||
|
#elif defined(KEYBOARD_fingerpunch_arachnophobe)
|
||||||
|
#define COMBO_COUNT 15
|
||||||
|
#elif defined(KEYBOARD_fingerpunch_personal_smallcat)
|
||||||
|
#define COMBO_COUNT 53
|
||||||
|
#else
|
||||||
#define COMBO_COUNT 15
|
#define COMBO_COUNT 15
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -31,6 +36,10 @@
|
||||||
#define LEADER_TIMEOUT 300
|
#define LEADER_TIMEOUT 300
|
||||||
#define LEADER_PER_KEY_TIMING
|
#define LEADER_PER_KEY_TIMING
|
||||||
|
|
||||||
|
// -------------------- Tap dance config ------------------------
|
||||||
|
#define TAPPING_TERM 175
|
||||||
|
#define TAPPING_TERM_PER_KEY
|
||||||
|
|
||||||
// ----------------- Cirque curved overlay override -----------------
|
// ----------------- Cirque curved overlay override -----------------
|
||||||
|
|
||||||
#ifdef CIRQUE_CURVED_OVERLAY_ENABLE
|
#ifdef CIRQUE_CURVED_OVERLAY_ENABLE
|
||||||
|
|
|
||||||
|
|
@ -62,3 +62,6 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes)
|
||||||
SRC += audio_userspace.c
|
SRC += audio_userspace.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
|
||||||
|
SRC += tapdances.c
|
||||||
|
endif
|
||||||
|
|
|
||||||
|
|
@ -173,7 +173,12 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
// I always type the shift keys too fast, so tapping term of 200 is way too high
|
// I always type the shift keys too fast, so tapping term of 200 is way too high
|
||||||
case LSFT_T(KC_T):
|
case LSFT_T(KC_T):
|
||||||
case RSFT_T(KC_N):
|
case RSFT_T(KC_N):
|
||||||
|
#ifdef KEYBOARD_fingerpunch_personal_smallcat
|
||||||
|
// There is an exception for smallcat, since the tapping term seems to be too short only on that board
|
||||||
|
return 150;
|
||||||
|
#else
|
||||||
return 75;
|
return 75;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
return TAPPING_TERM;
|
return TAPPING_TERM;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,11 @@ expanded before being used as arguments to the LAYOUT_xxx macro.
|
||||||
# define LAYOUT LAYOUT_le_chiffre_democratique
|
# define LAYOUT LAYOUT_le_chiffre_democratique
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Since LAYOUT_le_chiffre_democratique uses the name LAYOUT_le_chiffre_democratique instead of LAYOUT
|
||||||
|
#if (!defined(LAYOUT) && defined(LAYOUT_smallcat))
|
||||||
|
# define LAYOUT LAYOUT_smallcat
|
||||||
|
#endif
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
|
#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
|
||||||
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
||||||
|
|
@ -244,13 +249,16 @@ NOTE: These are all the same length. If you do a search/replace
|
||||||
#define __ALPHA_THUMB_R2__ KC_SPACE
|
#define __ALPHA_THUMB_R2__ KC_SPACE
|
||||||
#define __ALPHA_THUMB_R3__ KC_QUOT
|
#define __ALPHA_THUMB_R3__ KC_QUOT
|
||||||
|
|
||||||
#define __ALPHA_THUMBS_LEFT_2__ __ALPHA_THUMB_L2__, __ALPHA_THUMB_L3__
|
#define __ALPHA_THUMBS_LEFT_2_TUCKY__ __ALPHA_THUMB_L1__, __ALPHA_THUMB_L2__
|
||||||
#define __ALPHA_THUMBS_RIGHT_2__ __ALPHA_THUMB_R1__, __ALPHA_THUMB_R2__
|
#define __ALPHA_THUMBS_RIGHT_2_TUCKY__ __ALPHA_THUMB_R2__, __ALPHA_THUMB_R3__
|
||||||
|
|
||||||
|
#define __ALPHA_THUMBS_LEFT_2_REACHY__ __ALPHA_THUMB_L2__, __ALPHA_THUMB_L3__
|
||||||
|
#define __ALPHA_THUMBS_RIGHT_2_REACHY__ __ALPHA_THUMB_R1__, __ALPHA_THUMB_R2__
|
||||||
|
|
||||||
#define __ALPHA_THUMBS_LEFT_3__ __ALPHA_THUMB_L1__, __ALPHA_THUMB_L2__, __ALPHA_THUMB_L3__
|
#define __ALPHA_THUMBS_LEFT_3__ __ALPHA_THUMB_L1__, __ALPHA_THUMB_L2__, __ALPHA_THUMB_L3__
|
||||||
#define __ALPHA_THUMBS_RIGHT_3__ __ALPHA_THUMB_R1__, __ALPHA_THUMB_R2__, __ALPHA_THUMB_R3__
|
#define __ALPHA_THUMBS_RIGHT_3__ __ALPHA_THUMB_R1__, __ALPHA_THUMB_R2__, __ALPHA_THUMB_R3__
|
||||||
|
|
||||||
#define __ALPHA_THUMBS_4__ __ALPHA_THUMBS_LEFT_2__, __ALPHA_THUMBS_RIGHT_2__
|
#define __ALPHA_THUMBS_4__ __ALPHA_THUMBS_LEFT_2_REACHY__, __ALPHA_THUMBS_RIGHT_2_REACHY__
|
||||||
#define __ALPHA_THUMBS_5__ __ALPHA_THUMB_L1__, __ALPHA_THUMB_L2__, __ALPHA_THUMB_R1__, __ALPHA_THUMB_R2__, __ALPHA_THUMB_R3__
|
#define __ALPHA_THUMBS_5__ __ALPHA_THUMB_L1__, __ALPHA_THUMB_L2__, __ALPHA_THUMB_R1__, __ALPHA_THUMB_R2__, __ALPHA_THUMB_R3__
|
||||||
#define __ALPHA_THUMBS_6__ __ALPHA_THUMBS_LEFT_3__, __ALPHA_THUMBS_RIGHT_3__
|
#define __ALPHA_THUMBS_6__ __ALPHA_THUMBS_LEFT_3__, __ALPHA_THUMBS_RIGHT_3__
|
||||||
|
|
||||||
|
|
@ -261,13 +269,16 @@ NOTE: These are all the same length. If you do a search/replace
|
||||||
#define __ALPHA_ALT_THUMB_R2__ __ALPHA_THUMB_R2__
|
#define __ALPHA_ALT_THUMB_R2__ __ALPHA_THUMB_R2__
|
||||||
#define __ALPHA_ALT_THUMB_R3__ __ALPHA_THUMB_R3__
|
#define __ALPHA_ALT_THUMB_R3__ __ALPHA_THUMB_R3__
|
||||||
|
|
||||||
#define __ALPHA_ALT_THUMBS_LEFT_2__ __ALPHA_ALT_THUMB_L2__, __ALPHA_ALT_THUMB_L3__
|
#define __ALPHA_ALT_THUMBS_LEFT_2_TUCKY__ __ALPHA_ALT_THUMB_L1__, __ALPHA_ALT_THUMB_L2__
|
||||||
#define __ALPHA_ALT_THUMBS_RIGHT_2__ __ALPHA_ALT_THUMB_R1__, __ALPHA_ALT_THUMB_R2__
|
#define __ALPHA_ALT_THUMBS_RIGHT_2_TUCKY__ __ALPHA_ALT_THUMB_R2__, __ALPHA_ALT_THUMB_R3__
|
||||||
|
|
||||||
|
#define __ALPHA_ALT_THUMBS_LEFT_2_REACHY__ __ALPHA_ALT_THUMB_L2__, __ALPHA_ALT_THUMB_L3__
|
||||||
|
#define __ALPHA_ALT_THUMBS_RIGHT_2_REACHY__ __ALPHA_ALT_THUMB_R1__, __ALPHA_ALT_THUMB_R2__
|
||||||
|
|
||||||
#define __ALPHA_ALT_THUMBS_LEFT_3__ __ALPHA_ALT_THUMB_L1__, __ALPHA_ALT_THUMB_L2__, __ALPHA_ALT_THUMB_L3__
|
#define __ALPHA_ALT_THUMBS_LEFT_3__ __ALPHA_ALT_THUMB_L1__, __ALPHA_ALT_THUMB_L2__, __ALPHA_ALT_THUMB_L3__
|
||||||
#define __ALPHA_ALT_THUMBS_RIGHT_3__ __ALPHA_ALT_THUMB_R1__, __ALPHA_ALT_THUMB_R2__, __ALPHA_ALT_THUMB_R3__
|
#define __ALPHA_ALT_THUMBS_RIGHT_3__ __ALPHA_ALT_THUMB_R1__, __ALPHA_ALT_THUMB_R2__, __ALPHA_ALT_THUMB_R3__
|
||||||
|
|
||||||
#define __ALPHA_ALT_THUMBS_4__ __ALPHA_ALT_THUMBS_LEFT_2__, __ALPHA_ALT_THUMBS_RIGHT_2__
|
#define __ALPHA_ALT_THUMBS_4__ __ALPHA_ALT_THUMBS_LEFT_2_REACHY__, __ALPHA_ALT_THUMBS_RIGHT_2_REACHY__
|
||||||
#define __ALPHA_ALT_THUMBS_5__ __ALPHA_ALT_THUMB_L1__, __ALPHA_ALT_THUMB_L2__, __ALPHA_ALT_THUMB_R1__, __ALPHA_ALT_THUMB_R2__, __ALPHA_ALT_THUMB_R3__
|
#define __ALPHA_ALT_THUMBS_5__ __ALPHA_ALT_THUMB_L1__, __ALPHA_ALT_THUMB_L2__, __ALPHA_ALT_THUMB_R1__, __ALPHA_ALT_THUMB_R2__, __ALPHA_ALT_THUMB_R3__
|
||||||
#define __ALPHA_ALT_THUMBS_6__ __ALPHA_ALT_THUMBS_LEFT_3__, __ALPHA_ALT_THUMBS_RIGHT_3__
|
#define __ALPHA_ALT_THUMBS_6__ __ALPHA_ALT_THUMBS_LEFT_3__, __ALPHA_ALT_THUMBS_RIGHT_3__
|
||||||
|
|
||||||
|
|
@ -277,19 +288,43 @@ NOTE: These are all the same length. If you do a search/replace
|
||||||
#define __ALPHA_ALT_L1_K4__ KC_P
|
#define __ALPHA_ALT_L1_K4__ KC_P
|
||||||
#define __ALPHA_ALT_L1_K5__ KC_B
|
#define __ALPHA_ALT_L1_K5__ KC_B
|
||||||
|
|
||||||
|
#define __ALPHA_ALT_L2_K1__ KC_A
|
||||||
|
#define __ALPHA_ALT_L2_K2__ KC_R
|
||||||
|
#define __ALPHA_ALT_L2_K3__ KC_S
|
||||||
|
#define __ALPHA_ALT_L2_K4__ KC_T
|
||||||
|
#define __ALPHA_ALT_L2_K5__ KC_G
|
||||||
|
|
||||||
|
#define __ALPHA_ALT_L3_K1__ KC_Z
|
||||||
|
#define __ALPHA_ALT_L3_K2__ KC_X
|
||||||
|
#define __ALPHA_ALT_L3_K3__ KC_C
|
||||||
|
#define __ALPHA_ALT_L3_K4__ KC_D
|
||||||
|
#define __ALPHA_ALT_L3_K5__ KC_V
|
||||||
|
|
||||||
#define __ALPHA_ALT_R1_K1__ KC_J
|
#define __ALPHA_ALT_R1_K1__ KC_J
|
||||||
#define __ALPHA_ALT_R1_K2__ KC_L
|
#define __ALPHA_ALT_R1_K2__ KC_L
|
||||||
#define __ALPHA_ALT_R1_K3__ KC_U
|
#define __ALPHA_ALT_R1_K3__ KC_U
|
||||||
#define __ALPHA_ALT_R1_K4__ KC_Y
|
#define __ALPHA_ALT_R1_K4__ KC_Y
|
||||||
#define __ALPHA_ALT_R1_K5__ KC_SCLN
|
#define __ALPHA_ALT_R1_K5__ KC_SCLN
|
||||||
|
|
||||||
|
#define __ALPHA_ALT_R2_K1__ KC_M
|
||||||
|
#define __ALPHA_ALT_R2_K2__ KC_N
|
||||||
|
#define __ALPHA_ALT_R2_K3__ KC_E
|
||||||
|
#define __ALPHA_ALT_R2_K4__ KC_I
|
||||||
|
#define __ALPHA_ALT_R2_K5__ KC_H
|
||||||
|
|
||||||
|
#define __ALPHA_ALT_R3_K1__ KC_K
|
||||||
|
#define __ALPHA_ALT_R3_K2__ KC_NO
|
||||||
|
#define __ALPHA_ALT_R3_K3__ KC_COMM
|
||||||
|
#define __ALPHA_ALT_R3_K4__ KC_DOT
|
||||||
|
#define __ALPHA_ALT_R3_K5__ KC_SLASH
|
||||||
|
|
||||||
#define _________________ALPHA_ALT_L1_________________ __ALPHA_ALT_L1_K1__, __ALPHA_ALT_L1_K2__, __ALPHA_ALT_L1_K3__, __ALPHA_ALT_L1_K4__, __ALPHA_ALT_L1_K5__
|
#define _________________ALPHA_ALT_L1_________________ __ALPHA_ALT_L1_K1__, __ALPHA_ALT_L1_K2__, __ALPHA_ALT_L1_K3__, __ALPHA_ALT_L1_K4__, __ALPHA_ALT_L1_K5__
|
||||||
#define _________________ALPHA_ALT_L2_________________ KC_A, KC_R, KC_S, KC_T, KC_G
|
#define _________________ALPHA_ALT_L2_________________ __ALPHA_ALT_L2_K1__, __ALPHA_ALT_L2_K2__, __ALPHA_ALT_L2_K3__, __ALPHA_ALT_L2_K4__, __ALPHA_ALT_L2_K5__
|
||||||
#define _________________ALPHA_ALT_L3_________________ KC_Z, KC_X, KC_C, KC_D, KC_V
|
#define _________________ALPHA_ALT_L3_________________ __ALPHA_ALT_L3_K1__, __ALPHA_ALT_L3_K2__, __ALPHA_ALT_L3_K3__, __ALPHA_ALT_L3_K4__, __ALPHA_ALT_L3_K5__
|
||||||
|
|
||||||
#define _________________ALPHA_ALT_R1_________________ __ALPHA_ALT_R1_K1__, __ALPHA_ALT_R1_K2__, __ALPHA_ALT_R1_K3__, __ALPHA_ALT_R1_K4__, __ALPHA_ALT_R1_K5__
|
#define _________________ALPHA_ALT_R1_________________ __ALPHA_ALT_R1_K1__, __ALPHA_ALT_R1_K2__, __ALPHA_ALT_R1_K3__, __ALPHA_ALT_R1_K4__, __ALPHA_ALT_R1_K5__
|
||||||
#define _________________ALPHA_ALT_R2_________________ KC_M, KC_N, KC_E, KC_I, KC_H
|
#define _________________ALPHA_ALT_R2_________________ __ALPHA_ALT_R2_K1__, __ALPHA_ALT_R2_K2__, __ALPHA_ALT_R2_K3__, __ALPHA_ALT_R2_K4__, __ALPHA_ALT_R2_K5__
|
||||||
#define _________________ALPHA_ALT_R3_________________ KC_K, KC_NO, KC_COMM, KC_DOT, KC_SLASH
|
#define _________________ALPHA_ALT_R3_________________ __ALPHA_ALT_R3_K1__, __ALPHA_ALT_R3_K2__, __ALPHA_ALT_R3_K3__, __ALPHA_ALT_R3_K4__, __ALPHA_ALT_R3_K5__
|
||||||
|
|
||||||
/* This is the target
|
/* This is the target
|
||||||
#define _________________ALPHA_ALT_L1_________________ KC_ENT, KC_Q, KC_W, KC_P, KC_B
|
#define _________________ALPHA_ALT_L1_________________ KC_ENT, KC_Q, KC_W, KC_P, KC_B
|
||||||
|
|
@ -307,20 +342,44 @@ NOTE: These are all the same length. If you do a search/replace
|
||||||
#define __ALPHA_L1_K4__ KC_P
|
#define __ALPHA_L1_K4__ KC_P
|
||||||
#define __ALPHA_L1_K5__ KC_B
|
#define __ALPHA_L1_K5__ KC_B
|
||||||
|
|
||||||
|
#define __ALPHA_L2_K1__ KC_A
|
||||||
|
#define __ALPHA_L2_K2__ KC_R
|
||||||
|
#define __ALPHA_L2_K3__ KC_S
|
||||||
|
#define __ALPHA_L2_K4__ KC_T
|
||||||
|
#define __ALPHA_L2_K5__ KC_G
|
||||||
|
|
||||||
|
#define __ALPHA_L3_K1__ KC_Z
|
||||||
|
#define __ALPHA_L3_K2__ KC_X
|
||||||
|
#define __ALPHA_L3_K3__ KC_C
|
||||||
|
#define __ALPHA_L3_K4__ KC_D
|
||||||
|
#define __ALPHA_L3_K5__ KC_V
|
||||||
|
|
||||||
#define __ALPHA_R1_K1__ KC_J
|
#define __ALPHA_R1_K1__ KC_J
|
||||||
#define __ALPHA_R1_K2__ KC_L
|
#define __ALPHA_R1_K2__ KC_L
|
||||||
#define __ALPHA_R1_K3__ KC_U
|
#define __ALPHA_R1_K3__ KC_U
|
||||||
#define __ALPHA_R1_K4__ KC_Y
|
#define __ALPHA_R1_K4__ KC_Y
|
||||||
#define __ALPHA_R1_K5__ KC_SCLN
|
#define __ALPHA_R1_K5__ KC_SCLN
|
||||||
|
|
||||||
// ALPHA
|
#define __ALPHA_R2_K1__ KC_M
|
||||||
#define __________________ALPHA_L1____________________ KC_Q, KC_W, KC_F, KC_P, KC_B
|
#define __ALPHA_R2_K2__ KC_N
|
||||||
#define __________________ALPHA_L2____________________ KC_A, KC_R, KC_S, KC_T, KC_G
|
#define __ALPHA_R2_K3__ KC_E
|
||||||
#define __________________ALPHA_L3____________________ KC_Z, KC_X, KC_C, KC_D, KC_V
|
#define __ALPHA_R2_K4__ KC_I
|
||||||
|
#define __ALPHA_R2_K5__ KC_O
|
||||||
|
|
||||||
#define __________________ALPHA_R1____________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
#define __ALPHA_R3_K1__ KC_K
|
||||||
#define __________________ALPHA_R2____________________ KC_M, KC_N, KC_E, KC_I, KC_O
|
#define __ALPHA_R3_K2__ KC_H
|
||||||
#define __________________ALPHA_R3____________________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH
|
#define __ALPHA_R3_K3__ KC_COMM
|
||||||
|
#define __ALPHA_R3_K4__ KC_DOT
|
||||||
|
#define __ALPHA_R3_K5__ KC_SLASH
|
||||||
|
|
||||||
|
// ALPHA
|
||||||
|
#define __________________ALPHA_L1____________________ __ALPHA_L1_K1__, __ALPHA_L1_K2__, __ALPHA_L1_K3__, __ALPHA_L1_K4__, __ALPHA_L1_K5__
|
||||||
|
#define __________________ALPHA_L2____________________ __ALPHA_L2_K1__, __ALPHA_L2_K2__, __ALPHA_L2_K3__, __ALPHA_L2_K4__, __ALPHA_L2_K5__
|
||||||
|
#define __________________ALPHA_L3____________________ __ALPHA_L3_K1__, __ALPHA_L3_K2__, __ALPHA_L3_K3__, __ALPHA_L3_K4__, __ALPHA_L3_K5__
|
||||||
|
|
||||||
|
#define __________________ALPHA_R1____________________ __ALPHA_R1_K1__, __ALPHA_R1_K2__, __ALPHA_R1_K3__, __ALPHA_R1_K4__, __ALPHA_R1_K5__
|
||||||
|
#define __________________ALPHA_R2____________________ __ALPHA_R2_K1__, __ALPHA_R2_K2__, __ALPHA_R2_K3__, __ALPHA_R2_K4__, __ALPHA_R2_K5__
|
||||||
|
#define __________________ALPHA_R3____________________ __ALPHA_R3_K1__, __ALPHA_R3_K2__, __ALPHA_R3_K3__, __ALPHA_R3_K4__, __ALPHA_R3_K5__
|
||||||
|
|
||||||
// BLANK FULL LINE
|
// BLANK FULL LINE
|
||||||
#define ___________________BLANK___________________ _______, _______, _______, _______, _______
|
#define ___________________BLANK___________________ _______, _______, _______, _______, _______
|
||||||
|
|
@ -445,27 +504,27 @@ NOTE: These are all the same length. If you do a search/replace
|
||||||
#define ________________SHIFTNAV_2_________________ __SHIFTNAV_2_K1__, __SHIFTNAV_2_K2__, __SHIFTNAV_2_K3__, __SHIFTNAV_2_K4__, __SHIFTNAV_2_K5__
|
#define ________________SHIFTNAV_2_________________ __SHIFTNAV_2_K1__, __SHIFTNAV_2_K2__, __SHIFTNAV_2_K3__, __SHIFTNAV_2_K4__, __SHIFTNAV_2_K5__
|
||||||
#define ________________SHIFTNAV_3_________________ __SHIFTNAV_3_K1__, __SHIFTNAV_3_K2__, __SHIFTNAV_3_K3__, __SHIFTNAV_3_K4__, __SHIFTNAV_3_K5__
|
#define ________________SHIFTNAV_3_________________ __SHIFTNAV_3_K1__, __SHIFTNAV_3_K2__, __SHIFTNAV_3_K3__, __SHIFTNAV_3_K4__, __SHIFTNAV_3_K5__
|
||||||
|
|
||||||
#define __FUNCION_1_K1__ KC_MPLY
|
#define __FUNCTION_1_K1__ KC_MPLY
|
||||||
#define __FUNCION_1_K2__ KC_F7
|
#define __FUNCTION_1_K2__ KC_F7
|
||||||
#define __FUNCION_1_K3__ KC_F8
|
#define __FUNCTION_1_K3__ KC_F8
|
||||||
#define __FUNCION_1_K4__ KC_F9
|
#define __FUNCTION_1_K4__ KC_F9
|
||||||
#define __FUNCION_1_K5__ KC_F10
|
#define __FUNCTION_1_K5__ KC_F10
|
||||||
|
|
||||||
#define __FUNCION_2_K1__ KC_VOLU
|
#define __FUNCTION_2_K1__ KC_VOLU
|
||||||
#define __FUNCION_2_K2__ KC_F4
|
#define __FUNCTION_2_K2__ KC_F4
|
||||||
#define __FUNCION_2_K3__ KC_F5
|
#define __FUNCTION_2_K3__ KC_F5
|
||||||
#define __FUNCION_2_K4__ KC_F6
|
#define __FUNCTION_2_K4__ KC_F6
|
||||||
#define __FUNCION_2_K5__ KC_F11
|
#define __FUNCTION_2_K5__ KC_F11
|
||||||
|
|
||||||
#define __FUNCION_3_K1__ KC_VOLD
|
#define __FUNCTION_3_K1__ KC_VOLD
|
||||||
#define __FUNCION_3_K2__ KC_F1
|
#define __FUNCTION_3_K2__ KC_F1
|
||||||
#define __FUNCION_3_K3__ KC_F2
|
#define __FUNCTION_3_K3__ KC_F2
|
||||||
#define __FUNCION_3_K4__ KC_F3
|
#define __FUNCTION_3_K4__ KC_F3
|
||||||
#define __FUNCION_3_K5__ KC_F12
|
#define __FUNCTION_3_K5__ KC_F12
|
||||||
|
|
||||||
#define ________________FUNCTION_1_________________ __FUNCION_1_K1__, __FUNCION_1_K2__, __FUNCION_1_K3__, __FUNCION_1_K4__, __FUNCION_1_K5__
|
#define ________________FUNCTION_1_________________ __FUNCTION_1_K1__, __FUNCTION_1_K2__, __FUNCTION_1_K3__, __FUNCTION_1_K4__, __FUNCTION_1_K5__
|
||||||
#define ________________FUNCTION_2_________________ __FUNCION_2_K1__, __FUNCION_2_K2__, __FUNCION_2_K3__, __FUNCION_2_K4__, __FUNCION_2_K5__
|
#define ________________FUNCTION_2_________________ __FUNCTION_2_K1__, __FUNCTION_2_K2__, __FUNCTION_2_K3__, __FUNCTION_2_K4__, __FUNCTION_2_K5__
|
||||||
#define ________________FUNCTION_3_________________ __FUNCION_3_K1__, __FUNCION_3_K2__, __FUNCION_3_K3__, __FUNCION_3_K4__, __FUNCION_3_K5__
|
#define ________________FUNCTION_3_________________ __FUNCTION_3_K1__, __FUNCTION_3_K2__, __FUNCTION_3_K3__, __FUNCTION_3_K4__, __FUNCTION_3_K5__
|
||||||
|
|
||||||
// MEDIA LAYER
|
// MEDIA LAYER
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue