mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-29 14:40:38 +00:00
Update Keychron Q2 (#21994)
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
parent
177fee0ad4
commit
75ba2db2c1
@ -97,33 +97,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||||||
{1, F_16, D_16, E_16},
|
{1, F_16, D_16, E_16},
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __ NO_LED
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
|
||||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
|
||||||
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 65, 42, 43 },
|
|
||||||
{ 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, __, 55, 56 },
|
|
||||||
{ 57, 58, 59, __, __, __, 60, __, __, __, 61, 62, 63, 64, 66 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0},
|
|
||||||
{4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {202,15}, {224,15},
|
|
||||||
{6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {196,30}, {224,30},
|
|
||||||
{9,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49},
|
|
||||||
{2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// RGB LED Index to Flag
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // RGB_MATRIX_ENABLE
|
#endif // RGB_MATRIX_ENABLE
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* RGB Matrix Configuration */
|
/* RGB Matrix Configuration */
|
||||||
#define DRIVER_1_LED_TOTAL 34
|
#define RGB_MATRIX_LED_COUNT 67
|
||||||
#define DRIVER_2_LED_TOTAL 33
|
|
||||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
/* Enable caps-lock LED */
|
||||||
|
#define CAPS_LOCK_LED_INDEX 30
|
@ -1,23 +1,84 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Q2",
|
|
||||||
"manufacturer": "Keychron",
|
|
||||||
"url": "https://github.com/Keychron",
|
|
||||||
"maintainer": "lalalademaxiya1",
|
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x3434",
|
|
||||||
"pid": "0x0110",
|
"pid": "0x0110",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"rgb_matrix": {
|
"rgb_matrix": {
|
||||||
"driver": "ckled2001"
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 44, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 59, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 73, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 88, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 103, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 118, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 132, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 147, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 162, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 198, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 15, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 22, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 51, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 66, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 81, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 95, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 110, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 125, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 140, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 154, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 169, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 184, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 202, "y": 15, "flags": 1},
|
||||||
|
{"matrix": [1, 14], "x": 224, "y": 15, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 6, "y": 30, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 26, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 40, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 55, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 70, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 84, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 99, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 114, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 129, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 143, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 158, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 173, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 196, "y": 30, "flags": 1},
|
||||||
|
{"matrix": [2, 14], "x": 224, "y": 30, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 9, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 2], "x": 33, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 62, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 77, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 92, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 106, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 121, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 136, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 151, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 165, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 185, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 20, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 2], "x": 39, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 6], "x": 94, "y": 60, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 147, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 162, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 176, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 13], "x": 195, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||||
|
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
|
||||||
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
|
||||||
},
|
|
||||||
"diode_direction": "ROW2COL",
|
|
||||||
"processor": "STM32L432",
|
|
||||||
"bootloader": "stm32-dfu",
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_ansi_67": {
|
"LAYOUT_ansi_67": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
@ -1,15 +1 @@
|
|||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
ENCODER_ENABLE = no # Enable Encoder
|
|
||||||
DIP_SWITCH_ENABLE = yes
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
@ -97,33 +97,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||||||
{1, F_16, D_16, E_16},
|
{1, F_16, D_16, E_16},
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __ NO_LED
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
|
||||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
|
||||||
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 65, 42, 43 },
|
|
||||||
{ 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, __, 55, 56 },
|
|
||||||
{ 57, 58, 59, __, __, __, 60, __, __, __, 61, 62, 63, 64, 66 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0},
|
|
||||||
{4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {202,15}, {224,15},
|
|
||||||
{6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {196,30}, {224,30},
|
|
||||||
{9,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49},
|
|
||||||
{2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// RGB LED Index to Flag
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // RGB_MATRIX_ENABLE
|
#endif // RGB_MATRIX_ENABLE
|
||||||
|
@ -17,9 +17,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* RGB Matrix Configuration */
|
/* RGB Matrix Configuration */
|
||||||
#define DRIVER_1_LED_TOTAL 34
|
#define RGB_MATRIX_LED_COUNT 67
|
||||||
#define DRIVER_2_LED_TOTAL 33
|
|
||||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
|
||||||
|
|
||||||
/* Encoder used pins */
|
/* Enable caps-lock LED */
|
||||||
#define ENCODER_DEFAULT_POS 0x3
|
#define CAPS_LOCK_LED_INDEX 30
|
@ -1,28 +1,90 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Q2",
|
|
||||||
"manufacturer": "Keychron",
|
|
||||||
"url": "https://github.com/Keychron",
|
|
||||||
"maintainer": "lalalademaxiya1",
|
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x3434",
|
|
||||||
"pid": "0x0111",
|
"pid": "0x0111",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"rgb_matrix": {
|
|
||||||
"driver": "ckled2001"
|
|
||||||
},
|
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
|
||||||
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
|
||||||
},
|
|
||||||
"diode_direction": "ROW2COL",
|
|
||||||
"encoder": {
|
"encoder": {
|
||||||
|
"enabled": true,
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "A10", "pin_b": "B5"}
|
{"pin_a": "A10", "pin_b": "B5"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"processor": "STM32L432",
|
"rgb_matrix": {
|
||||||
"bootloader": "stm32-dfu",
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 44, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 59, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 73, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 88, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 103, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 118, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 132, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 147, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 162, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 198, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 15, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 22, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 51, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 66, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 81, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 95, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 110, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 125, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 140, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 154, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 169, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 184, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 202, "y": 15, "flags": 1},
|
||||||
|
{"matrix": [1, 14], "x": 224, "y": 15, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 6, "y": 30, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 26, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 40, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 55, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 70, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 84, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 99, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 114, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 129, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 143, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 158, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 173, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 196, "y": 30, "flags": 1},
|
||||||
|
{"matrix": [2, 14], "x": 224, "y": 30, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 9, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 2], "x": 33, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 62, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 77, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 92, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 106, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 121, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 136, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 151, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 165, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 185, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 20, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 2], "x": 39, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 6], "x": 94, "y": 60, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 147, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 162, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 176, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 13], "x": 195, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_ansi_67": {
|
"LAYOUT_ansi_67": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
@ -1,15 +1 @@
|
|||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
ENCODER_ENABLE = yes # Enable Encoder
|
|
||||||
DIP_SWITCH_ENABLE = yes
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
@ -34,61 +34,8 @@
|
|||||||
/* turn off effects when suspended */
|
/* turn off effects when suspended */
|
||||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||||
|
|
||||||
/* Use 5 dynamic keymap layers */
|
/* Encoder Configuration*/
|
||||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
|
#define ENCODER_DEFAULT_POS 0x3
|
||||||
|
|
||||||
/* EEPROM Driver Configuration */
|
|
||||||
#define WEAR_LEVELING_LOGICAL_SIZE 2048
|
|
||||||
#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
|
|
||||||
|
|
||||||
// RGB Matrix Animation modes. Explicitly enabled
|
|
||||||
// For full list of effects, see:
|
|
||||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
|
||||||
// #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_PIXEL_RAIN
|
|
||||||
// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
|
||||||
// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
|
||||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
|
||||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
|
||||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
|
||||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
|
||||||
#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
|
|
||||||
|
|
||||||
#define RGB_MATRIX_KEYPRESSES
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||||
|
60
keyboards/keychron/q2/info.json
Normal file
60
keyboards/keychron/q2/info.json
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Keychron Q2",
|
||||||
|
"manufacturer": "Keychron",
|
||||||
|
"maintainer": "lalalademaxiya1",
|
||||||
|
"bootloader": "stm32-dfu",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"dynamic_keymap": {
|
||||||
|
"layer_count": 5
|
||||||
|
},
|
||||||
|
"eeprom": {
|
||||||
|
"wear_leveling": {
|
||||||
|
"backing_size": 4096
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"dip_switch": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
||||||
|
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
||||||
|
},
|
||||||
|
"processor": "STM32L432",
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"band_spiral_val": true,
|
||||||
|
"breathing": true,
|
||||||
|
"cycle_all": true,
|
||||||
|
"cycle_left_right": true,
|
||||||
|
"cycle_out_in": true,
|
||||||
|
"cycle_out_in_dual": true,
|
||||||
|
"cycle_pinwheel": true,
|
||||||
|
"cycle_spiral": true,
|
||||||
|
"cycle_up_down": true,
|
||||||
|
"digital_rain": true,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"jellybean_raindrops": true,
|
||||||
|
"pixel_rain": true,
|
||||||
|
"rainbow_beacon": true,
|
||||||
|
"rainbow_moving_chevron": true,
|
||||||
|
"solid_reactive_multinexus": true,
|
||||||
|
"solid_reactive_multiwide": true,
|
||||||
|
"solid_reactive_simple": true,
|
||||||
|
"solid_splash": true,
|
||||||
|
"splash": true,
|
||||||
|
"typing_heatmap": true
|
||||||
|
},
|
||||||
|
"driver": "ckled2001"
|
||||||
|
},
|
||||||
|
"url": "https://github.com/Keychron",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0x3434"
|
||||||
|
}
|
||||||
|
}
|
@ -17,6 +17,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* RGB Matrix Configuration */
|
/* RGB Matrix Configuration */
|
||||||
#define DRIVER_1_LED_TOTAL 34
|
#define RGB_MATRIX_LED_COUNT 68
|
||||||
#define DRIVER_2_LED_TOTAL 34
|
|
||||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
/* Enable caps-lock LED */
|
||||||
|
#define CAPS_LOCK_LED_INDEX 29
|
@ -1,23 +1,85 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Q2",
|
|
||||||
"manufacturer": "Keychron",
|
|
||||||
"url": "https://github.com/Keychron",
|
|
||||||
"maintainer": "lalalademaxiya1",
|
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x3434",
|
|
||||||
"pid": "0x0112",
|
"pid": "0x0112",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"rgb_matrix": {
|
"rgb_matrix": {
|
||||||
"driver": "ckled2001"
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 44, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 59, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 73, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 88, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 103, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 118, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 132, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 147, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 162, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 198, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 15, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 22, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 51, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 66, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 81, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 95, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 110, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 125, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 140, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 154, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 169, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 184, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 14], "x": 224, "y": 15, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 6, "y": 30, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 26, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 40, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 55, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 70, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 84, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 99, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 114, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 129, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 143, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 158, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 173, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 187, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 204, "y": 23, "flags": 1},
|
||||||
|
{"matrix": [2, 14], "x": 224, "y": 30, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 9, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 1], "x": 18, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 2], "x": 33, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 62, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 77, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 92, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 106, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 121, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 136, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 151, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 165, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 185, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 20, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 2], "x": 39, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 6], "x": 94, "y": 60, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 147, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 162, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 176, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 13], "x": 195, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||||
|
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
|
||||||
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
|
||||||
},
|
|
||||||
"diode_direction": "ROW2COL",
|
|
||||||
"processor": "STM32L432",
|
|
||||||
"bootloader": "stm32-dfu",
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_iso_68": {
|
"LAYOUT_iso_68": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
@ -98,33 +98,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||||||
{1, F_16, D_16, E_16}
|
{1, F_16, D_16, E_16}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __ NO_LED
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
|
||||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42, 28 },
|
|
||||||
{ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 66, 41, 43 },
|
|
||||||
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, __, 56, 57 },
|
|
||||||
{ 58, 59, 60, __, __, __, 61, __, __, __, 62, 63, 64, 65, 67 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0},
|
|
||||||
{4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {224,15},
|
|
||||||
{6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {187,30}, {204,23}, {224,30},
|
|
||||||
{2,45}, {18,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49},
|
|
||||||
{2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// RGB LED Index to Flag
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // RGB_MATRIX_ENABLE
|
#endif // RGB_MATRIX_ENABLE
|
||||||
|
@ -1,15 +1 @@
|
|||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
ENCODER_ENABLE = no # Enable Encoder
|
|
||||||
DIP_SWITCH_ENABLE = yes
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
@ -17,9 +17,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* RGB Matrix Configuration */
|
/* RGB Matrix Configuration */
|
||||||
#define DRIVER_1_LED_TOTAL 34
|
#define RGB_MATRIX_LED_COUNT 68
|
||||||
#define DRIVER_2_LED_TOTAL 34
|
|
||||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
|
||||||
|
|
||||||
/* Encoder used pins */
|
/* Enable caps-lock LED */
|
||||||
#define ENCODER_DEFAULT_POS 0x3
|
#define CAPS_LOCK_LED_INDEX 29
|
@ -1,28 +1,91 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Q2",
|
|
||||||
"manufacturer": "Keychron",
|
|
||||||
"url": "https://github.com/Keychron",
|
|
||||||
"maintainer": "lalalademaxiya1",
|
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x3434",
|
|
||||||
"pid": "0x0113",
|
"pid": "0x0113",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"rgb_matrix": {
|
|
||||||
"driver": "ckled2001"
|
|
||||||
},
|
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
|
||||||
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
|
||||||
},
|
|
||||||
"diode_direction": "ROW2COL",
|
|
||||||
"encoder": {
|
"encoder": {
|
||||||
|
"enabled": true,
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "A10", "pin_b": "B5"}
|
{"pin_a": "A10", "pin_b": "B5"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"processor": "STM32L432",
|
"rgb_matrix": {
|
||||||
"bootloader": "stm32-dfu",
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 44, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 59, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 73, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 88, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 103, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 118, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 132, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 147, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 162, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 198, "y": 0, "flags": 1},
|
||||||
|
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 15, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 22, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 51, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 66, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 81, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 95, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 110, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 125, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 140, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 154, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 169, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 184, "y": 15, "flags": 4},
|
||||||
|
{"matrix": [1, 14], "x": 224, "y": 15, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 6, "y": 30, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 26, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 40, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 55, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 70, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 84, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 99, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 114, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 129, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 143, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 158, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 173, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 187, "y": 30, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 204, "y": 23, "flags": 1},
|
||||||
|
{"matrix": [2, 14], "x": 224, "y": 30, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 9, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 1], "x": 18, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 2], "x": 33, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 62, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 77, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 92, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 106, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 121, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 136, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 151, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 165, "y": 45, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 185, "y": 45, "flags": 1},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 20, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 2], "x": 39, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 6], "x": 94, "y": 60, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 147, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 162, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 176, "y": 60, "flags": 1},
|
||||||
|
{"matrix": [4, 13], "x": 195, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_iso_68": {
|
"LAYOUT_iso_68": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
@ -98,33 +98,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||||||
{1, F_16, D_16, E_16}
|
{1, F_16, D_16, E_16}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __ NO_LED
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
|
||||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42, 28 },
|
|
||||||
{ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 66, 41, 43 },
|
|
||||||
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, __, 56, 57 },
|
|
||||||
{ 58, 59, 60, __, __, __, 61, __, __, __, 62, 63, 64, 65, 67 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{0,0}, {15,0}, {29,0}, {44,0}, {59,0}, {73,0}, {88,0}, {103,0}, {118,0}, {132,0}, {147,0}, {162,0}, {176,0}, {198,0}, {224,0},
|
|
||||||
{4,15}, {22,15}, {37,15}, {51,15}, {66,15}, {81,15}, {95,15}, {110,15}, {125,15}, {140,15}, {154,15}, {169,15}, {184,15}, {224,15},
|
|
||||||
{6,30}, {26,30}, {40,30}, {55,30}, {70,30}, {84,30}, {99,30}, {114,30}, {129,30}, {143,30}, {158,30}, {173,30}, {187,30}, {204,23}, {224,30},
|
|
||||||
{2,45}, {18,45}, {33,45}, {48,45}, {62,45}, {77,45}, {92,45}, {106,45}, {121,45}, {136,45}, {151,45}, {165,45}, {185,45}, {209,49},
|
|
||||||
{2,60}, {20,60}, {39,60}, {94,60}, {147,60}, {162,60}, {176,60}, {195,64}, {209,64}, {224,64}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// RGB LED Index to Flag
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // RGB_MATRIX_ENABLE
|
#endif // RGB_MATRIX_ENABLE
|
||||||
|
@ -1,15 +1 @@
|
|||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
ENCODER_ENABLE = yes # Enable Encoder
|
|
||||||
DIP_SWITCH_ENABLE = yes
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
@ -17,9 +17,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* RGB Matrix Configuration */
|
/* RGB Matrix Configuration */
|
||||||
#define DRIVER_1_LED_TOTAL 35
|
#define RGB_MATRIX_LED_COUNT 71
|
||||||
#define DRIVER_2_LED_TOTAL 36
|
|
||||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
|
||||||
|
|
||||||
#define CKLED2001_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D }
|
#define CKLED2001_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D }
|
||||||
|
|
||||||
|
@ -1,23 +1,86 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Keychron Q2",
|
|
||||||
"manufacturer": "Keychron",
|
|
||||||
"url": "https://github.com/Keychron",
|
|
||||||
"maintainer": "lalalademaxiya1",
|
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x3434",
|
|
||||||
"pid": "0x0114",
|
"pid": "0x0114",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"rgb_matrix": {
|
"rgb_matrix": {
|
||||||
"driver": "ckled2001"
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 29, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 44, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 59, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 73, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 88, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 103, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 117, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 132, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 146, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 161, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 190, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [3, 1], "x": 205, "y": 4, "flags": 1},
|
||||||
|
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 19, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 22, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 51, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 66, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 81, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 95, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 110, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 125, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 139, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 154, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 168, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 183, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 14], "x": 224, "y": 19, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 6, "y": 34, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 26, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 40, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 55, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 70, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 84, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 99, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 114, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 128, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 143, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 158, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 172, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 187, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 207, "y": 29, "flags": 1},
|
||||||
|
{"matrix": [2, 14], "x": 224, "y": 34, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 9, "y": 49, "flags": 1},
|
||||||
|
{"matrix": [3, 2], "x": 33, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 62, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 77, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 92, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 106, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 121, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 136, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 150, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 179, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 194, "y": 49, "flags": 1},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 18, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 2], "x": 35, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 3], "x": 51, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 6], "x": 92, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 9], "x": 134, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 10], "x": 150, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 165, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 179, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 13], "x": 194, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 14], "x": 223, "y": 64, "flags": 1}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
|
||||||
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
|
||||||
},
|
|
||||||
"diode_direction": "ROW2COL",
|
|
||||||
"processor": "STM32L432",
|
|
||||||
"bootloader": "stm32-dfu",
|
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_jis_71": {
|
"LAYOUT_jis_71": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
@ -102,33 +102,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||||||
{1, F_16, D_16, E_16}
|
{1, F_16, D_16, E_16}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __ NO_LED
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15 },
|
|
||||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 43, 29 },
|
|
||||||
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 69, 42, 44 },
|
|
||||||
{ 45, 14, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 },
|
|
||||||
{ 59, 60, 61, 62, __, __, 63, __, __, 64, 65, 66, 67, 68, 70 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{0,4}, {15,4}, {29,4}, {44,4}, {59,4}, {73,4}, {88,4}, {103,4}, {117,4}, {132,4}, {146,4}, {161,4}, {176,4}, {190,4}, {205,4}, {224,0},
|
|
||||||
{4,19}, {22,19}, {37,19}, {51,19}, {66,19}, {81,19}, {95,19}, {110,19}, {125,19}, {139,19}, {154,19}, {168,19}, {183,19}, {224,19},
|
|
||||||
{6,34}, {26,34}, {40,34}, {55,34}, {70,34}, {84,34}, {99,34}, {114,34}, {128,34}, {143,34}, {158,34}, {172,34}, {187,34}, {207,29}, {224,34},
|
|
||||||
{9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {150,49}, {165,49}, {179,49}, {194,49}, {209,49},
|
|
||||||
{2,64}, {18,64}, {35,64}, {51,64}, {92,64}, {134,64}, {150,64}, {165,64}, {179,64}, {194,64}, {209,64}, {223,64},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// RGB LED Index to Flag
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // RGB_MATRIX_ENABLE
|
#endif // RGB_MATRIX_ENABLE
|
||||||
|
@ -1,14 +1 @@
|
|||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable USB N-key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
DIP_SWITCH_ENABLE = yes
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
||||||
|
@ -17,14 +17,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* RGB Matrix Configuration */
|
/* RGB Matrix Configuration */
|
||||||
#define DRIVER_1_LED_TOTAL 35
|
#define RGB_MATRIX_LED_COUNT 71
|
||||||
#define DRIVER_2_LED_TOTAL 36
|
|
||||||
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
|
||||||
|
|
||||||
#define CKLED2001_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D }
|
#define CKLED2001_CURRENT_TUNE { 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D, 0xC0, 0xC0, 0x5D }
|
||||||
|
|
||||||
/* Encoder Configuration */
|
|
||||||
#define ENCODER_DEFAULT_POS 0x3
|
|
||||||
|
|
||||||
/* Enable caps-lock LED */
|
/* Enable caps-lock LED */
|
||||||
#define CAPS_LOCK_LED_INDEX 30
|
#define CAPS_LOCK_LED_INDEX 30
|
||||||
|
@ -1,28 +1,92 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Keychron Q2",
|
|
||||||
"manufacturer": "Keychron",
|
|
||||||
"url": "https://github.com/Keychron",
|
|
||||||
"maintainer": "lalalademaxiya1",
|
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0x3434",
|
|
||||||
"pid": "0x0115",
|
"pid": "0x0115",
|
||||||
"device_version": "1.0.0"
|
"device_version": "1.0.0"
|
||||||
},
|
},
|
||||||
"rgb_matrix": {
|
|
||||||
"driver": "ckled2001"
|
|
||||||
},
|
|
||||||
"matrix_pins": {
|
|
||||||
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
|
|
||||||
"rows": ["B4", "B3", "A15", "A14", "A13"]
|
|
||||||
},
|
|
||||||
"diode_direction": "ROW2COL",
|
|
||||||
"encoder": {
|
"encoder": {
|
||||||
|
"enabled": true,
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "A10", "pin_b": "B5"}
|
{"pin_a": "A10", "pin_b": "B5"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"processor": "STM32L432",
|
"rgb_matrix": {
|
||||||
"bootloader": "stm32-dfu",
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "flags": 1},
|
||||||
|
{"matrix": [0, 1], "x": 15, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 29, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 44, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 59, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 73, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 88, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 103, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 117, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 132, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 146, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 161, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 190, "y": 4, "flags": 4},
|
||||||
|
{"matrix": [3, 1], "x": 205, "y": 4, "flags": 1},
|
||||||
|
{"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 19, "flags": 1},
|
||||||
|
{"matrix": [1, 1], "x": 22, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 51, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 66, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 81, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 95, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 110, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 125, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 139, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 154, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 168, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 183, "y": 19, "flags": 4},
|
||||||
|
{"matrix": [1, 14], "x": 224, "y": 19, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 6, "y": 34, "flags": 1},
|
||||||
|
{"matrix": [2, 1], "x": 26, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 40, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 55, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 70, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 84, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 99, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 114, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 128, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 143, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 158, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 172, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 187, "y": 34, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 207, "y": 29, "flags": 1},
|
||||||
|
{"matrix": [2, 14], "x": 224, "y": 34, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 9, "y": 49, "flags": 1},
|
||||||
|
{"matrix": [3, 2], "x": 33, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 62, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 77, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 92, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 106, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 121, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 136, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 150, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 179, "y": 49, "flags": 4},
|
||||||
|
{"matrix": [3, 13], "x": 194, "y": 49, "flags": 1},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 49, "flags": 1},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 1], "x": 18, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 2], "x": 35, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 3], "x": 51, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 6], "x": 92, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 9], "x": 134, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 10], "x": 150, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 11], "x": 165, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 12], "x": 179, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 13], "x": 194, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [2, 12], "x": 209, "y": 64, "flags": 1},
|
||||||
|
{"matrix": [4, 14], "x": 223, "y": 64, "flags": 1}
|
||||||
|
]
|
||||||
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_jis_71": {
|
"LAYOUT_jis_71": {
|
||||||
"layout": [
|
"layout": [
|
||||||
|
@ -102,33 +102,4 @@ const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
|
|||||||
{1, F_16, D_16, E_16}
|
{1, F_16, D_16, E_16}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define __ NO_LED
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
// Key Matrix to LED Index
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15 },
|
|
||||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 43, 29 },
|
|
||||||
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 69, 42, 44 },
|
|
||||||
{ 45, 14, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 },
|
|
||||||
{ 59, 60, 61, 62, __, __, 63, __, __, 64, 65, 66, 67, 68, 70 },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// LED Index to Physical Position
|
|
||||||
{0,4}, {15,4}, {29,4}, {44,4}, {59,4}, {73,4}, {88,4}, {103,4}, {117,4}, {132,4}, {146,4}, {161,4}, {176,4}, {190,4}, {205,4}, {224,0},
|
|
||||||
{4,19}, {22,19}, {37,19}, {51,19}, {66,19}, {81,19}, {95,19}, {110,19}, {125,19}, {139,19}, {154,19}, {168,19}, {183,19}, {224,19},
|
|
||||||
{6,34}, {26,34}, {40,34}, {55,34}, {70,34}, {84,34}, {99,34}, {114,34}, {128,34}, {143,34}, {158,34}, {172,34}, {187,34}, {207,29}, {224,34},
|
|
||||||
{9,49}, {33,49}, {48,49}, {62,49}, {77,49}, {92,49}, {106,49}, {121,49}, {136,49}, {150,49}, {165,49}, {179,49}, {194,49}, {209,49},
|
|
||||||
{2,64}, {18,64}, {35,64}, {51,64}, {92,64}, {134,64}, {150,64}, {165,64}, {179,64}, {194,64}, {209,64}, {223,64},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// RGB LED Index to Flag
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
|
||||||
1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // RGB_MATRIX_ENABLE
|
#endif // RGB_MATRIX_ENABLE
|
||||||
|
@ -1,15 +1 @@
|
|||||||
# Build Options
|
# This file intentionally left blank
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
NKRO_ENABLE = yes # Enable USB N-key Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
ENCODER_ENABLE = yes # Enable Encoder
|
|
||||||
DIP_SWITCH_ENABLE = yes
|
|
||||||
RGB_MATRIX_ENABLE = yes
|
|
||||||
|
@ -1,18 +1,30 @@
|
|||||||
# Keychron Q2
|
# Keychron Q2
|
||||||
|
|
||||||
|
![Keychron Q2](https://i.imgur.com/9bJ6Moh.jpg)
|
||||||
|
|
||||||
A customizable 65% keyboard.
|
A customizable 65% keyboard.
|
||||||
|
|
||||||
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
|
* Keyboard Maintainer: [Keychron](https://github.com/keychron)
|
||||||
* Hardware Supported: Keychron Q2
|
* Hardware Supported: Keychron Q2
|
||||||
* Hardware Availability: [Keychron](https://www.keychron.com)
|
* Hardware Availability: [Keychron Q2 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q2-qmk-custom-mechanical-keyboard)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make keychron/q2/ansi:default
|
make keychron/q2/ansi:default
|
||||||
|
make keychron/q2/ansi_encoder:default
|
||||||
|
make keychron/q2/iso:default
|
||||||
|
make keychron/q2/iso_encoder:default
|
||||||
|
make keychron/q2/jis:default
|
||||||
|
make keychron/q2/jis_encoder:default
|
||||||
|
|
||||||
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
make keychron/q2/ansi:default:flash
|
make keychron/q2/ansi:default:flash
|
||||||
|
make keychron/q2/ansi_encoder:default:flash
|
||||||
|
make keychron/q2/iso:default:flash
|
||||||
|
make keychron/q2/iso_encoder:default:flash
|
||||||
|
make keychron/q2/jis:default:flash
|
||||||
|
make keychron/q2/jis_encoder:default:flash
|
||||||
|
|
||||||
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
|
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user