MOUSE KEYS CHANGE

This commit is contained in:
oco9oco 2025-10-15 14:57:09 +09:00
commit 5f26a2ebe6
25 changed files with 323 additions and 426 deletions

View file

@ -18,5 +18,60 @@
#pragma once
/* Trackball angle adjustment. */
#define ROTATIONAL_TRANSFORM_ANGLE -25
/* Pointing device configuration. */
// Enable use of pointing device on slave split.
#define SPLIT_POINTING_ENABLE
// Pointing device is on the right split.
#define POINTING_DEVICE_RIGHT
// Limits the frequency that the sensor is polled for motion.
#define POINTING_DEVICE_TASK_THROTTLE_MS 1
// Invert X axis on mouse reports.
#define POINTING_DEVICE_INVERT_X
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_SAT
# define ENABLE_RGB_MATRIX_BAND_VAL
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_ALL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
# define ENABLE_RGB_MATRIX_RAINDROPS
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
# define ENABLE_RGB_MATRIX_HUE_WAVE
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif

View file

@ -0,0 +1,5 @@
// Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define POINTING_DEVICE_CS_PIN F0

View file

@ -0,0 +1,19 @@
{
"build": {
"lto": true
},
"development_board": "elite_c",
"matrix_pins": {
"cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
"rows": ["F4", "F7", "C6", "D4", "B5"]
},
"pin_compatible": "elite_c",
"split": {
"serial": {
"pin": "D2"
}
},
"ws2812": {
"pin": "D3"
}
}

View file

@ -1,87 +1,19 @@
{
"manufacturer": "Bastard Keyboards",
"url": "https://bastardkb.com/charybdis",
"usb": {
"pid": "0x1833",
"vid": "0xA8F8"
},
"rgb_matrix": {
"split_count": [29, 29]
"animations": {
"cycle_left_right": true
},
"layout_aliases": {
"LAYOUT_charybdis_4x6": "LAYOUT"
"default": {
"speed": 32,
"val": 64
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [5, 5], "x": 11, "y": 0},
{"matrix": [5, 4], "x": 12, "y": 0},
{"matrix": [5, 3], "x": 13, "y": 0},
{"matrix": [5, 2], "x": 14, "y": 0},
{"matrix": [5, 1], "x": 15, "y": 0},
{"matrix": [5, 0], "x": 16, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [6, 5], "x": 11, "y": 1},
{"matrix": [6, 4], "x": 12, "y": 1},
{"matrix": [6, 3], "x": 13, "y": 1},
{"matrix": [6, 2], "x": 14, "y": 1},
{"matrix": [6, 1], "x": 15, "y": 1},
{"matrix": [6, 0], "x": 16, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"matrix": [7, 5], "x": 11, "y": 2},
{"matrix": [7, 4], "x": 12, "y": 2},
{"matrix": [7, 3], "x": 13, "y": 2},
{"matrix": [7, 2], "x": 14, "y": 2},
{"matrix": [7, 1], "x": 15, "y": 2},
{"matrix": [7, 0], "x": 16, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [8, 5], "x": 11, "y": 3},
{"matrix": [8, 4], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 2], "x": 14, "y": 3},
{"matrix": [8, 1], "x": 15, "y": 3},
{"matrix": [8, 0], "x": 16, "y": 3},
{"matrix": [4, 3], "x": 5, "y": 4},
{"matrix": [4, 4], "x": 6, "y": 4},
{"matrix": [4, 1], "x": 7, "y": 4},
{"matrix": [9, 1], "x": 9, "y": 4},
{"matrix": [9, 3], "x": 10, "y": 4},
{"matrix": [4, 5], "x": 6, "y": 5},
{"matrix": [4, 2], "x": 7, "y": 5},
{"matrix": [9, 5], "x": 9, "y": 5}
]
"sleep": true
},
"split": {
"transport": {
"sync": {
"matrix_state": true
}
}
}
}

View file

@ -3,7 +3,7 @@
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_DEFAULT_LAYER 10
#define AUTO_MOUSE_TIME 500
#define AUTO_MOUSE_TIME 250
#define AUTO_MOUSE_DELAY 0
#endif
#define CHARYBDIS_DRAGSCROLL_REVERSE_Y
@ -17,8 +17,8 @@
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 150
#define CHARYBDIS_MINIMUM_SNIPING_DPI 200
#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
#define CHARYBDIS_DRAGSCROLL_DPI 150
#define CHARYBDIS_DRAGSCROLL_BUFFER_SIZE 6
#define CHARYBDIS_DRAGSCROLL_DPI 200
#define CHARYBDIS_DRAGSCROLL_BUFFER_SIZE 3

View file

