summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/keychron/k2_pro/via_json/k2_pro_ansi_rgb.json203
-rw-r--r--keyboards/keychron/k2_pro/via_json/k2_pro_ansi_white.json202
-rw-r--r--keyboards/keychron/k2_pro/via_json/k2_pro_iso_rgb.json209
-rw-r--r--keyboards/keychron/k2_pro/via_json/k2_pro_iso_white.json208
-rw-r--r--keyboards/keychron/k3_pro/ansi/white/info.json6
-rw-r--r--keyboards/keychron/k3_pro/matrix.c2
-rw-r--r--keyboards/keychron/k3_pro/via_json/k3_pro_ansi_rgb.json203
-rw-r--r--keyboards/keychron/k3_pro/via_json/k3_pro_ansi_white.json202
-rw-r--r--keyboards/keychron/k3_pro/via_json/k3_pro_iso_rgb .json209
-rw-r--r--keyboards/keychron/k3_pro/via_json/k3_pro_iso_white.json207
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/config.h106
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/info.json122
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/keymaps/default/keymap.c56
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/keymaps/via/keymap.c56
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/keymaps/via/rules.mk1
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/rgb.c163
-rw-r--r--keyboards/keychron/k4_pro/ansi/rgb/rules.mk2
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/config.h76
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/info.json122
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/keymaps/default/keymap.c56
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/keymaps/via/keymap.c56
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/keymaps/via/rules.mk1
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/rules.mk2
-rw-r--r--keyboards/keychron/k4_pro/ansi/white/white.c161
-rw-r--r--keyboards/keychron/k4_pro/config.h93
-rw-r--r--keyboards/keychron/k4_pro/halconf.h27
-rw-r--r--keyboards/keychron/k4_pro/k4_pro.c288
-rw-r--r--keyboards/keychron/k4_pro/k4_pro.h67
-rw-r--r--keyboards/keychron/k4_pro/matrix.c170
-rw-r--r--keyboards/keychron/k4_pro/mcuconf.h36
-rw-r--r--keyboards/keychron/k4_pro/readme.md21
-rw-r--r--keyboards/keychron/k4_pro/rules.mk32
-rw-r--r--keyboards/keychron/k4_pro/via_json/k4_pro_ansi_rgb.json247
-rw-r--r--keyboards/keychron/k4_pro/via_json/k4_pro_ansi_white.json246
-rw-r--r--keyboards/keychron/k6_pro/via_json/k6_pro_ansi_rgb.json182
-rw-r--r--keyboards/keychron/k6_pro/via_json/k6_pro_ansi_white.json181
-rw-r--r--keyboards/keychron/k6_pro/via_json/k6_pro_iso_rgb.json183
-rw-r--r--keyboards/keychron/k6_pro/via_json/k6_pro_iso_white.json182
-rw-r--r--keyboards/keychron/k6_pro/via_json/k6_pro_jis_rgb.json188
-rw-r--r--keyboards/keychron/k8_pro/via_json/k8_pro_ansi_rgb.json229
-rw-r--r--keyboards/keychron/k8_pro/via_json/k8_pro_ansi_white.json228
-rw-r--r--keyboards/keychron/k8_pro/via_json/k8_pro_iso_rgb.json232
-rw-r--r--keyboards/keychron/k8_pro/via_json/k8_pro_iso_white.json231
-rw-r--r--keyboards/keychron/k8_pro/via_json/k8_pro_jis_rgb.json228
-rw-r--r--keyboards/keychron/k8_pro/via_json/k8_pro_jis_white.json227
45 files changed, 6146 insertions, 3 deletions
diff --git a/keyboards/keychron/k2_pro/via_json/k2_pro_ansi_rgb.json b/keyboards/keychron/k2_pro/via_json/k2_pro_ansi_rgb.json
new file mode 100644
index 0000000000..60b85f808c
--- /dev/null
+++ b/keyboards/keychron/k2_pro/via_json/k2_pro_ansi_rgb.json
@@ -0,0 +1,203 @@
+{
+ "name": "Keychron K2 Pro",
+ "vendorId": "0x3434",
+ "productId": "0x0220",
+ "keycodes": ["qmk_lighting"],
+ "menus": ["qmk_rgb_matrix"],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 6, "cols": 16},
+ "layouts": {
+ "keymap":[
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,13",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "w": 1.5
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "3,13",
+ {
+ "c": "#cccccc"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 2.25,
+ "c": "#aaaaaa"
+ },
+ "4,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ {
+ "c": "#cccccc"
+ },
+ "4,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0",
+ {
+ "w": 1.25
+ },
+ "5,1",
+ {
+ "w": 1.25
+ },
+ "5,2",
+ {
+ "c": "#cccccc",
+ "a": 7,
+ "w": 6.25
+ },
+ "5,6",
+
+ {
+ "c": "#aaaaaa",
+ "a": 4
+ },
+ "5,9",
+ "5,10",
+ "5,11",
+ {
+ "c": "#777777"
+ },
+ "5,12",
+ "5,13",
+ "5,15"
+ ]
+]
+ }
+}
diff --git a/keyboards/keychron/k2_pro/via_json/k2_pro_ansi_white.json b/keyboards/keychron/k2_pro/via_json/k2_pro_ansi_white.json
new file mode 100644
index 0000000000..91ee168440
--- /dev/null
+++ b/keyboards/keychron/k2_pro/via_json/k2_pro_ansi_white.json
@@ -0,0 +1,202 @@
+{
+ "name": "Keychron K2 Pro",
+ "vendorId": "0x3434",
+ "productId": "0x0223",
+ "keycodes": ["qmk_lighting"],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 6, "cols": 16},
+ "layouts": {
+ "keymap":[
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,13",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "w": 1.5
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "3,13",
+ {
+ "c": "#cccccc"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 2.25,
+ "c": "#aaaaaa"
+ },
+ "4,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ {
+ "c": "#cccccc"
+ },
+ "4,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0",
+ {
+ "w": 1.25
+ },
+ "5,1",
+ {
+ "w": 1.25
+ },
+ "5,2",
+ {
+ "c": "#cccccc",
+ "a": 7,
+ "w": 6.25
+ },
+ "5,6",
+
+ {
+ "c": "#aaaaaa",
+ "a": 4
+ },
+ "5,9",
+ "5,10",
+ "5,11",
+ {
+ "c": "#777777"
+ },
+ "5,12",
+ "5,13",
+ "5,15"
+ ]
+]
+ }
+}
diff --git a/keyboards/keychron/k2_pro/via_json/k2_pro_iso_rgb.json b/keyboards/keychron/k2_pro/via_json/k2_pro_iso_rgb.json
new file mode 100644
index 0000000000..d583c5ff9d
--- /dev/null
+++ b/keyboards/keychron/k2_pro/via_json/k2_pro_iso_rgb.json
@@ -0,0 +1,209 @@
+{
+ "name": "Keychron K2 Pro",
+ "vendorId": "0x3434",
+ "productId": "0x0221",
+ "keycodes": ["qmk_lighting"],
+ "menus": ["qmk_rgb_matrix"],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 6, "cols": 16},
+ "layouts": {
+ "keymap":[
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,13",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "x": 0.25,
+ "c": "#777777",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ "3,13",
+ {
+ "c": "#cccccc"
+ },
+ {
+ "x": 1.25
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 1.25,
+ "c": "#aaaaaa"
+ },
+ "4,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,1",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ {
+ "c": "#cccccc"
+ },
+ "4,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0",
+ {
+ "w": 1.25
+ },
+ "5,1",
+ {
+ "w": 1.25
+ },
+ "5,2",
+ {
+ "c": "#cccccc",
+ "a": 7,
+ "w": 6.25
+ },
+ "5,6",
+
+ {
+ "c": "#aaaaaa",
+ "a": 4
+ },
+ "5,9",
+ "5,10",
+ "5,11",
+ {
+ "c": "#777777"
+ },
+ "5,12",
+ "5,13",
+ "5,15"
+ ]
+]
+ }
+}
diff --git a/keyboards/keychron/k2_pro/via_json/k2_pro_iso_white.json b/keyboards/keychron/k2_pro/via_json/k2_pro_iso_white.json
new file mode 100644
index 0000000000..e06278b39a
--- /dev/null
+++ b/keyboards/keychron/k2_pro/via_json/k2_pro_iso_white.json
@@ -0,0 +1,208 @@
+{
+ "name": "Keychron K2 Pro",
+ "vendorId": "0x3434",
+ "productId": "0x0224",
+ "keycodes": ["qmk_lighting"],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 6, "cols": 16},
+ "layouts": {
+ "keymap":[
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "y": 0.25
+ },
+ "1,0",
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "1,13",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ "2,12",
+ {
+ "x": 0.25,
+ "c": "#777777",
+ "w": 1.25,
+ "h": 2,
+ "w2": 1.5,
+ "h2": 1,
+ "x2": -0.25
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,1",
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ "3,13",
+ {
+ "c": "#cccccc"
+ },
+ {
+ "x": 1.25
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 1.25,
+ "c": "#aaaaaa"
+ },
+ "4,0",
+ {
+ "c": "#cccccc"
+ },
+ "4,1",
+ "4,2",
+ "4,3",
+ "4,4",
+ "4,5",
+ "4,6",
+ "4,7",
+ "4,8",
+ "4,9",
+ "4,10",
+ "4,11",
+ {
+ "c": "#aaaaaa",
+ "w": 1.75
+ },
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ {
+ "c": "#cccccc"
+ },
+ "4,15"
+ ],
+ [
+ {
+ "c": "#aaaaaa",
+ "w": 1.25
+ },
+ "5,0",
+ {
+ "w": 1.25
+ },
+ "5,1",
+ {
+ "w": 1.25
+ },
+ "5,2",
+ {
+ "c": "#cccccc",
+ "a": 7,
+ "w": 6.25
+ },
+ "5,6",
+
+ {
+ "c": "#aaaaaa",
+ "a": 4
+ },
+ "5,9",
+ "5,10",
+ "5,11",
+ {
+ "c": "#777777"
+ },
+ "5,12",
+ "5,13",
+ "5,15"
+ ]
+]
+ }
+}
diff --git a/keyboards/keychron/k3_pro/ansi/white/info.json b/keyboards/keychron/k3_pro/ansi/white/info.json
index 1f366b4ccb..0e94e34162 100644
--- a/keyboards/keychron/k3_pro/ansi/white/info.json
+++ b/keyboards/keychron/k3_pro/ansi/white/info.json
@@ -1,11 +1,11 @@
{
- "keyboard_name": "Keychron K3 Pro",
+ "keyboard_name": "Keychron K4 Pro",
"manufacturer": "Keychron",
"url": "https://github.com/Keychron",
"maintainer": "lokher",
"usb": {
"vid": "0x3434",
- "pid": "0x0233",
+ "pid": "0x0243",
"device_version": "1.0.0"
},
"layouts": {
@@ -76,7 +76,7 @@
{"matrix":[3,15], "x":15, "y":3},
{"matrix":[4, 0], "x":0, "y":4, "w":2.25},
-
+
{"matrix":[4, 2], "x":2.25, "y":4},
{"matrix":[4, 3], "x":3.25, "y":4},
{"matrix":[4, 4], "x":4.25, "y":4},
diff --git a/keyboards/keychron/k3_pro/matrix.c b/keyboards/keychron/k3_pro/matrix.c
index a601c6c4e4..072cfc3280 100644
--- a/keyboards/keychron/k3_pro/matrix.c
+++ b/keyboards/keychron/k3_pro/matrix.c
@@ -23,6 +23,8 @@
#define HC595_SHCP A1
#define HC595_DS A7
+#define DIRECT_COL_NUM 1
+
pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
diff --git a/keyboards/keychron/k3_pro/via_json/k3_pro_ansi_rgb.json b/keyboards/keychron/k3_pro/via_json/k3_pro_ansi_rgb.json
new file mode 100644
index 0000000000..8cc2920d02
--- /dev/null
+++ b/keyboards/keychron/k3_pro/via_json/k3_pro_ansi