Update Keychron V3

This commit is contained in:
lalalademaxiya1 2023-03-17 11:15:47 +08:00
parent a1eafa35d2
commit 1d02a50a7a
20 changed files with 165 additions and 162 deletions

View File

@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations /* Refer to CKLED2001 manual for these locations
* driver * driver
* | R location * | R location
* | | G location * | | G location
@ -147,7 +147,7 @@ led_config_t g_led_config = {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 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, 1, 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
} }
}; };

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
/* key matrix pins */
#define MATRIX_ROW_PINS \
{ B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 }
/* If PH3 used with a stronger pull resistor then the following definition needs be included */ /* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH // #define MATRIX_UNSELECT_DRIVE_HIGH

View File

@ -8,6 +8,11 @@
"pid": "0x0330", "pid": "0x0330",
"device_version": "1.0.4" "device_version": "1.0.4"
}, },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"processor": "STM32L432", "processor": "STM32L432",
"bootloader": "stm32-dfu", "bootloader": "stm32-dfu",
"layouts": { "layouts": {

View File

@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations /* Refer to CKLED2001 manual for these locations
* driver * driver
* | R location * | R location
* | | G location * | | G location
@ -148,7 +148,7 @@ led_config_t g_led_config = {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 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, 1, 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
} }
}; };

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
/* key matrix pins */
#define MATRIX_ROW_PINS \
{ B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
/* RGB Matrix Configuration */ /* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 48 #define DRIVER_1_LED_TOTAL 48
#define DRIVER_2_LED_TOTAL 39 #define DRIVER_2_LED_TOTAL 39

View File

@ -8,6 +8,11 @@
"pid": "0x0331", "pid": "0x0331",
"device_version": "1.0.2" "device_version": "1.0.2"
}, },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", null, null, null, null, null, null, null, null],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"encoder": { "encoder": {
"rotary": [ "rotary": [
{"pin_a": "A10", "pin_b": "A8"} {"pin_a": "A10", "pin_b": "A8"}

View File

@ -16,9 +16,6 @@
#pragma once #pragma once
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
/* RGB Matrix Driver Configuration */ /* RGB Matrix Driver Configuration */
#define DRIVER_COUNT 2 #define DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111 #define DRIVER_ADDR_1 0b1110111
@ -29,7 +26,7 @@
#define I2C1_TIMINGR_SCLDEL 3U #define I2C1_TIMINGR_SCLDEL 3U
#define I2C1_TIMINGR_SDADEL 0U #define I2C1_TIMINGR_SDADEL 0U
#define I2C1_TIMINGR_SCLH 15U #define I2C1_TIMINGR_SCLH 15U
#define I2C1_TIMINGR_SCLL 30U #define I2C1_TIMINGR_SCLL 51U
/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */ /* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */
#define PHASE_CHANNEL MSKPHASE_9CHANNEL #define PHASE_CHANNEL MSKPHASE_9CHANNEL

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
/* key matrix pins */
#define MATRIX_ROW_PINS \
{ B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 }
/* If PH3 used with a stronger pull resistor then the following definition needs be included */ /* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH // #define MATRIX_UNSELECT_DRIVE_HIGH

View File

@ -8,6 +8,11 @@
"pid": "0x0332", "pid": "0x0332",
"device_version": "1.0.3" "device_version": "1.0.3"
}, },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"processor": "STM32L432", "processor": "STM32L432",
"bootloader": "stm32-dfu", "bootloader": "stm32-dfu",
"layouts": { "layouts": {

View File

@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations /* Refer to CKLED2001 manual for these locations
* driver * driver
* | R location * | R location
* | | G location * | | G location
@ -148,7 +148,7 @@ led_config_t g_led_config = {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
8, 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, 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, 1, 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1,
} }
}; };

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
/* key matrix pins */
#define MATRIX_ROW_PINS \
{ B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
/* RGB Matrix Configuration */ /* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 48 #define DRIVER_1_LED_TOTAL 48
#define DRIVER_2_LED_TOTAL 40 #define DRIVER_2_LED_TOTAL 40

View File

@ -8,6 +8,11 @@
"pid": "0x0333", "pid": "0x0333",
"device_version": "1.0.2" "device_version": "1.0.2"
}, },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", null, null, null, null, null, null, null, null],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"encoder": { "encoder": {
"rotary": [ "rotary": [
{"pin_a": "A10", "pin_b": "A8"} {"pin_a": "A10", "pin_b": "A8"}

View File

@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations /* Refer to CKLED2001 manual for these locations
* driver * driver
* | R location * | R location
* | | G location * | | G location

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
/* key matrix pins */
#define MATRIX_ROW_PINS \
{ B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 }
/* If PH3 used with a stronger pull resistor then the following definition needs be included */ /* If PH3 used with a stronger pull resistor then the following definition needs be included */
// #define MATRIX_UNSELECT_DRIVE_HIGH // #define MATRIX_UNSELECT_DRIVE_HIGH

View File

@ -8,6 +8,11 @@
"pid": "0x0334", "pid": "0x0334",
"device_version": "1.0.1" "device_version": "1.0.1"
}, },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "H3"],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"processor": "STM32L432", "processor": "STM32L432",
"bootloader": "stm32-dfu", "bootloader": "stm32-dfu",
"layouts": { "layouts": {

View File

@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations /* Refer to CKLED2001 manual for these locations
* driver * driver
* | R location * | R location
* | | G location * | | G location
@ -151,7 +151,7 @@ led_config_t g_led_config = {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
8, 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, 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, 1, 1, 1, 1, 1, 4, 1, 1, 1, 4, 1, 1, 1, 1,
} }
}; };

View File

@ -16,12 +16,6 @@
#pragma once #pragma once
/* key matrix pins */
#define MATRIX_ROW_PINS \
{ B5, B4, B3, A15, A14, A13 }
#define MATRIX_COL_PINS \
{ C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
/* RGB Matrix Configuration */ /* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 49 #define DRIVER_1_LED_TOTAL 49
#define DRIVER_2_LED_TOTAL 43 #define DRIVER_2_LED_TOTAL 43

View File

@ -8,6 +8,11 @@
"pid": "0x0335", "pid": "0x0335",
"device_version": "1.0.1" "device_version": "1.0.1"
}, },
"matrix_pins": {
"cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", null, null, null, null, null, null, null, null],
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
},
"diode_direction": "ROW2COL",
"encoder": { "encoder": {
"rotary": [ "rotary": [
{"pin_a": "A10", "pin_b": "A8"} {"pin_a": "A10", "pin_b": "A8"}

View File

@ -152,7 +152,7 @@ led_config_t g_led_config = {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
8, 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, 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, 1, 1, 1, 1, 1, 4, 1, 1, 1, 4, 1, 1, 1, 1,
} }
}; };

View File

@ -1,18 +1,30 @@
# Keychron V3 # Keychron V3
![Keychron V3](https://i.imgur.com/QpgIi0Q.jpg[/img])
A customizable 80% keyboard. A customizable 80% keyboard.
* Keyboard Maintainer: [Keychron](https://github.com/keychron) * Keyboard Maintainer: [Keychron](https://github.com/keychron)
* Hardware Supported: Keychron V3 * Hardware Supported: Keychron V3
* Hardware Availability: [Keychron](https://www.keychron.com) * Hardware Availability: [Keychron V3 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-v3-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/v3/ansi:default make keychron/v3/ansi:default
make keychron/v3/ansi_encoder:default
make keychron/v3/iso:default
make keychron/v3/iso_encoder:default
make keychron/v3/jis:default
make keychron/v3/jis_encoder:default
Flashing example for this keyboard: Flashing example for this keyboard:
make keychron/v3/v3_ansi_stm32l432:default:flash make keychron/v3/ansi:default:flash
make keychron/v3/ansi_encoder:default:flash
make keychron/v3/iso:default:flash
make keychron/v3/iso_encoder:default:flash
make keychron/v3/jis:default:flash
make keychron/v3/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.