@ -69,9 +69,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE_NOMOD] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_ESC, KC_WH_L, KC_BTN2, KC_BTN3, KC_BTN1, KC_WH_R, __________________NUMROW_R_________________, KC_MINS,
KC_ESC, MS_WH_L, MS_BTN2, MS_BTN3, MS_BTN1, MS_WH_R, __________________NUMROW_R_________________, KC_MINS,
ALT_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL,
_______, __________________QWERTY_SACS_L2___________, __________________QWERTY_R2________________, KC_QUOT,
_______, __________________QWERTY_L2_SFTA___________, __________________QWERTY_R2________________, KC_QUOT,
_______, __________________QWERTY_L3________________, __________________QWERTY_HOME_R3___________, KC_BSLS,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
THUMB_L1,THUMB_L2, THUMB_L3, THUMB_R3,THUMB_R2,
@ -96,8 +96,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, KC_5, KC_1, KC_2, KC_3, KC_4, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, //
KC_TAB, KC_T, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX, //
KC_LCTL, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_BTN3, KC_WH_U, KC_L, KC_SCLN, DPI_MOD, //
KC_P, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_WH_D, KC_BTN1, KC_BTN2, KC_SLSH, DPI_RMOD,//
KC_LCTL, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, MS_BTN3, MS_WH_U, KC_L, KC_SCLN, DPI_MOD, //
KC_P, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_N, MS_WH_D, MS_BTN1, MS_BTN2, KC_SLSH, DPI_RMOD,//
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
KC_Y, KC_SPC, KC_U, KC_ENT, THUMB_R3,// TRACK //
KC_I, KC_O, TO(_BASE) // BALL //
@ -122,9 +122,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOUSE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_U, KC_BTN4, KC_WH_D, KC_MS_U, KC_WH_U, KC_F6, XXXXXXX, KC_WH_L, KC_WH_R, XXXXXXX, XXXXXXX, QK_MAKE,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F7, XXXXXXX, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, C(KC_B), KC_APP, KC_ACL0, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX,
KC_U, MS_BTN4, MS_WH_D, KC_MS_U, MS_WH_U, KC_F6, XXXXXXX, MS_WH_L, MS_WH_R, XXXXXXX, XXXXXXX, QK_MAKE,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F7, XXXXXXX, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, C(KC_B), KC_APP, KC_ACL0, MS_BTN4, MS_BTN5, XXXXXXX, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, KC_BSPC, KC_DEL,/* */_______, _______,
_______, _______,/* */_______
@ -147,8 +147,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, S_D_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_TAB, XXXXXXX, XXXXXXX, SNIPING, XXXXXXX, KC_F6, S_D_RMOD, C(A(KC_1)), C(A(KC_2)), C(A(KC_3)), XXXXXXX, QK_MAKE,
_______, KC_LSFT, OH(KC_BTN2), KC_BTN3, KC_BTN1, KC_F7, DPI_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
KC_ENT, XXXXXXX, XXXXXXX, DRGSCROLL, KC_BTN3, C(KC_B), DPI_RMOD, KC_ENT, KC_BTN1, KC_BTN2, SNIPING, XXXXXXX,
_______, KC_LSFT, MS_BTN2, MS_BTN3, MS_BTN1, KC_F7, DPI_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
KC_ENT, XXXXXXX, XXXXXXX, DRGSCROLL, MS_BTN3, C(KC_B), DPI_RMOD, KC_ENT, MS_BTN1, MS_BTN2, SNIPING, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, _______, _______,/* */_______, _______,
KC_TRNS, _______,/* */TO(_BASE)

View file

@ -1,7 +1,7 @@
[_BASE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_ESC, KC_WH_L, KC_BTN2, KC_BTN3, KC_BTN1, KC_WH_R, __________________NUMROW_R_________________, KC_MINS,
KC_ESC, MS_WH_L, MS_BTN2, MS_BTN3, MS_BTN1, MS_WH_R, __________________NUMROW_R_________________, KC_MINS,
KC_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL,
SFT_CAPS, __________________QWERTY_SACS_L2___________, __________________QWERTY_R2________________, KC_QUOT,
KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, __________________QWERTY_HOME_R3___________, KC_BSLS,
@ -13,7 +13,7 @@
[_BASE_NOMOD] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_ESC, KC_WH_L, KC_BTN2, KC_BTN3, KC_BTN1, KC_WH_R, __________________NUMROW_R_________________, KC_MINS,
KC_ESC, MS_WH_L, MS_BTN2, MS_BTN3, MS_BTN1, MS_WH_R, __________________NUMROW_R_________________, KC_MINS,
ALT_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL,
_______, __________________QWERTY_L2_SFTA___________, __________________QWERTY_R2________________, KC_QUOT,
_______, __________________QWERTY_L3________________, __________________QWERTY_HOME_R3___________, KC_BSLS,
@ -40,8 +40,8 @@
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, __________________NUMROW_L_________________, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,
KC_TAB, KC_T, KC_Q, KC_W, KC_E, KC_R, TO(_BASE),DPI_MOD,DPI_RMOD,XXXXXXX,XXXXXXX, XXXXXXX,
KC_Y, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_WH_L, KC_WH_U,KC_BTN4,KC_BTN5,XXXXXXX, DPI_MOD,
KC_U, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_WH_R,KC_WH_D,KC_BTN1,KC_BTN2,KC_BTN3, DPI_RMOD,
KC_Y, KC_LSFT, KC_A, KC_S, KC_D, KC_F, MS_WH_L, MS_WH_U,MS_BTN4,MS_BTN5,XXXXXXX, DPI_MOD,
KC_U, KC_B, KC_Z, KC_X, KC_C, KC_V, MS_WH_R,MS_WH_D,MS_BTN1,MS_BTN2,MS_BTN3, DPI_RMOD,
KC_F, KC_SPC, KC_G, KC_ENT, THUMB_R3,
KC_I, TO(_BASE), THUMB_R2
),
@ -50,7 +50,7 @@
// // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
// XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, XXXXXXX, XXXXXXX,
// XXXXXXX, XXXXXXX, KC_BTN2, NUM(D), KC_BTN1, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX,
// XXXXXXX, XXXXXXX, MS_BTN2, NUM(D), MS_BTN1, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX,
// XXXXXXX, XXXXXXX, HWP_CITE,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX,
// // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
// _______, _______, _______,/* */_______, LT(_NUM, KC_0),
@ -71,9 +71,9 @@
[_MOUSE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_U, KC_BTN4, KC_WH_D, KC_MS_U, KC_WH_U, KC_F6, XXXXXXX, KC_WH_L, KC_WH_R, XXXXXXX, XXXXXXX, QK_MAKE,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F7, XXXXXXX, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, C(KC_B), KC_APP, KC_ACL0, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX,
KC_U, MS_BTN4, MS_WH_D, KC_MS_U, MS_WH_U, KC_F6, XXXXXXX, MS_WH_L, MS_WH_R, XXXXXXX, XXXXXXX, QK_MAKE,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F7, XXXXXXX, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, C(KC_B), KC_APP, KC_ACL0, MS_BTN4, MS_BTN5, XXXXXXX, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, KC_BSPC, KC_DEL,/* */_______, _______,
_______, _______,/* */_______
@ -96,8 +96,8 @@
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, CTRL_F1, C(KC_W), XXXXXXX, ALT_F4, KC_F5, S_D_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, _______, _______, DRGSCRL, A(KC_S), KC_F6, S_D_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_MAKE,
ALT_TAB, KC_LSFT, LT(_ONEHAND,KC_BTN2), SNIPING, KC_BTN1, KC_F7, DPI_MOD, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_ENT, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), C(KC_B), DPI_RMOD, A(KC_S), KC_BTN1, KC_BTN2, SNIPING, XXXXXXX,
ALT_TAB, KC_LSFT, LT(_ONEHAND,MS_BTN2), SNIPING, MS_BTN1, KC_F7, DPI_MOD, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_ENT, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), C(KC_B), DPI_RMOD, A(KC_S), MS_BTN1, MS_BTN2, SNIPING, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, _______, _______,/* */_______, _______,
C(KC_TAB), _______,/* */TO(_BASE)

