Add VIAL support for CXT Studio 12e3 (#885)

* intial vial port

* fix gui encoder layout

* apply changes from https://github.com/qmk/qmk_firmware/pull/25242

* fix row # typo
This commit is contained in:
muge 2025-05-12 08:23:17 -07:00 committed by GitHub
parent b991365328
commit 154809fea1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 173 additions and 2 deletions

View file

@ -21,8 +21,8 @@
},
"encoder": {
"rotary": [
{"pin_a": "F5", "pin_b": "F6"},
{"pin_a": "E6", "pin_b": "F0"},
{"pin_a": "F5", "pin_b": "F6", "resolution": 4},
{"pin_a": "E6", "pin_b": "F0", "resolution": 4},
{"pin_a": "B3", "pin_b": "B2", "resolution": 2}
]
},

View file

@ -0,0 +1,70 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#define VIAL_KEYBOARD_UID {0xC0, 0x2A, 0xCA, 0xFE, 0xC3, 0x5E, 0x1F, 0x41}
#define VIAL_UNLOCK_COMBO_ROWS {0, 0}
#define VIAL_UNLOCK_COMBO_COLS {2, 3}
#undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE
#define NO_MUSIC_MODE
/* Lightning undefs */
#undef RGBLIGHT_ANIMATIONS
#undef RGBLIGHT_EFFECT_BREATHING
#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
#undef RGBLIGHT_EFFECT_SNAKE
#undef RGBLIGHT_EFFECT_KNIGHT
#undef RGBLIGHT_EFFECT_CHRISTMAS
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
#undef RGBLIGHT_EFFECT_RGB_TEST
#undef RGBLIGHT_EFFECT_ALTERNATING
#undef RGBLIGHT_EFFECT_TWINKLE
#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_BREATHING
#undef ENABLE_RGB_MATRIX_BAND_SAT
#undef ENABLE_RGB_MATRIX_BAND_VAL
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#undef ENABLE_RGB_MATRIX_CYCLE_ALL
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING
#undef ENABLE_RGB_MATRIX_RAINDROPS
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_HUE_BREATHING
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
#undef ENABLE_RGB_MATRIX_HUE_WAVE
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#undef ENABLE_RGB_MATRIX_SPLASH
#undef ENABLE_RGB_MATRIX_MULTISPLASH
#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

View file

@ -0,0 +1,40 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum my_layers {
_BASE,
_RGBL,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, C(KC_X), C(KC_C), C(KC_V), MS_BTN3, RM_TOGG,
KC_PSCR,C(KC_Z), KC_CALC, KC_MNXT, KC_MPLY,
MO(1), KC_LGUI, KC_DEL, KC_APP
),
[_RGBL] = LAYOUT(
RM_NEXT, RM_SATU, KC_INS, KC_DEL, _______, _______,
RM_PREV, RM_SATD, KC_PGUP, KC_HOME, KC_MUTE,
_______, QK_BOOT, KC_PGDN, KC_END
),
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
// Encoders: Left, Right, Big
[_BASE] = {
ENCODER_CCW_CW(MS_WHLD, MS_WHLU),
ENCODER_CCW_CW(KC_PGDN, KC_PGUP),
ENCODER_CCW_CW(KC_VOLD, KC_VOLU)
},
[_RGBL] = {
ENCODER_CCW_CW(RM_HUED, RM_HUEU),
ENCODER_CCW_CW(RM_SPDD, RM_SPDU),
ENCODER_CCW_CW(RM_VALD, RM_VALU)
},
};
#endif

View file

@ -0,0 +1,16 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
QMK_SETTINGS = yes
LTO_ENABLE = yes
ENCODER_MAP_ENABLE = yes
KEY_OVERRIDE_ENABLE = no
#TOP_SYMBOLS = yes
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
MOUSEKEY_ENABLE = no
AVR_USE_MINIMAL_PRINTF = yes
SPACE_CADET_ENABLE = no
GRAVE_ESC_ENABLE = no
MAGIC_ENABLE = no
MUSIC_ENABLE = no

View file

@ -0,0 +1,45 @@
{
"name": "cxt_studio 12E3",
"vendorId": "0x0215",
"productId": "0x12e3",
"lighting": "qmk_rgblight",
"matrix": { "rows": 4, "cols": 4 },
"layouts": {
"keymap":
[
[
"0,0",
"0,1",
"0,2",
"0,3",
{ "x": 0.25 },
"0,0\n\n\n\n\n\n\n\n\ne",
"0,1\n\n\n\n\n\n\n\n\ne",
{ "x": 0.25 },
"1,0\n\n\n\n\n\n\n\n\ne",
"1,1\n\n\n\n\n\n\n\n\ne"
],
[
"1,0",
"1,1",
"1,2",
"1,3",
{ "x": 0.75 }, "3,2",
{ "x": 1.25 }, "3,3"
],
[
"2,0",
"2,1",
"2,2",
"2,3",
{ "x": 0.5 },
"2,0\n\n\n\n\n\n\n\n\ne",
{ "w": 1.75, "h": 1.75 }, "3,1",
"2,1\n\n\n\n\n\n\n\n\ne"
]
]
}
}