Browse Source

Update Keychron Q0 (#22068)

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
adophoxia 2 years ago
parent
commit
5f33a251b3

+ 3 - 0
data/mappings/keyboard_aliases.hjson

@@ -890,6 +890,9 @@
     "kelowna/rgb64": {
         "target": "weirdo/kelowna/rgb64"
     },
+    "keychron/q0": {
+        "target": "keychron/q0/base"
+    },
     "keychron/q1": {
         "target": "keychron/q1v1"
     }

+ 0 - 0
keyboards/keychron/q0/rev_0130/rev_0130.c → keyboards/keychron/q0/base/base.c


+ 1 - 2
keyboards/keychron/q0/rev_0130/config.h → keyboards/keychron/q0/base/config.h

@@ -21,8 +21,7 @@
 #define DRIVER_ADDR_1 SNLED27351_I2C_ADDRESS_GND
 
 /* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 21
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
+#define RGB_MATRIX_LED_COUNT 21
 
 /* Enable num-lock LED */
 #define NUM_LOCK_LED_INDEX 4

+ 2 - 45
keyboards/keychron/q0/rev_0130/info.json → keyboards/keychron/q0/base/info.json

@@ -1,58 +1,14 @@
 {
     "keyboard_name": "Q0",
-    "manufacturer": "Keychron",
-    "url": "https://github.com/Keychron",
-    "maintainer": "lalalademaxiya1",
     "usb": {
-        "vid": "0x3434",
         "pid": "0x0130",
-        "device_version": "1.0.2",
-        "force_nkro": true
+        "device_version": "1.0.2"
     },
     "matrix_pins": {
         "cols": ["A5", "A6", "A7", "B0"],
         "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
     },
-    "features": {
-        "audio": false,
-        "backlight": false,
-        "bootmagic": true,
-        "command": false,
-        "console": false,
-        "extrakey": true,
-        "mousekey": true,
-        "nkro": true,
-        "rgb_matrix": true,
-        "rgblight": false
-    },
-    "diode_direction": "ROW2COL",
-    "processor": "STM32L432",
-    "bootloader": "stm32-dfu",
     "rgb_matrix": {
-        "driver": "snled27351",
-        "animations": {
-            "band_spiral_val": true,
-            "breathing": true,
-            "cycle_all": true,
-            "cycle_left_right": true,
-            "cycle_up_down": true,
-            "rainbow_moving_chevron": true,
-            "cycle_out_in": true,
-            "cycle_out_in_dual": true,
-            "cycle_pinwheel": true,
-            "cycle_spiral": true,
-            "dual_beacon": true,
-            "rainbow_beacon": true,
-            "jellybean_raindrops": true,
-            "pixel_rain": true,
-            "typing_heatmap": true,
-            "digital_rain": true,
-            "solid_reactive_simple": true,
-            "solid_reactive_multiwide": true,
-            "solid_reactive_multinexus": true,
-            "splash": true,
-            "solid_splash": true
-        },
         "center_point": [56, 16],
         "layout": [
             {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
@@ -83,6 +39,7 @@
             {"flags": 1, "matrix": [4, 3], "x": 112, "y": 29}
         ]
     },
+    "community_layouts": ["numpad_6x4"],
     "layouts": {
         "LAYOUT_numpad_6x4": {
             "layout": [

+ 0 - 0
keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c → keyboards/keychron/q0/base/keymaps/default/keymap.c


+ 0 - 0
keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c → keyboards/keychron/q0/base/keymaps/keychron/keymap.c


+ 0 - 0
keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk → keyboards/keychron/q0/base/keymaps/keychron/rules.mk


+ 0 - 0
keyboards/keychron/q0/rev_0130/keymaps/via/keymap.c → keyboards/keychron/q0/base/keymaps/via/keymap.c


+ 0 - 0
keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk → keyboards/keychron/q0/base/keymaps/via/rules.mk


+ 0 - 0
keyboards/keychron/q0/rev_0130/readme.md → keyboards/keychron/q0/base/readme.md


+ 1 - 0
keyboards/keychron/q0/base/rules.mk

@@ -0,0 +1 @@
+# This file intentionally left blank

+ 0 - 4
keyboards/keychron/q0/config.h

@@ -21,9 +21,5 @@
 /* turn off effects when suspended */
 #define RGB_DISABLE_WHEN_USB_SUSPENDED
 
-/* EEPROM Driver Configuration */
-#define WEAR_LEVELING_LOGICAL_SIZE 2048
-#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2)
-
 #define RGB_MATRIX_KEYPRESSES
 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS

+ 52 - 0
keyboards/keychron/q0/info.json

@@ -0,0 +1,52 @@
+{
+    "manufacturer": "Keychron",
+    "maintainer": "lalalademaxiya1",
+    "bootloader": "stm32-dfu",
+    "diode_direction": "ROW2COL",
+    "eeprom": {
+        "wear_leveling": {
+            "backing_size": 4096
+        }
+    },
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true,
+        "rgb_matrix": true
+    },
+    "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": "snled27351"
+    },
+    "url": "https://github.com/Keychron",
+    "usb": {
+        "force_nkro": true,
+        "vid": "0x3434"
+    }
+}

+ 4 - 5
keyboards/keychron/q0/rev_0131/config.h → keyboards/keychron/q0/plus/config.h

@@ -21,13 +21,12 @@
 #define DRIVER_ADDR_1 SNLED27351_I2C_ADDRESS_VDDIO
 
 /* RGB Matrix Configuration */
-#define DRIVER_1_LED_TOTAL 26
-#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL
+#define RGB_MATRIX_LED_COUNT 26
 
 #define SNLED27351_PHASE_CHANNEL SNLED27351_MSKPHASE_9CHANNEL
 
+/* Encoder Configuration*/
+#define ENCODER_DEFAULT_POS 0x3
+
 /* Enable num-lock LED */
 #define NUM_LOCK_LED_INDEX 5
-
-/* Encoder Configuration */
-#define ENCODER_DEFAULT_POS 0x3

+ 3 - 46
keyboards/keychron/q0/rev_0131/info.json → keyboards/keychron/q0/plus/info.json

@@ -1,33 +1,15 @@
 {
     "keyboard_name": "Keychron Q0 Plus",
-    "manufacturer": "Keychron",
-    "url": "https://github.com/Keychron",
-    "maintainer": "lalalademaxiya1",
     "usb": {
-        "vid": "0x3434",
         "pid": "0x0131",
-        "device_version": "1.0.0",
-        "force_nkro": true
+        "device_version": "1.0.0"
     },
     "matrix_pins": {
         "cols": ["C14", "C15", "A0", "A1", "A2"],
         "rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
     },
-    "features": {
-        "audio": false,
-        "backlight": false,
-        "bootmagic": true,
-        "command": false,
-        "console": false,
-        "encoder": true,
-        "extrakey": true,
-        "mousekey": true,
-        "nkro": true,
-        "rgb_matrix": true,
-        "rgblight": false
-    },
-    "diode_direction": "ROW2COL",
     "encoder": {
+        "enabled": true,
         "rotary": [
             {"pin_a": "A3", "pin_b": "A4"}
         ]
@@ -35,33 +17,7 @@
     "bootmagic": {
         "matrix": [0, 1]
     },
-    "processor": "STM32L432",
-    "bootloader": "stm32-dfu",
     "rgb_matrix": {
-        "driver": "snled27351",
-        "animations": {
-            "band_spiral_val": true,
-            "breathing": true,
-            "cycle_all": true,
-            "cycle_left_right": true,
-            "cycle_up_down": true,
-            "rainbow_moving_chevron": true,
-            "cycle_out_in": true,
-            "cycle_out_in_dual": true,
-            "cycle_pinwheel": true,
-            "cycle_spiral": true,
-            "dual_beacon": true,
-            "rainbow_beacon": true,
-            "jellybean_raindrops": true,
-            "pixel_rain": true,
-            "typing_heatmap": true,
-            "digital_rain": true,
-            "solid_reactive_simple": true,
-            "solid_reactive_multiwide": true,
-            "solid_reactive_multinexus": true,
-            "splash": true,
-            "solid_splash": true
-        },
         "layout": [
             {"flags": 1, "matrix": [0, 1], "x": 56, "y": 0},
             {"flags": 1, "matrix": [0, 2], "x": 112, "y": 0},
@@ -96,6 +52,7 @@
             {"flags": 1, "matrix": [5, 3], "x": 168, "y": 64}
         ]
     },
+    "community_layouts": ["numpad_6x5"],
     "layouts": {
         "LAYOUT_numpad_6x5": {
             "layout": [

+ 0 - 0
keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c → keyboards/keychron/q0/plus/keymaps/default/keymap.c


+ 0 - 0
keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk → keyboards/keychron/q0/plus/keymaps/default/rules.mk


+ 0 - 0
keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c → keyboards/keychron/q0/plus/keymaps/keychron/keymap.c


+ 0 - 0
keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk → keyboards/keychron/q0/plus/keymaps/keychron/rules.mk


+ 0 - 0
keyboards/keychron/q0/rev_0131/keymaps/via/keymap.c → keyboards/keychron/q0/plus/keymaps/via/keymap.c


+ 0 - 0
keyboards/keychron/q0/rev_0131/keymaps/via/rules.mk → keyboards/keychron/q0/plus/keymaps/via/rules.mk


+ 0 - 0
keyboards/keychron/q0/rev_0131/rev_0131.c → keyboards/keychron/q0/plus/plus.c


+ 12 - 0
keyboards/keychron/q0/plus/readme.md

@@ -0,0 +1,12 @@
+# Keychron Q0 Plus
+
+![Keychron Q0 Plus](https://i.imgur.com/EDbfVVOh.jpg)
+
+* Keyboard Maintainer: [Keychron](https://github.com/keychron)
+* Hardware Supported: Keychron Q0 Plus
+* Hardware Availability: [Keychron Q0 Plus QMK Custom Number Pad](https://www.keychron.com/products/keychron-q0-plus-qmk-custom-number-pad)
+
+1. The name of this keyboard is "Keychron Q0 Plus"
+2. Enables EC11 rotary encoder
+    - Turn clockwise to increase volume and turn anti-clockwise to decrease volume
+    - Press the knob button to mute

+ 1 - 0
keyboards/keychron/q0/plus/rules.mk

@@ -0,0 +1 @@
+# This file intentionally left blank

+ 7 - 3
keyboards/keychron/q0/readme.md

@@ -1,18 +1,22 @@
 # Keychron Q0
 
+![Keychron Q0](https://i.imgur.com/cLbEiZ0h.jpg)
+
 A customizable number keypad.
 
 * Keyboard Maintainer: [Keychron](https://github.com/keychron)
 * Hardware Supported: Keychron Q0
-* Hardware Availability: [Keychron](https://www.keychron.com)
+* Hardware Availability: [Keychron Q0 QMK Custom Number Pad](https://www.keychron.com/products/keychron-q0-qmk-custom-number-pad)
 
 Make example for this keyboard (after setting up your build environment):
 
-    make keychron/q0/rev_0130:default
+    make keychron/q0/base:default
+    make keychron/q0/plus:default
 
 Flashing example for this keyboard:
 
-    make keychron/q0/rev_0130:default:flash
+    make keychron/q0/base:default:flash
+    make keychron/q0/plus:default:flash
 
 **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard.
 

+ 0 - 1
keyboards/keychron/q0/rev_0130/rules.mk

@@ -1 +0,0 @@
-# This file intentionally left blank

+ 0 - 6
keyboards/keychron/q0/rev_0131/readme.md

@@ -1,6 +0,0 @@
-# The enhanced version with encoder of the Keychron Q0
-
-- The name of this keyboard is "Q0 Plus"
-- Enable EC11 rotary encoder
-- Turn clockwise to increase volume and turn anti-clockwise to decrease volume
-- Press the knob button to mute

+ 0 - 1
keyboards/keychron/q0/rev_0131/rules.mk

@@ -1 +0,0 @@
-# This file intentionally left blank