View file

@ -1,15 +1,169 @@
# Charybdis (4x6)
# Charybdis (6x4, 5x3 "Nano")
An ergonomic keyboard with integrated trackball.
The Charybdis is available in 4x6 and 3x5 form factor at [bastardkb.com](https://bastardkb.com).
Engineered to be a full mouse replacement solution with high-quality, custom-developed components.
## Keymaps
There are 6x4 and 5x3 "Nano" versions.
### [`default`](keymaps/default)
- Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb)
- Hardware Supported: elite-C V4
- Hardware Availability: [Bastard Keyboards](https://bastardkb.com)
A simple QWERTY layout with 3 layers.
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.
### [`via`](keymaps/via)
Brand new to QMK? Start with the [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
Same as the [default](keymaps/default) keymap, but with VIA support.
Check out the [keyboard build guides](https://docs.bastardkb.com) for the Charybdis and other ergonomic keyboards.
## Building the firmware
**You must specify the shield version when compiling/flashing the firmware.**
The template is:
```shell
qmk compile -kb bastardkb/charybdis/{LAYOUT}/{VERSION}/elitec -km {KEYMAP}
```
See below for populated commands per layout
The `default` keymap is inspired from the original [Dactyl Manuform](../../handwired/dactyl_manuform) layout.
Check out the `via` layout if you're looking for VIA support.
### Charybdis (4x6)
| Shield Version | default | via |
| -------------- | --------------------------------------------------------------- | ----------------------------------------------------------- |
| v1 | `qmk compile -kb bastardkb/charybdis/4x6/v1/elitec -km default` | `qmk compile -kb bastardkb/charybdis/4x6/v1/elitec -km via` |
| v2 | `qmk compile -kb bastardkb/charybdis/4x6/v2/elitec -km default` | `qmk compile -kb bastardkb/charybdis/4x6/v2/elitec -km via` |
### Charybdis (3x5)
| Shield Version | default | via |
| -------------- | --------------------------------------------------------------- | ----------------------------------------------------------- |
| v1 | `qmk compile -kb bastardkb/charybdis/3x5/v1/elitec -km default` | `qmk compile -kb bastardkb/charybdis/3x5/v1/elitec -km via` |
| v2 | `qmk compile -kb bastardkb/charybdis/3x5/v2/elitec -km default` | `qmk compile -kb bastardkb/charybdis/3x5/v2/elitec -km via` |
## Customizing the firmware
### Dynamic DPI scaling
The pointer's DPI can be changed at runtime.
By default, the DPI is set to `400`. The Charybdis supports up to 16 different DPI values. By default, it cycles between `400` and `3400`, with a step of `200` (_ie._ `400`, `600`, `800`, …, `3400`).
Calling `charybdis_cycle_pointer_default_dpi(bool forward)` will cycle forward or backward the possible values.
Use `charybdis_cycle_pointer_default_dpi_noeeprom(bool forward)` to change the DPI value without persisting the change to EEPROM (_ie._ resetting the board will revert to the last saved value).
`charybdis_get_pointer_default_dpi()` returns the current DPI value.
This behavior can be further customized with the following defines:
```c
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 400
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200
```
### Drag-scroll
Drag-scroll enables scrolling with the trackball. When drag-scroll is enabled, the trackball's `x` and `y` movements are converted into `h` (horizontal) and `v` (vertical) movement, effectively sending scroll instructions to the host system.
Call `charybdis_set_pointer_dragscroll_enabled(bool enable)` to enable/disable drag-scroll.
`charybdis_get_pointer_dragscroll_enabled()` returns whether drag-scroll mode is currently enabled.
To invert the horizontal scrolling direction, define `CHARYBDIS_DRAGSCROLL_REVERSE_X`:
```c
#define CHARYBDIS_DRAGSCROLL_REVERSE_X
```
To invert the vertical scrolling direction (_ie._ mimic macOS "natural" scroll direction), define `CHARYBDIS_DRAGSCROLL_REVERSE_Y`:
```c
#define CHARYBDIS_DRAGSCROLL_REVERSE_Y
```
This only affects the vertical scroll direction.
### Sniping mode
Sniping mode slows down the pointer for more precise gestures. It is useful when combined with a higher default DPI.
Call `charybdis_set_pointer_sniping_enabled(bool enable)` to enable/disable sniping mode.
`charybdis_get_pointer_sniping_enabled()` returns whether sniping mode is currently enabled.
Like the default pointer's DPI, the sniper mode DPI can be changed at runtime.
By default, sniping mode lowers the DPI to `200`. This can be changed at runtime: the Charybdis supports up to 4 different DPI values for sniping mode. By default, it cycles between `200`, `300`, `400` and `500`.
Calling `charybdis_cycle_pointer_sniping_dpi(bool forward)` will cycle forward or backward the possible values.
Use `charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward)` to change the sniping mode DPI value without persisting the change to EEPROM (_ie._ resetting the board will revert to the last saved value).
`charybdis_get_pointer_sniping_dpi()` returns the current sniping mode DPI value.
This behavior can be further customized with the following defines:
```c
#define CHARYBDIS_MINIMUM_SNIPING_DPI 200
#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
```
### Custom keycodes
The Charybdis firmware defines a number of keycodes to leverage its features, namely:
```
#ifndef NO_CHARYBDIS_KEYCODES
enum charybdis_keycodes {
POINTER_DEFAULT_DPI_FORWARD = QK_KB_0,
POINTER_DEFAULT_DPI_REVERSE,
POINTER_SNIPING_DPI_FORWARD,
POINTER_SNIPING_DPI_REVERSE,
SNIPING_MODE,
SNIPING_MODE_TOGGLE,
DRAGSCROLL_MODE,
DRAGSCROLL_MODE_TOGGLE,
};
#define DPI_MOD POINTER_DEFAULT_DPI_FORWARD
#define DPI_RMOD POINTER_DEFAULT_DPI_REVERSE
#define S_D_MOD POINTER_SNIPING_DPI_FORWARD
#define S_D_RMOD POINTER_SNIPING_DPI_REVERSE
#define SNIPING SNIPING_MODE
#define SNP_TOG SNIPING_MODE_TOGGLE
#define DRGSCRL DRAGSCROLL_MODE
#define DRG_TOG DRAGSCROLL_MODE_TOGGLE
#endif // !NO_CHARYBDIS_KEYCODES
```
To disable the custom keycodes, and reduce binary size, simply add a definition in `config.h`:
```c
#define NO_CHARYBDIS_KEYCODES
```
### Configuration Syncing
If you want/need to enable syncing of the charybdis config, such as to read the sniping or drag scroll modes on the other half (such as for displaying the status via rgb matrix, or added on screens, or what not), you can enabled this. To do so, add this to your `config.h`:
```c
#define CHARYBDIS_CONFIG_SYNC
```
Note that you will need to reflash both sides when enabling this.
### Enable Large Mouse Reports
By default, the X and Y motion for the pointing device/mouse reports is -127 to 127. You can definitely hit the limit for that with the sensors. You can enable support for -32767 to 32767 by adding this to your `config.h`:
```c
#define MOUSE_EXTENDED_REPORT
```
Note that you will need to reflash both sides when enabling this.

View file

@ -0,0 +1 @@
POINTING_DEVICE_DRIVER = pmw3360

View file

@ -1,77 +0,0 @@
/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
*
* 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/>.
*/
#pragma once
/* Pointing device configuration. */
// Enable use of pointing device on slave split.
#define SPLIT_POINTING_ENABLE
// Pointing device is on the right split.
#define POINTING_DEVICE_RIGHT
// Limits the frequency that the sensor is polled for motion.
#define POINTING_DEVICE_TASK_THROTTLE_MS 1
// Invert X axis on mouse reports.
#define POINTING_DEVICE_INVERT_X
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_SAT
# define ENABLE_RGB_MATRIX_BAND_VAL
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_ALL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
# define ENABLE_RGB_MATRIX_RAINDROPS
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
# define ENABLE_RGB_MATRIX_HUE_WAVE
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#endif

View file

@ -1,19 +0,0 @@
{
"rgb_matrix": {
"animations": {
"cycle_left_right": true
},
"default": {
"speed": 32,
"val": 64
},
"sleep": true
},
"split": {
"transport": {
"sync": {
"matrix_state": true
}
}
}
}

View file

@ -1,169 +0,0 @@
# Charybdis (6x4, 5x3 "Nano")
An ergonomic keyboard with integrated trackball.
Engineered to be a full mouse replacement solution with high-quality, custom-developed components.
There are 6x4 and 5x3 "Nano" versions.
- Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb)
- Hardware Supported: elite-C V4
- Hardware Availability: [Bastard Keyboards](https://bastardkb.com)
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 the [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
Check out the [keyboard build guides](https://docs.bastardkb.com) for the Charybdis and other ergonomic keyboards.
## Building the firmware
**You must specify the shield version when compiling/flashing the firmware.**
The template is:
```shell
qmk compile -kb bastardkb/charybdis/{LAYOUT}/{VERSION}/elitec -km {KEYMAP}
```
See below for populated commands per layout
The `default` keymap is inspired from the original [Dactyl Manuform](../../handwired/dactyl_manuform) layout.
Check out the `via` layout if you're looking for VIA support.
### Charybdis (4x6)
| Shield Version | default | via |
| -------------- | --------------------------------------------------------------- | ----------------------------------------------------------- |
| v1 | `qmk compile -kb bastardkb/charybdis/4x6/v1/elitec -km default` | `qmk compile -kb bastardkb/charybdis/4x6/v1/elitec -km via` |
| v2 | `qmk compile -kb bastardkb/charybdis/4x6/v2/elitec -km default` | `qmk compile -kb bastardkb/charybdis/4x6/v2/elitec -km via` |
### Charybdis (3x5)
| Shield Version | default | via |
| -------------- | --------------------------------------------------------------- | ----------------------------------------------------------- |
| v1 | `qmk compile -kb bastardkb/charybdis/3x5/v1/elitec -km default` | `qmk compile -kb bastardkb/charybdis/3x5/v1/elitec -km via` |
| v2 | `qmk compile -kb bastardkb/charybdis/3x5/v2/elitec -km default` | `qmk compile -kb bastardkb/charybdis/3x5/v2/elitec -km via` |
## Customizing the firmware
### Dynamic DPI scaling
The pointer's DPI can be changed at runtime.
By default, the DPI is set to `400`. The Charybdis supports up to 16 different DPI values. By default, it cycles between `400` and `3400`, with a step of `200` (_ie._ `400`, `600`, `800`, …, `3400`).
Calling `charybdis_cycle_pointer_default_dpi(bool forward)` will cycle forward or backward the possible values.
Use `charybdis_cycle_pointer_default_dpi_noeeprom(bool forward)` to change the DPI value without persisting the change to EEPROM (_ie._ resetting the board will revert to the last saved value).
`charybdis_get_pointer_default_dpi()` returns the current DPI value.
This behavior can be further customized with the following defines:
```c
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 400
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 200
```
### Drag-scroll
Drag-scroll enables scrolling with the trackball. When drag-scroll is enabled, the trackball's `x` and `y` movements are converted into `h` (horizontal) and `v` (vertical) movement, effectively sending scroll instructions to the host system.
Call `charybdis_set_pointer_dragscroll_enabled(bool enable)` to enable/disable drag-scroll.
`charybdis_get_pointer_dragscroll_enabled()` returns whether drag-scroll mode is currently enabled.
To invert the horizontal scrolling direction, define `CHARYBDIS_DRAGSCROLL_REVERSE_X`:
```c
#define CHARYBDIS_DRAGSCROLL_REVERSE_X
```
To invert the vertical scrolling direction (_ie._ mimic macOS "natural" scroll direction), define `CHARYBDIS_DRAGSCROLL_REVERSE_Y`:
```c
#define CHARYBDIS_DRAGSCROLL_REVERSE_Y
```
This only affects the vertical scroll direction.
### Sniping mode
Sniping mode slows down the pointer for more precise gestures. It is useful when combined with a higher default DPI.
Call `charybdis_set_pointer_sniping_enabled(bool enable)` to enable/disable sniping mode.
`charybdis_get_pointer_sniping_enabled()` returns whether sniping mode is currently enabled.
Like the default pointer's DPI, the sniper mode DPI can be changed at runtime.
By default, sniping mode lowers the DPI to `200`. This can be changed at runtime: the Charybdis supports up to 4 different DPI values for sniping mode. By default, it cycles between `200`, `300`, `400` and `500`.
Calling `charybdis_cycle_pointer_sniping_dpi(bool forward)` will cycle forward or backward the possible values.
Use `charybdis_cycle_pointer_sniping_dpi_noeeprom(bool forward)` to change the sniping mode DPI value without persisting the change to EEPROM (_ie._ resetting the board will revert to the last saved value).
`charybdis_get_pointer_sniping_dpi()` returns the current sniping mode DPI value.
This behavior can be further customized with the following defines:
```c
#define CHARYBDIS_MINIMUM_SNIPING_DPI 200
#define CHARYBDIS_SNIPING_DPI_CONFIG_STEP 100
```
### Custom keycodes
The Charybdis firmware defines a number of keycodes to leverage its features, namely:
```
#ifndef NO_CHARYBDIS_KEYCODES
enum charybdis_keycodes {
POINTER_DEFAULT_DPI_FORWARD = QK_KB_0,
POINTER_DEFAULT_DPI_REVERSE,
POINTER_SNIPING_DPI_FORWARD,
POINTER_SNIPING_DPI_REVERSE,
SNIPING_MODE,
SNIPING_MODE_TOGGLE,
DRAGSCROLL_MODE,
DRAGSCROLL_MODE_TOGGLE,
};
#define DPI_MOD POINTER_DEFAULT_DPI_FORWARD
#define DPI_RMOD POINTER_DEFAULT_DPI_REVERSE
#define S_D_MOD POINTER_SNIPING_DPI_FORWARD
#define S_D_RMOD POINTER_SNIPING_DPI_REVERSE
#define SNIPING SNIPING_MODE
#define SNP_TOG SNIPING_MODE_TOGGLE
#define DRGSCRL DRAGSCROLL_MODE
#define DRG_TOG DRAGSCROLL_MODE_TOGGLE
#endif // !NO_CHARYBDIS_KEYCODES
```
To disable the custom keycodes, and reduce binary size, simply add a definition in `config.h`:
```c
#define NO_CHARYBDIS_KEYCODES
```
### Configuration Syncing
If you want/need to enable syncing of the charybdis config, such as to read the sniping or drag scroll modes on the other half (such as for displaying the status via rgb matrix, or added on screens, or what not), you can enabled this. To do so, add this to your `config.h`:
```c
#define CHARYBDIS_CONFIG_SYNC
```
Note that you will need to reflash both sides when enabling this.
### Enable Large Mouse Reports
By default, the X and Y motion for the pointing device/mouse reports is -127 to 127. You can definitely hit the limit for that with the sensors. You can enable support for -32767 to 32767 by adding this to your `config.h`:
```c
#define MOUSE_EXTENDED_REPORT
```
Note that you will need to reflash both sides when enabling this.

View file

@ -61,16 +61,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_MOUSE] = LAYOUT_split_3x6_3( //Mouse keys
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
A(KC_F4), C(KC_F1), KC_WH_D, KC_MS_U, KC_WH_U, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_LNG1, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F6, XXXXXXX, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, QK_MAKE,
A(KC_F4), C(KC_F1), MS_WH_D, KC_MS_U, MS_WH_U, KC_F5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_LNG1, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F6, XXXXXXX, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, QK_MAKE,
KC_LNG2, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_F7, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
KC_LCTL, KC_LNG1, KC_LSFT, _______, _______, _______
),
[_ONEHAND] = LAYOUT_split_3x6_3( //Trackball Manipulation
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, C(KC_F1), KC_F2, KC_F3, ALT_F4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO_BASE,
KC_TAB, KC_WH_U, KC_BTN2, KC_UP, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
G(KC_R), KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TAB, MS_WH_U, MS_BTN2, KC_UP, MS_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
G(KC_R), MS_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LCTL, KC_BSPC, KC_ENT, TO_BASE, XXXXXXX, XXXXXXX
)
};

View file

@ -63,15 +63,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_MOUSE] = LAYOUT_split_3x6_3( //Mouse keys
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_U, C(KC_F1), KC_WH_D, KC_MS_U, KC_WH_U, XXXXXXX, XXXXXXX,KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
KC_P, KC_H, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_INS, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT,
KC_U, C(KC_F1), MS_WH_D, KC_MS_U, MS_WH_U, XXXXXXX, XXXXXXX,KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
KC_P, KC_H, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_INS, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, KC_ENT,
KC_X, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL,
_______, _______, _______, _______, _______, _______
),
[_ONEHAND] = LAYOUT_split_3x6_3( //Trackball Manipulation
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, KC_WH_U, KC_BTN2, KC_UP, KC_BTN1, ALT_F4, XXXXXXX, G(KC_7), G(KC_8), G(KC_9), XXXXXXX, XXXXXXX,
XXXXXXX, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, G(KC_4), G(KC_5), G(KC_6), XXXXXXX, XXXXXXX,
KC_ESC, MS_WH_U, MS_BTN2, KC_UP, MS_BTN1, ALT_F4, XXXXXXX, G(KC_7), G(KC_8), G(KC_9), XXXXXXX, XXXXXXX,
XXXXXXX, MS_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, G(KC_4), G(KC_5), G(KC_6), XXXXXXX, XXXXXXX,
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, G(KC_1), G(KC_2), G(KC_3), XXXXXXX, XXXXXXX,
KC_DEL, KC_SPC, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX
)
@ -93,7 +93,7 @@ const uint16_t PROGMEM qw_combo[] = {KC_W, KC_E, COMBO_END};
const uint16_t PROGMEM pe_combo[] = {KC_P, KC_EQL, COMBO_END};
const uint16_t PROGMEM sq_combo[] = {KC_SCLN, KC_QUOT, COMBO_END};
const uint16_t PROGMEM os_combo[] = {KC_BSLS, KC_SLSH, COMBO_END};
const uint16_t PROGMEM oh_combo[] = {KC_BTN2, KC_UP, COMBO_END};
const uint16_t PROGMEM oh_combo[] = {MS_BTN2, KC_UP, COMBO_END};
combo_t key_combos[] = {
[COMBO_ONEHAND] = COMBO(qw_combo, TO(_ONEHAND)),

View file

@ -57,8 +57,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_MOUSE] = LAYOUT_ID75_wrapper(
_______, C(KC_F1),_______, _______, A(KC_F4),KC_F5, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
KC_U, XXXXXXX, KC_WH_D, KC_MS_U, KC_WH_U, XXXXXXX, _______, _______, _______, XXXXXXX, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, _______, _______, _______, KC_INS, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, XXXXXXX,
KC_U, XXXXXXX, MS_WH_D, KC_MS_U, MS_WH_U, XXXXXXX, _______, _______, _______, XXXXXXX, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, _______, _______, _______, KC_INS, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, XXXXXXX,
KC_X, UNDO, CUT, COPY, PASTE, BOLDFACE,_______, _______, _______, KC_APP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
_______, _______, _______, KC_LCTL, KC_SPC, KC_ENT, _______, _______, _______, KC_TRNS, _______, _______, _______, _______, _______
),

View file

@ -73,8 +73,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOUSE] = LAYOUT_kimiko_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
_______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
KC_U, XXXXXXX, KC_WH_D, KC_MS_U, KC_WH_U, XXXXXXX, XXXXXXX, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT,
KC_U, XXXXXXX, MS_WH_D, KC_MS_U, MS_WH_U, XXXXXXX, XXXXXXX, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, BOLDFACE,TO_BASE, TO(_ONEHAND), KC_APP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
_______, _______, KC_LCTL, KC_SPC, KC_ENT, KC_TRNS, _______, _______, _______, _______
@ -93,8 +93,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ONEHAND] = LAYOUT_kimiko_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, C(KC_F1),XXXXXXX, XXXXXXX, A(KC_F4),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TAB, KC_WH_U, KC_BTN2, KC_UP, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_TAB, MS_WH_U, MS_BTN2, KC_UP, MS_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, MS_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, TO_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_LGUI, KC_LALT, KC_LCTL, KC_SPC, KC_ENT, TO(_MOUSE),_______, _______, _______, _______
@ -102,8 +102,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SETTINGS] = LAYOUT(
//|-------------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
_______, C(KC_WH_D), XXXXXXX, A(KC_0), A(KC_F4),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
KC_TAB,/*|*/ C(KC_WH_U), A(KC_4), A(KC_5), A(KC_6), KC_X, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, C(MS_WH_D), XXXXXXX, A(KC_0), A(KC_F4),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
KC_TAB,/*|*/ C(MS_WH_U), A(KC_4), A(KC_5), A(KC_6), KC_X, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_ENT,/*|*/ SCRNSHOT,A(KC_1), A(KC_2), A(KC_3), PDF_HL, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_SPC,/*|*/ XXXXXXX, A(KC_7), A(KC_8), A(KC_9), KC_P, TO_BASE, TO_BASE, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_LSFT, XXXXXXX,
//|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
@ -123,7 +123,7 @@ enum combos {
};
uint16_t COMBO_LEN = COMBO_LENGTH;
const uint16_t PROGMEM onehand_combo[] = {KC_W, KC_E, COMBO_END};
const uint16_t PROGMEM onehand_end_combo[] = {KC_BTN2, KC_UP, COMBO_END};
const uint16_t PROGMEM onehand_end_combo[] = {MS_BTN2, KC_UP, COMBO_END};
// const uint16_t PROGMEM shift_T[] = {KC_A, KC_T, COMBO_END};
combo_t key_combos[] = {

View file

@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
_______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
_______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
_______, _______, _______, _______, _______, _______
),
};

