~ruther/qmk_firmware

5f33a251b32677cc2cbc71adf47b1e1969d15598 — adophoxia 1 year, 9 months ago 70f0c27
Update Keychron Q0 (#22068)

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
M data/mappings/keyboard_aliases.hjson => data/mappings/keyboard_aliases.hjson +3 -0
@@ 890,6 890,9 @@
    "kelowna/rgb64": {
        "target": "weirdo/kelowna/rgb64"
    },
    "keychron/q0": {
        "target": "keychron/q0/base"
    },
    "keychron/q1": {
        "target": "keychron/q1v1"
    }

R keyboards/keychron/q0/rev_0130/rev_0130.c => keyboards/keychron/q0/base/base.c +0 -0
R keyboards/keychron/q0/rev_0130/config.h => keyboards/keychron/q0/base/config.h +1 -2
@@ 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

R keyboards/keychron/q0/rev_0130/info.json => keyboards/keychron/q0/base/info.json +2 -45
@@ 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": [

R keyboards/keychron/q0/rev_0130/keymaps/default/keymap.c => keyboards/keychron/q0/base/keymaps/default/keymap.c +0 -0
R keyboards/keychron/q0/rev_0130/keymaps/keychron/keymap.c => keyboards/keychron/q0/base/keymaps/keychron/keymap.c +0 -0
R keyboards/keychron/q0/rev_0130/keymaps/keychron/rules.mk => keyboards/keychron/q0/base/keymaps/keychron/rules.mk +0 -0
R keyboards/keychron/q0/rev_0130/keymaps/via/keymap.c => keyboards/keychron/q0/base/keymaps/via/keymap.c +0 -0
R keyboards/keychron/q0/rev_0130/keymaps/via/rules.mk => keyboards/keychron/q0/base/keymaps/via/rules.mk +0 -0
R keyboards/keychron/q0/rev_0130/readme.md => keyboards/keychron/q0/base/readme.md +0 -0
R keyboards/keychron/q0/rev_0130/rules.mk => keyboards/keychron/q0/base/rules.mk +1 -1
@@ 1,1 1,1 @@
# This file intentionally left blank
# This file intentionally left blank
\ No newline at end of file

M keyboards/keychron/q0/config.h => keyboards/keychron/q0/config.h +0 -4
@@ 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
\ No newline at end of file

A keyboards/keychron/q0/info.json => keyboards/keychron/q0/info.json +52 -0
@@ 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"
    }
}
\ No newline at end of file

R keyboards/keychron/q0/rev_0131/config.h => keyboards/keychron/q0/plus/config.h +4 -5
@@ 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

R keyboards/keychron/q0/rev_0131/info.json => keyboards/keychron/q0/plus/info.json +3 -46
@@ 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": [

R keyboards/keychron/q0/rev_0131/keymaps/default/keymap.c => keyboards/keychron/q0/plus/keymaps/default/keymap.c +0 -0
R keyboards/keychron/q0/rev_0131/keymaps/default/rules.mk => keyboards/keychron/q0/plus/keymaps/default/rules.mk +0 -0
R keyboards/keychron/q0/rev_0131/keymaps/keychron/keymap.c => keyboards/keychron/q0/plus/keymaps/keychron/keymap.c +0 -0
R keyboards/keychron/q0/rev_0131/keymaps/keychron/rules.mk => keyboards/keychron/q0/plus/keymaps/keychron/rules.mk +0 -0
R keyboards/keychron/q0/rev_0131/keymaps/via/keymap.c => keyboards/keychron/q0/plus/keymaps/via/keymap.c +0 -0
R keyboards/keychron/q0/rev_0131/keymaps/via/rules.mk => keyboards/keychron/q0/plus/keymaps/via/rules.mk +0 -0
R keyboards/keychron/q0/rev_0131/rev_0131.c => keyboards/keychron/q0/plus/plus.c +0 -0
A keyboards/keychron/q0/plus/readme.md => keyboards/keychron/q0/plus/readme.md +12 -0
@@ 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

R keyboards/keychron/q0/rev_0131/rules.mk => keyboards/keychron/q0/plus/rules.mk +1 -1
@@ 1,1 1,1 @@
# This file intentionally left blank
# This file intentionally left blank
\ No newline at end of file

M keyboards/keychron/q0/readme.md => keyboards/keychron/q0/readme.md +7 -3
@@ 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.


D keyboards/keychron/q0/rev_0131/readme.md => keyboards/keychron/q0/rev_0131/readme.md +0 -6
@@ 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