View file

@ -78,8 +78,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOUSE] = LAYOUT_moonlander_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
_______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
KC_U, XXXXXXX, KC_WH_D, KC_MS_U, KC_WH_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT,
KC_U, XXXXXXX, MS_WH_D, KC_MS_U, MS_WH_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, BOLDFACE, KC_APP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
_______, _______, _______, _______, _______, TO_BASE, _______, _______, _______, _______, _______, _______,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
@ -100,8 +100,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ONEHAND] = LAYOUT_moonlander_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, C(KC_F1), XXXXXXX, XXXXXXX, A(KC_F4), XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______,
KC_TAB, C(KC_WH_U), KC_BTN2, KC_UP, KC_BTN1, SCRNSHOT, XXXXXXX, XXXXXXX, BRKT, KC_WH_D, KC_MS_U, KC_WH_U, _______, _______,
A(KC_6), C(KC_WH_D), KC_LEFT, KC_DOWN, KC_RGHT, PDF_HL, XXXXXXX, XXXXXXX, PRNS, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
KC_TAB, C(MS_WH_U), MS_BTN2, KC_UP, MS_BTN1, SCRNSHOT, XXXXXXX, XXXXXXX, BRKT, MS_WH_D, KC_MS_U, MS_WH_U, _______, _______,
A(KC_6), C(MS_WH_D), KC_LEFT, KC_DOWN, KC_RGHT, PDF_HL, XXXXXXX, XXXXXXX, PRNS, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
KC_LSFT, UNDO, A(KC_7), A(KC_8), PASTE, KC_ENT, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, TO_BASE, _______, _______, _______, _______, KC_LCTL, _______,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
@ -124,7 +124,7 @@ const uint16_t PROGMEM qw_combo[] = {KC_W, KC_E, COMBO_END};
const uint16_t PROGMEM hl_combo[] = {KC_H, KC_SCLN, COMBO_END};
const uint16_t PROGMEM ee_combo[] = {KC_ESC, KC_EQL, COMBO_END};
const uint16_t PROGMEM os_combo[]= {KC_BSLS, KC_SLSH, COMBO_END};
const uint16_t PROGMEM oh_combo[]= {KC_BTN2, KC_UP, COMBO_END};
const uint16_t PROGMEM oh_combo[]= {MS_BTN2, KC_UP, COMBO_END};
combo_t key_combos[] = {
[COMBO_ONEHAND] = COMBO(qw_combo, TO(_ONEHAND)),

View file

@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR,
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
_______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
_______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
_______, _______, _______, _______, _______, _______
),
[3] = LAYOUT_moonlander(

View file

@ -3,11 +3,11 @@
"keymap": "oco9oco",
"layers": [
["KC_ESC", "__________________NUMROW_L_________________", "__________________NUMROW_R_________________", "KC_MINS", "KC_TAB", "__________________QWERTY_L1________________", "__________________QWERTY_R1________________", "KC_EQL", "SFT_CAPS", "__________________QWERTY_SACS_L2___________", "__________________QWERTY_R2________________", "KC_QUOT", "KC_LGUI", "KC_Z", "KC_X", "LT(_ONEHAND,KC_C)", "KC_V", "KC_B", "__________________QWERTY_HOME_R3___________", "KC_BSLS", "THUMB_L1", "THUMB_L2", "THUMB_L3", "THUMB_R3", "THUMB_R2", "USR_LNG", "TT(_ONEHAND)", "THUMB_R1"],
["ALT_F4", "C(KC_F1)", "KC_P", "KC_X", "INV_DSP", "TO(_ONEHAND)", "KC_LBRC", "KC_RBRC", "KC_LPRN", "KC_RPRN", "KC_NO", "KC_TRNS", "ALT_TAB", "INV_DSP", "KC_LEFT", "KC_RGHT", "CLASS_A", "HWP_MACRO", "KC_GRV", "_________NUM_789_________", "KC_NO", "KC_TRNS", "KC_TRNS", "IPC(A)", "IPC(S)", "IPC_MIN", "IPC(F)", "KC_DOT", "AT_IPC", "_________NUM_456_________", "KC_COLN", "KC_DQUO", "KC_LGUI", "SNIPING", "HWP_CITE", "KC_BTN2", "KC_BTN1", "DRGSCRL", "IME_CHG", "_________NUM_123_________", "KC_TRNS", "KC_PIPE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "HWP_MACRO", "LT(_NAV, KC_0)", "QK_BOOT", "KC_TRNS", "IME_CHG"],
["ALT_F4", "C(KC_F1)", "KC_P", "KC_X", "INV_DSP", "TO(_ONEHAND)", "KC_LBRC", "KC_RBRC", "KC_LPRN", "KC_RPRN", "KC_NO", "KC_TRNS", "ALT_TAB", "INV_DSP", "KC_LEFT", "KC_RGHT", "CLASS_A", "HWP_MACRO", "KC_GRV", "_________NUM_789_________", "KC_NO", "KC_TRNS", "KC_TRNS", "IPC(A)", "IPC(S)", "IPC_MIN", "IPC(F)", "KC_DOT", "AT_IPC", "_________NUM_456_________", "KC_COLN", "KC_DQUO", "KC_LGUI", "SNIPING", "HWP_CITE", "MS_BTN2", "MS_BTN1", "DRGSCRL", "IME_CHG", "_________NUM_123_________", "KC_TRNS", "KC_PIPE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "HWP_MACRO", "LT(_NAV, KC_0)", "QK_BOOT", "KC_TRNS", "IME_CHG"],
["KC_TRNS", "CTRL_F1", "KC_F2", "KC_F3", "ALT_F4", "KC_F5", "KC_NO", "A(KC_7)", "A(KC_5)", "A(KC_9)", "A(KC_0)", "KC_NO", "ALT_TAB", "NAV_NS", "LCA(KC_J)", "LCA(KC_K)", "LCA(KC_L)", "KC_F6", "S(A(KC_3))", "A(KC_4)", "A(KC_8)", "A(KC_6)", "KC_NO", "KC_NO", "KC_LGUI", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_F7", "KC_INS", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT", "DPI_MOD", "G(C(KC_D))", "NAV(Z)", "C(KC_X)", "C(KC_C)", "C(KC_V)", "C(KC_B)", "KC_APP", "KC_HOME", "KC_PGDN", "KC_PGUP", "KC_END", "DPI_RMOD", "KC_TRNS", "KC_BSPC", "KC_DEL", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"],
["KC_TRNS", "CTRL_F1", "KC_F2", "KC_F3", "ALT_F4", "KC_F5", "KC_F8", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "QK_BOOT", "KC_U", "KC_BTN4", "KC_WH_D", "KC_MS_U", "KC_WH_U", "KC_F6", "KC_F9", "KC_WH_L", "KC_WH_R", "KC_NO", "KC_NO", "QK_MAKE", "KC_P", "KC_LSFT", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_F7", "KC_F10", "KC_ACL0", "KC_BTN1", "KC_BTN2", "KC_BTN3", "KC_ENT", "KC_X", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "BOLDFACE", "KC_APP", "KC_ACL0", "KC_BTN4", "KC_BTN5", "KC_NO", "KC_NO", "KC_TRNS", "KC_BSPC", "KC_DEL", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"],
["KC_TRNS", "CTRL_F1", "KC_F2", "KC_F3", "ALT_F4", "KC_F5", "KC_F8", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "QK_BOOT", "KC_U", "MS_BTN4", "MS_WH_D", "KC_MS_U", "MS_WH_U", "KC_F6", "KC_F9", "MS_WH_L", "MS_WH_R", "KC_NO", "KC_NO", "QK_MAKE", "KC_P", "KC_LSFT", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_F7", "KC_F10", "KC_ACL0", "MS_BTN1", "MS_BTN2", "MS_BTN3", "KC_ENT", "KC_X", "KC_LGUI", "KC_LALT", "KC_LCTL", "KC_LSFT", "BOLDFACE", "KC_APP", "KC_ACL0", "MS_BTN4", "MS_BTN5", "KC_NO", "KC_NO", "KC_TRNS", "KC_BSPC", "KC_DEL", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"],
["KC_TRNS", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_F12", "KC_F7", "KC_F8", "KC_F9", "KC_NO", "KC_NO", "KC_NO", "KC_LSFT", "KC_LALT", "KC_LCTL", "KC_LSFT", "KC_NO", "KC_F11", "KC_F4", "KC_F5", "KC_F6", "KC_NO", "KC_NO", "KC_NO", "KC_LGUI", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_F10", "KC_F1", "KC_F2", "KC_F3", "KC_NO", "KC_NO", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"],
["ALT_F4", "CTRL_F1", "KC_LEFT", "KC_NO", "KC_RGHT", "KC_F5", "S_D_MOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT", "KC_NO", "KC_NO", "KC_WH_D", "KC_NO", "KC_WH_U", "KC_NO", "S_D_RMOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_MAKE", "KC_NO", "KC_LCTL", "KC_BTN2", "KC_LSFT", "KC_BTN1", "DPI_MOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "DRG_TOG", "DRGSCRL", "KC_BTN2", "KC_TRNS", "KC_BTN1", "DPI_RMOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "THUMB_L1", "THUMB_L2", "THUMB_L3", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
["ALT_F4", "CTRL_F1", "KC_LEFT", "KC_NO", "KC_RGHT", "KC_F5", "S_D_MOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_BOOT", "KC_NO", "KC_NO", "MS_WH_D", "KC_NO", "MS_WH_U", "KC_NO", "S_D_RMOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "QK_MAKE", "KC_NO", "KC_LCTL", "MS_BTN2", "KC_LSFT", "MS_BTN1", "DPI_MOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "DRG_TOG", "DRGSCRL", "MS_BTN2", "KC_TRNS", "MS_BTN1", "DPI_RMOD", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "KC_NO", "THUMB_L1", "THUMB_L2", "THUMB_L3", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
],
"layout": "LAYOUT_charybdis_wrapper"
}

View file

@ -485,18 +485,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
break;
case OH(KC_BTN2):
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_BTN2);
} else if (__PRESSED__) {
layer_move(_BASE);
register_code(KC_LALT);
} else {
unregister_code(KC_LALT);
layer_move(_ONEHAND);
}
return false;
break;
// case OH(MS_BTN2):
// if (__TAPPED__ && __PRESSED__) {
// tap_code(MS_BTN2);
// } else if (__PRESSED__) {
// layer_move(_BASE);
// register_code(KC_LALT);
// } else {
// unregister_code(KC_LALT);
// layer_move(_ONEHAND);
// }
// return false;
// break;
case G_LNG:
if (__TAPPED__ && __PRESSED__) {

View file

@ -240,12 +240,12 @@ bool qwert;
#define __NAV_R2 KC_INS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
#define __NAV_R3 KC_APP, KC_HOME, KC_PGDN, KC_PGUP, KC_END
#define __MOUSE_L1 XXXXXXX, KC_WH_D, KC_MS_U, KC_WH_U, XXXXXXX
#define __MOUSE_L1 XXXXXXX, MS_WH_D, KC_MS_U, MS_WH_U, XXXXXXX
#define __MOUSE_L2 KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX
#define __MOUSE_L3 UNDO, CUT, COPY, PASTE, BOLDFACE
#define __MOUSE_R1 XXXXXXX, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX
#define __MOUSE_R2 KC_INS, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3
#define __MOUSE_R2 KC_INS, KC_ACL0, MS_BTN1, MS_BTN2, MS_BTN3
#define __MOUSE_R3 KC_APP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
#define __FUNC_L1 RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX
@ -345,7 +345,3 @@ enum layer_index {
_ONEHAND, //
_SETTINGS,
};
//트랙볼 좔표계 보정용 상수
static const float COS15 = 0.965925826f; // cos(15°)
static const float SIN15 = 0.258819045f; // sin(15°)