Giter VIP home page Giter VIP logo

qmk_firmware's Introduction

Quantum Mechanical Keyboard Firmware

Current Version Discord Docs Status GitHub contributors GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.

You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official Website

qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.

qmk_firmware's People

Contributors

drashna avatar erovia avatar ezuk avatar fauxpark avatar filterpaper avatar fredizzimo avatar ibnobody avatar jackhumbert avatar karlk90 avatar mechmerlin avatar moyi4681 avatar mtei avatar nooges avatar noroadsleft avatar peepeetee avatar priyadi avatar qmk-bot avatar shelaf avatar skullydazed avatar tmk avatar tzarc avatar umi-umi avatar vomindoraan avatar waffle87 avatar xelus22 avatar xscorpion2 avatar xyverz avatar yashikno avatar yiancar avatar zvecr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmk_firmware's Issues

[Bug] keychron/q1v1/ansi keyboard bricks the keyboard

Describe the Bug

Keyboard doesn't work if you flash q1v1 firmware from master.

"Doesn't work" means:

  • initially no keys work and rgb is off
  • after some time rgb slowly pulses red but not smoothly (like low-fps graphics)
  • Key inputs eventually work but with very low polling rate

For those coming from the internet, the 9 month old keychron-q1v1-q1v2 branch does work as expected (use keyboard keychron/q1)

Commit 38f89df is the first broken commit.

Keyboard Used

keychron/q1v1/ansi

Link to product page (if applicable)

No response

Operating System

Windows

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: C:/qmk/qmk_firmware
Ψ Detected Windows 10 (10.0.22631).
Ψ QMK MSYS version: 1.8.0
Ψ Userspace enabled: False
Ψ Git branch: kc_master
Ψ Repo version: 0.14.29
⚠ Git has unstashed/uncommitted changes.
Ψ - Latest kc_master: 2023-12-18 13:53:02 +1100 (9539f135d8) -- Remove obvious user keymaps, `keyboards/[0-9]*` edition. (#22691)
Ψ - Latest upstream/master: 2024-01-06 02:06:14 +0100 (a474cac2c3) -- Update keymap.md (#22834)
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: 2023-12-18 13:53:02 +1100 (9539f135d8) -- Remove obvious user keymaps, `keyboards/[0-9]*` edition. (#22691)
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 12.2.0
Ψ Found avr-gcc version 12.2.0
⚠ We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.
Ψ Found avrdude version 7.0
Ψ Found dfu-programmer version 1.1.0
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2023-04-15 13:48:04 +0000 --  (11edb1610)
Ψ - lib/chibios-contrib: 2023-07-17 11:39:05 +0200 --  (da78eb37)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

Factory Test

Issue Description

What is the role of a factory_test.h/.c (e.g. on K3 Max)? Currently it seems to be enabled by default (via FACTORY_TEST_ENABLE).

[Feature Request] Add support for Vial-qmk on the k7 pro

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

it would be great if you could add https://github.com/vial-kb/vial-qmk support on the k7 pro :) will this be something that is doable?

by the look at the code in the k7 pro folder it maybe possible with minor tweaks I think but I have never done anything with qmk so I'm unsure

[Bug] stuttering sound

Describe the Bug

I am using three devices:

  1. K15 Pro, K2 V2
  2. Mouse Master Mx 3s
  3. Headphone SoundPeats Air 3
    I have noticed that when I connect the K15 Pro, it causes intermittent audio stuttering after a while of listening. However, I don't encounter this issue when using the K2 V2. Could you please help me troubleshoot this?

Device Specs:
K15 Pro firmware version 1.02
Mac OS Ventura 13.2.1
Mouse Master mx 3s

Thx.

Keyboard Used

K15 Pro

Link to product page (if applicable)

No response

Operating System

Mac OS

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

q1v2 special, which keyboard model should I use

Hello I have a Q1v2 special edition, and I am not sure which model I should use. Looking at the hardware, it looks like it corresponds to a Q1 (v1) model, is this correct? is there any difference?

[Bug] Key backlight indicators for OS state stay lit when host is put to sleep

Describe the Bug

keyboards/keychron/k10_pro/iso/rgb/config.h contains:
# define NUM_LOCK_INDEX 37 // NumLock

This turns the num lock key backlight white when num lock is turned on. This backlight stays on when the host computer is put to sleep (tested only using USB connection). I imagine this is a bug (it's certainly not how I expect it to work).

The reason is that when the host goes to sleep, rgb_matrix_set_suspend_state(true) in quantum/rgb_matrix/rgb_matrix.c gets called, which in turn calls rgb_task_render(0) to turn off the backlighting. This then calls rgb_matrix_none -> rgb_matrix_none_indicators -> rgb_matrix_none_indicators_kb, which is defined in keyboards/keychron/bluetooth/indicator.c as LED_NONE_INDICATORS_KB, and calls os_state_indicate. I imagine this is there so the OS state indicators still work even if the user uses rgb_matrix_config.mode == RGB_MATRIX_NONE, but it ends up keeping them lit even when rgb_matrix is supposed to be suspended.

Keyboard Used

keychron/k10_pro/iso/rgb

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k10-pro-qmk-via-wireless-mechanical-keyboard-iso-layout-collection

Operating System

Windows, Linux

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /mnt/silicon/home/hunor/src/qmk/qmk_firmware
Ψ Detected Linux (Gentoo Linux).
Ψ Git branch: bluetooth_playground
Ψ Repo version: 0.14.29
⚠ The official repository does not seem to be configured as git remote "upstream".
Ψ CLI installed in virtualenv.
☒ Can't find avr-gcc in your path.
☒ Can't find avrdude in your path.
☒ Can't find dfu-programmer in your path.
Would you like to install dependencies? [Y/n] n
Ψ Found arm-none-eabi-gcc version 13
⚠ Unknown version for avr-gcc
⚠ Unknown version for avrdude
⚠ Unknown version for dfu-programmer
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2022-09-18 10:01:17 +0000 --  (0e9d558b5)
Ψ - lib/chibios-contrib: 2022-10-03 18:09:41 +0200 --  (bb8356fb)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2022-09-19 18:02:44 +0200 --  (8d56ea3)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ Major problems detected, please fix these problems before proceeding.
Ψ Check out the FAQ (https://docs.qmk.fm/#/faq_build) or join the QMK Discord (https://discord.gg/Uq7gcHh) for help.

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

When will the `bluetooth_playground` branch be merged into master and in the main QMK repo?

Issue Description

Hi all, I'm a very happy K2 Pro user. Some time ago, I was searching for the firmware of this keyboard in the qmk/qmk_firmware repository. However, I couldn't find it and noticed that this repo existed. The firmware of this keyboard is located in the bluetooth_playground branch, and it took me some time to find it. It builds without any problems, which is nice. However, I must say that I'm a little bit disappointed that the firmware of the K series, and more specifically the bluetooth_playground branch, hasn't been merged yet into the master of this repo and finally into the main qmk/qmk_firmware repository. Are there any plans to do this? It would really help to gain some traction for the K series keyboards in the QMK community.

Question about the current software state

Issue Description

Hi,

I really like the Keychron hardware, but I'm a bit disappointed with how the "Open Source" promise is being managed here. I've come across issues that make the current state not quite acceptable for keyboards advertised as QMK-compatible.

Issue 1: Fork of QMK
Keychron has its own fork of QMK for licensing or other reasons, which isn't ideal but not a deal-breaker either. I've heard this is being worked on with the QMK team, so I guess this issue is already being addressed.

Issue 2: Code Location
The Keychron-specific code is stored in various branches with names containing the word "playground." For example, the K3 Pro product page links to a branch called bluetooth_playground, while the Lemokey L3 page links to wireless_playground.

  • wireless_playground: 7 commits ahead of, 45 commits behind qmk/qmk_firmware:master
  • bluetooth_playground: 278 commits ahead of, 3260 commits behind qmk/qmk_firmware:master
  • playground: 28 commits ahead of, 635 commits behind qmk/qmk_firmware:master
  • old_playground: This branch is 443 commits ahead of, 2388 commits behind qmk/qmk_firmware:master

How's anyone supposed to figure out the right branch to use here? I had to contact support, which pointed me to the wireless_playground branch since I was looking for the Lemokey L3 firmware. Additionally, it seems that this one also contains more recent K3 Pro firmware??

Issue 3: Up-to-date Status
Those branches tend to get stale and deviate a lot from the master branch over time, causing missing bug fixes and features. This is pretty bad for keyboards that have "QMK" in the headline of their product description. For something like that, I'd expect a software state as close to the QMK-master as possible.

Suggestion:
As long as this fork is necessary, I'd like to see a single "Keychron"-specific branch (e.g., "keychron-master") set as the default, containing all the source for Keychron boards not currently supported in QMK upstream. This branch should also get frequent updates from the QMK-master branch.

Can we have something like that?

[Bug] k1 pro iso rgb firmware flash after via is not working

Describe the Bug

when i run this command : qmk compile -kb keychron/k1_pro/iso/rgb -km default
and flash to keyboard via web app cant autorize my keyboard.
image
i try other browsem same issue.
If i flash to original firmware its work again.

Keyboard Used

keychron/k1_pro/iso/rgb

Link to product page (if applicable)

No response

Operating System

windows

qmk doctor Output

QMK Doctor is checking your environment.
Ψ CLI version: 1.1.1
Ψ QMK home: C:/Users/(username)/qmk_firmware
Ψ Detected Windows 10 (10.0.22621).
Ψ QMK MSYS version: 1.7.2
Ψ Git branch: bluetooth_playground
Ψ Repo version: 0.14.29
Ψ - Latest bluetooth_playground: 2023-07-16 21:05:38 +0800 (02a4691a88) -- fix memory leak when using per key/row debounce
Ψ - Latest upstream/master: None
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: None
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 10.1.0
Ψ Found avr-gcc version 8.5.0
Ψ Found avrdude version 7.0
Ψ Found dfu-programmer version 0.7.2
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2022-09-18 10:01:17 +0000 --  (0e9d558b5)
Ψ - lib/chibios-contrib: 2022-10-03 18:09:41 +0200 --  (bb8356fb)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2022-09-19 18:02:44 +0200 --  (8d56ea3)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Feature Request] Add k13 Pro Iso source code

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

Hi,

I've found the ansi source code for the K13 pro in the bluetooth_playground branch, but the ISO version is missing.

Could you add it ?

Thanks.

Regards,

Benoit

[Feature Request]

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

Request to add k3pro support

[Feature Request] Add K3 Max Source Code

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

K3 Max source isn't included.

[Bug] Lighning issues with Keychron Q6

Describe the Bug

Underglow effects with an ISO Knob Q6 are not working properly.

Underglow Name Test
01. SOLID_COLOR OK
02. BREATHING OK
03. BAND_SPIRAL_VAL OK
04. CYCLE_ALL OK
05. CYCLE_LEFT_RIGHT NOK (Swapped directions)
06. CYCLE_UP_DOWN NOK (Swapped directions)
07. RAINBOW_MOVING_CHEVRON OK
08. CYCLE_ALL OK
09. CYCLE_OUT_IN_DUAL Unsure
10. CYCLE_PINWHEEL OK
11. CYCLE_SPIRAL OK
12. DUAL_BEACON OK
13. RAINBOW_BEACON NOK (Random fixed colors)
14. JELLYBEAN_RAINBOW NOK (Random fixed colors)
15. PIXEL_RAIN NOK (Random fixed colors)
16. TYPING_HEATMAP NOK (Random fixed colors)
17. DIGITAL_RAIN NOK (Random fixed colors)
18. REACTIVE_SIMPLE NOK (Random fixed colors)
19. REACTIVE_MULTIWIDE NOK (Random fixed colors)
20. REACTIVE_MULTINEXUS NOK (Random fixed colors)
21. SPLASH NOK (Random fixed colors)
22. SOLID_SPLASH NOK (Random fixed colors)

Keyboard Used

keychron/q6/iso_enmcoder

Link to product page (if applicable)

https://www.keychron.com/products/keychron-q6-qmk-custom-mechanical-keyboard?variant=39990023880793

Operating System

Windows 11 22H2 22621.1848

qmk doctor Output

Ψ QMK Doctor is checking your environment.                                                                                   
Ψ CLI version: 1.1.1                                                                                                         
Ψ QMK home: C:/Users/Keelah/qmk_firmware                                                                                     
Ψ Detected Windows 10 (10.0.22621).                                                                                          
Ψ QMK MSYS version: 1.7.2                                                                                                    
Ψ Git branch: master                                                                                                         
Ψ Repo version: 0.21.3                                                                                                       
Ψ - Latest master: 2023-06-29 08:08:23 +0800 (b5da6d228f) -- sofle/rev1:devdev: Disable console (#21401)                     
Ψ - Latest upstream/master: 2023-06-29 08:08:23 +0800 (b5da6d228f) -- sofle/rev1:devdev: Disable console (#21401)            
Ψ - Latest upstream/develop: None                                                                                            
Ψ - Common ancestor with upstream/master: 2023-06-29 08:08:23 +0800 (b5da6d228f) -- sofle/rev1:devdev: Disable console (#2140
1)                                                                                                                           
Ψ - Common ancestor with upstream/develop: None                                                                              
Ψ All dependencies are installed.                                                                                            
Ψ Found arm-none-eabi-gcc version 10.1.0                                                                                     
Ψ Found avr-gcc version 8.5.0                                                                                                
Ψ Found avrdude version 7.0                                                                                                  
Ψ Found dfu-programmer version 0.7.2                                                                                         
Ψ Found dfu-util version 0.11                                                                                                
Ψ Submodules are up to date.                                                                                                 
Ψ Submodule status:                                                                                                          
Ψ - lib/chibios: 2023-04-15 13:48:04 +0000 --  (11edb1610)                                                                   
Ψ - lib/chibios-contrib: 2023-01-11 16:42:27 +0100 --  (a224be15)                                                            
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)                                                                 
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)                                                                      
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)                                                                        
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)                                                                      
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)                                                                    
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)                                                                       
Ψ QMK is ready to go

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] q1 pro compile error after the jis_encoder commits

Describe the Bug

While compiling for Q1 Pro:

Compiling: keyboards/keychron/bluetooth/bat_level_animation.c [OK] Compiling: keyboards/keychron/bluetooth/rtc_timer.c [OK] Compiling: keyboards/keychron/q1_pro/q1_pro.c In file included from ./lib/chibios/os/hal/include/hal.h:299, from platforms/chibios/platform_deps.h:18, from quantum/quantum.h:18, from keyboards/keychron/q1_pro/q1_pro.h:19, from keyboards/keychron/q1_pro/q1_pro.c:17: keyboards/keychron/q1_pro/q1_pro.c: In function 'keyboard_post_init_kb': keyboards/keychron/q1_pro/q1_pro.c:177:43: error: 'encoder0_pad_cb' undeclared (first use in this function); did you mean 'encoder_pad_cb'? palSetLineCallback(encoders_pad_a[0], encoder0_pad_cb, NULL); ^~~~~~~~~~~~~~~ ./lib/chibios/os/hal/include/hal_pal.h:994:31: note: in definition of macro 'palSetLineCallback' palSetLineCallbackI(line, cb, arg); \ ^~ keyboards/keychron/q1_pro/q1_pro.c:177:43: note: each undeclared identifier is reported only once for each function it appears in palSetLineCallback(encoders_pad_a[0], encoder0_pad_cb, NULL); ^~~~~~~~~~~~~~~ ./lib/chibios/os/hal/include/hal_pal.h:994:31: note: in definition of macro 'palSetLineCallback' palSetLineCallbackI(line, cb, arg); \ ^~ In file included from ./lib/chibios/os/hal/include/hal_pal.h:174, from ./lib/chibios/os/hal/include/hal.h:299, from platforms/chibios/platform_deps.h:18, from quantum/quantum.h:18, from keyboards/keychron/q1_pro/q1_pro.h:19, from keyboards/keychron/q1_pro/q1_pro.c:17: keyboards/keychron/q1_pro/q1_pro.c: In function 'matrix_scan_kb': keyboards/keychron/q1_pro/q1_pro.c:190:26: error: 'CKBT51_RESET_PIN' undeclared (first use in this function); did you mean 'CRC_CR_RESET_Pos'? palWriteLine(CKBT51_RESET_PIN, PAL_LOW); ^~~~~~~~~~~~~~~~ ./lib/chibios/os/hal/ports/STM32/LLD/GPIOv3/hal_pal_lld.h:437:67: note: in definition of macro 'pal_lld_writegroup' uint32_t w = ((~(uint32_t)(bits) & (uint32_t)(mask)) << (16U + (offset))) | \ ^~~~~~ ./lib/chibios/os/hal/include/hal_pal.h:601:37: note: in expansion of macro 'pal_lld_writepad' #define palWritePad(port, pad, bit) pal_lld_writepad(port, pad, bit) ^~~~~~~~~~~~~~~~ ./lib/chibios/os/hal/include/hal_pal.h:716:33: note: in expansion of macro 'palWritePad' #define palWriteLine(line, bit) palWritePad(PAL_PORT(line), PAL_PAD(line), bit) ^~~~~~~~~~~ ./lib/chibios/os/hal/include/hal_pal.h:716:61: note: in expansion of macro 'PAL_PAD' #define palWriteLine(line, bit) palWritePad(PAL_PORT(line), PAL_PAD(line), bit) ^~~~~~~ keyboards/keychron/q1_pro/q1_pro.c:190:13: note: in expansion of macro 'palWriteLine' palWriteLine(CKBT51_RESET_PIN, PAL_LOW); ^~~~~~~~~~~~ At top level: keyboards/keychron/q1_pro/q1_pro.c:134:13: error: 'encoder_pad_cb' defined but not used [-Werror=unused-function] static void encoder_pad_cb(void *param) { ^~~~~~~~~~~~~~ cc1: all warnings being treated as errors [ERRORS] | | | make[1]: *** [.build/obj_keychron_q1_pro_jis_encoder_default/keyboards/keychron/q1_pro/q1_pro.o] Error 1 make: *** [keychron/q1_pro/jis_encoder:default] Error 1 Make finished with errors

Keyboard Used

Q1 Pro

Link to product page (if applicable)

No response

Operating System

MacOS

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

Ψ QMK Doctor is checking your environment. Ψ CLI version: 1.1.2 Ψ QMK home: /Users/norbert/kb-fw/qmk_firmware Ψ Detected macOS 14.1 (Apple Silicon). Ψ Git branch: bluetooth_playground Ψ Repo version: 0.14.29 ⚠ The official repository does not seem to be configured as git remote "upstream". Ψ CLI installed in virtualenv. Ψ All dependencies are installed. Ψ Found arm-none-eabi-gcc version 8.5.0 Ψ Found avr-gcc version 8.5.0 Ψ Found avrdude version 7.2 Ψ Found dfu-programmer version 1.1.0 Ψ Found dfu-util version 0.11 Ψ Submodules are up to date. Ψ Submodule status: Ψ - lib/chibios: 2022-09-18 10:01:17 +0000 -- (0e9d558) Ψ - lib/chibios-contrib: 2022-10-03 18:09:41 +0200 -- (bb8356f) Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 -- (e2239ee) Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 -- (549b973) Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 -- (819dbc1) Ψ - lib/printf: 2022-06-29 23:59:58 +0300 -- (c2e3b4e) Ψ - lib/pico-sdk: 2022-09-19 18:02:44 +0200 -- (8d56ea3) Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 -- (e19410f) Ψ QMK is ready to go, but minor problems were found

[Bug] Keyboard not awakening with knob volume dial rotation K15 pro

Describe the Bug

When keyboard is in sleep mode, rotating the knob is doing nothing instead of waking up the keyboard properly.

Keyboard Used

K15 pro

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k15-pro-alice-layout-qmk-via-wireless-custom-mechanical-keyboard

Operating System

Windows 11

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

Add Q13Pro

Issue Description

Please add files for the Q13 Pro to the bluetooth_playground branch.

[Bug] [keychron K8 pro]mouse btn not functional

Describe the Bug

use via maping some key to MOUSE_BTN1 (KC_MS_BTN1), and press that key, no functional.

Keyboard Used

keychron k8 pro

Link to product page (if applicable)

No response

Operating System

windows

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

OpenRGB Integration?

Issue Description

Hey I'm wondering how I can enable OpenRGB integration on the Keychron K8 Pro. I downloaded the newest prebuild firmware that's available on this repo but OpenRGB still says it's not enabled in the make settings.

[功能请求]

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

我的遇到的问题是 我来回切换layer 以后 不知道当前所在的layer
所以我的需求是 通过某种方式 告知我 当前的layer
以下是我的思考和建议
Q3 Pro 左侧 四个按键 M1、M2、M3、M4 我设置为修改Layer 我希望 我按下对应的键后 led 灯能常量 以表示当前所在的layer
也可以增加 小屏幕 其中显示当前layer

[Feature Request] publish k15 pro files

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

Please publish (or point me to) the files for the k15 pro.

Implement bluetooth battery / energy service

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

I have recently bought the K3 Pro and was quite surprised to see that there is no reporting of battery percentage to the host system.

I am talking about the percentage shown on other devices (eg like the Nuphy air60 mechanical keyboard) shown here:
CleanShot 2023-11-14 at 13 24 53@2x

Needless to say, the fn+b macro does "output" an approximation of the battery left but it is debatable if the user experience is any good, waiting for several seconds for the lights to glow:

IMG_1880.mp4

Now, this has been discussed a lot, from a quick search one can see that this is a popular request:

Can this item be planned for implementation? A wirelesses keyboard that comes with macOS support by default shouldn't be missing this feature.

[Feature Request] Release files for K11 Pro

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

Please release the files for QMK support of the K11 Pro. I would like to either write a custom keymap with leader macros or compile Vial for it and use combos. Either way, it is not connecting to Via at the moment.

[Bug] 'new-keymap' command not recognized in QMK CLI

Describe the Bug

Hello,

I've been trying to create a new keymap using the QMK CLI, but I'm encountering an issue where the new-keymap command is not recognized. This issue persists whether I use the CLI directly on my system(Linux Ubuntu22.04) or within a Docker container.

Here are the steps I've taken:

Installed QMK CLI using pip3 (pip3 install qmk).
Checked the version of QMK CLI using qmk --version, which returned 1.1.2.
Attempted to create a new keymap using qmk new-keymap -kb keychron/k6_pro -km my_keymap.
The above steps resulted in the following error:

error code
usage: qmk [-h] [-V] [-v] [--datetime-fmt DATETIME_FMT] [--log-fmt LOG_FMT]
           [--log-file-fmt LOG_FILE_FMT]
           [--log-file-level {debug,info,warning,error,critical}]
           [--log-file LOG_FILE] [--color] [--no-color] [--unicode] [--no-unicode]
           [--interactive] [--config-file CONFIG_FILE]
           {config,clone,console,env,setup} ...
qmk: error: argument {config,clone,console,env,setup}: invalid choice: 'new-keymap' (choose from 'config', 'clone', 'console', 'env', 'setup')

I've also tried updating the QMK CLI using pip3 install --upgrade qmk, but the issue persists.

Any help or guidance on this issue would be greatly appreciated.

Thank you!

Keyboard Used

Keychron K6 Pro

Link to product page (if applicable)

https://keychron.jp/products/keychron-k6-pro-qmk-via-%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AC%E3%82%B9%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%A1%E3%82%AB%E3%83%8B%E3%82%AB%E3%83%AB%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-1

Operating System

Linux Ubuntu 22.04

qmk doctor Output

qmk doctor
usage: qmk [-h] [-V] [-v] [--datetime-fmt DATETIME_FMT] [--log-fmt LOG_FMT]
           [--log-file-fmt LOG_FILE_FMT]
           [--log-file-level {debug,info,warning,error,critical}]
           [--log-file LOG_FILE] [--color] [--no-color] [--unicode] [--no-unicode]
           [--interactive] [--config-file CONFIG_FILE]
           {config,clone,console,env,setup} ...
qmk: error: argument {config,clone,console,env,setup}: invalid choice: 'doctor' (choose from 'config', 'clone', 'console', 'env', 'setup')

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] K11 Pro. Some keys do not wake up keyboard in the Bluetooth mode

Describe the Bug

Keyboard: K11 Pro (K11P-H1)
Connection: Bluetooth
Configuration: a new keyboard with the default configuration.

Description:
When the keyboard is connected via Bluetooth, it goes to save power mode after some delay (Lights are turned off).
If I press some keys e.g. space it will wake up and work properly.
But if I try to use some keys e.g. Knob it is nothing happens.

The list of the keys that have this behaviour:

  • Knob
  • Del
  • Home
  • All arrows.

If I press space, then the Knob works again.
It is pretty inconvenient because if I want to adjust sound I need to press another key and only then I can use the Knob.

Keyboard Used

K11 Pro

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k11-pro-alice-layout-qmk-via-wireless-custom-mechanical-keyboard?variant=40531261718617

Operating System

Windowss 11 Pro

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

bluetooth playground upsteam

Issue Description

is it possible to upstream bluetooth playground branch or is it stuck on an older qmk release
if i cant be up streamed how would you update it locally

[Bug] K3 Max not responding with latest firmware from github after key combination

Describe the Bug

I compiled the bin file for the K3 Max using QMK MSYS both 1.8.0 and 1.7.2. I made no modifications to the source code before compiling. In both cases, after flashing the keyboard it seemed to work fine. But after I press they key combination Fn + Lights Button to turn off the lights, the keyboard stops responding and wont take any further commands.

Edit: If I flash the firmware you provide on your official website it works fine. The problem only appears when flashing the firmware of the Github source code.

Keyboard Used

keychron/k3_max/ansi/white:default

Link to product page (if applicable)

No response

Operating System

Windows 10

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.1
Ψ QMK home: C:/Users/Haris/qmk_firmware
Ψ Detected Windows 10 (10.0.19045).
Ψ QMK MSYS version: 1.7.2
Ψ Userspace enabled: False
Ψ Git branch: wireless_playground
Ψ Repo version: 0.14.29
⚠ Git has unstashed/uncommitted changes.
Ψ - Latest wireless_playground: 2024-01-11 17:56:25 +0800 (74b08459bc) -- Added Q1 Max; Updated V1 Max
Ψ - Latest upstream/master: None
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: None
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 10.1.0
Ψ Found avr-gcc version 8.5.0
Ψ Found avrdude version 7.0
Ψ Found dfu-programmer version 0.7.2
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2024-01-10 10:36:30 +0800 --  (86a3ed9ba)
Ψ - lib/chibios-contrib: 2023-07-17 11:39:05 +0200 --  (da78eb37)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] K7 Max - Mouse Keys Broken in 2.4GHz Wireless

Describe the Bug

What Works

The entire wired mode is fully operational and KC_MS_L/D/U all work even in 2.4GHz wireless.

What Happened

KC_WH_U/D/L/R, KC_BTN1, KC_BTN2 all produce nothing in 2.4GHz that I could observe,
while KC_MS_R seems to send <triple-mouse-8>.

Steps to Reproduce

Assign the problematic keys to any key, within any layer, and turn to 2.4GHz wireless.
Tested across two computers after multiple firmware flashes.

Keyboard Used

keychron/k7_max/ansi/rgb

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k7-max-qmk-via-wireless-custom-mechanical-keyboard

Operating System

NixOS

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /home/bano/qmk_firmware
Ψ Detected Linux (NixOS 24.05 (Uakari)).
Ψ Userspace enabled: False
Ψ Git branch: HEAD
Ψ Repo version: 0.14.29
Ψ - Latest HEAD: 2024-02-01 09:56:04 +0800 (f9f4cf410f) -- Remove *_CALLBACK_ENABLE related code; Fix V2 Max device name
Ψ - Latest upstream/master: 2024-01-31 23:46:08 -0800 (382c3bd0bd) -- Add Doio KB04 (#22754)
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: 2023-12-18 13:53:02 +1100 (9539f135d8) -- Remove obvious user keymaps, `keyboards/[0-9]*` edition. (#22691)
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 12.3.1
Ψ Found avr-gcc version 8.5.0
Ψ Found avrdude version 7.2
Ψ Found dfu-programmer version 0.7.2
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2024-01-10 10:36:30 +0800 --  (86a3ed9ba)
Ψ - lib/chibios-contrib: 2023-07-17 11:39:05 +0200 --  (da78eb37)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] The firmware does not compile if disabling NKRO

Describe the Bug

It does not compile if disable NKRO

Keyboard Used

k1 pro

Link to product page (if applicable)

No response

Operating System

No response

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

I am trying to apply the apple fn patch and find that the code does not compile if set NKRO_ENABLE = no. The conditional compilation part is not done properly.

[Bug] invalid pointer type

Describe the Bug

keyboards/keychron/bluetooth/bluetooth.c:52:85: error: initialization of 'void (*)(report_nkro_t )' from incompatible pointer type 'void ()(report_mouse_t *)' [-Werror=incompatible-pointer-types]
52 | driver_t bluetooth_driver = {bluetooth_keyboard_leds, bluetooth_send_keyboard, bluetooth_send_mouse, bluetooth_send_extra};
| ^~~~~~~~~~~~~~~~~~~~

keyboards/keychron/bluetooth/bluetooth.c:52:85: note: (near initialization for 'bluetooth_driver.send_nkro')
keyboards/keychron/bluetooth/bluetooth.c:52:107: error: initialization of 'void (*)(report_mouse_t )' from incompatible pointer type 'void ()(report_extra_t *)' [-Werror=incompatible-pointer-types]
52 | ver = {bluetooth_keyboard_leds, bluetooth_send_keyboard, bluetooth_send_mouse, bluetooth_send_extra};
| ^~~~~~~~~~~~~~~~~~~~

keyboards/keychron/bluetooth/bluetooth.c:52:107: note: (near initialization for 'bluetooth_driver.send_mouse')
cc1: all warnings being treated as errors
[ERRORS]
|
|
|
make[1]: *** [builddefs/common_rules.mk:373: .build/obj_keychron_k8_pro_ansi_rgb_via/bluetooth/bluetooth.o] Error 1
Make finished with errors
make: *** [Makefile:416: keychron/k8_pro/ansi/rgb:via] Error 1

Keyboard Used

keychron/k8_pro

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k8-pro-qmk-via-wireless-mechanical-keyboard

Operating System

arch linux

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /home/olivia/qmk_firmware
Ψ Detected Linux (Arch Linux).
⚠ Missing or outdated udev rules for 'atmel-dfu' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'kiibohd' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'stm32-dfu' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'apm32-dfu' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'gd32v-dfu' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'wb32-dfu' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'bootloadhid' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'usbasploader' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'usbtinyisp' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'md-boot' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'caterina' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
⚠ Missing or outdated udev rules for 'hid-bootloader' boards. Run 'sudo cp /home/olivia/qmk_firmware/util/udev/50-qmk.rules /etc/udev/rules.d/'.
Ψ Userspace enabled: False
Ψ Git branch: bluetooth_playground
Ψ Repo version: 0.23.3
Ψ - Latest bluetooth_playground: 2023-07-16 21:05:38 +0800 (dac0e63394) -- fix memory leak when using per key/row debounce
Ψ - Latest upstream/master: 2024-01-06 02:06:14 +0100 (a474cac2c3) -- Update keymap.md (#22834)
Ψ - Latest upstream/develop: 2024-01-06 01:06:51 +0000 (ee3540e8df) -- Merge remote-tracking branch 'origin/master' into develop
Ψ - Common ancestor with upstream/master: 2024-01-04 03:59:38 -0500 (b02abcb9a6) -- Regenerate Files (#22821)
Ψ - Common ancestor with upstream/develop: 2024-01-04 03:59:38 -0500 (b02abcb9a6) -- Regenerate Files (#22821)
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 13.2.0
Ψ Found avr-gcc version 13.2.0
⚠ We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.
Ψ Found avrdude version 7.2
Ψ Found dfu-programmer version 1.0.0
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2023-04-15 13:48:04 +0000 --  (11edb16)
Ψ - lib/chibios-contrib: 2023-07-17 11:39:05 +0200 --  (da78eb3)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b973)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

i am trying to update bluetooth playground to the latest qmk and when trying to compile i get the above error i have no experiance with c and only a basic understanding my fork of qmk irmware has the rgb driver issue sorted and this is the next error that came up

how to repurpose the os dip switch k8 pro

Issue Description

i use linux and i have the dip switch set to win/android. i also have custom layers and removed the mac os ones from keymap.c. how to i make the dip switch change to one of my custom layers and not attempt to switch to mac os then fail.
when i do switch it to mac os if i try to press tab a few of the buttons blink red.

i tried setting my dip_switch_update_user() in my keymap.c and i get compilation errors to about factory_test.o

Issues with Keychron Q3 Pro (ISO Knob Version) Firmware, Bluetooth Connectivity, and Configuration Software

Issue Description

Problem:

After downloading the firmware from the official website for my Keychron Q3 Pro (ISO Knob version), I've encountered several issues that are affecting the functionality of the keyboard. Initially, the keyboard displayed erratic behavior. While downloading the SE binary seemed to mitigate some problems, the Bluetooth connectivity remains non-functional.

Additional Issue:

Moreover, the software provided for keyboard configuration is not operating correctly. Despite using a wired connection, which is my usual preference, and attempting to configure the keyboard mappings through the Brave browser on Windows (with all security settings for the site disabled and the browser updated to the newest version), the software fails to recognize the keyboard or allow any mapping changes.

Impact:

These issues are particularly concerning given the substantial investment made into this keyboard, amounting to several hundred euros. The expected functionality and support for a device of this caliber are not met, leading to a disappointing user experience.

Request:

Could you please provide assistance, updates, or workarounds to address these problems? Any guidance on how to resolve the Bluetooth connectivity and software configuration issues would be greatly appreciated.

Thank you for your attention to this matter.

[Bug] VIA can't fetch V3 definitions for Keyboard K8 Pro V3 pre-compiled firmware; received invalid protocol version from device

Describe the Bug

I downloaded the precompiled firmware for the RGB Ansi version of the K8 Pro that's in the repo and flashed it but whenever I open VIA now, I get these errors when loading up the keyboard in the program (on the webapp and on desktop)

19:15:51.654
Fetching v3 definition failed
Device: Keychron Keychron K8 Pro
Vid: 0x3434
Pid: 0x0280

19:16:00.895
The device must be opened first.
Device: Keychron Keychron K8 Pro
Vid: 0x3434
Pid: 0x0280

19:16:00.972
Received invalid protocol version from device
Device: Keychron Keychron K8 Pro
Vid: 0x3434
Pid: 0x0280

Keyboard Used

Keychron K8 Pro

Link to product page (if applicable)

No response

Operating System

NixOS 23.11 (unstable)

qmk doctor Output

I used the precompiled firmware but also decided to try and manually compile the firmware

❯ qmk doctor
Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /home/novaviper/qmk_firmware
Ψ Detected Linux (NixOS 23.11 (Tapir)).
Ψ Git branch: bluetooth_playground
Ψ Repo version: 0.14.29
Ψ - Latest bluetooth_playground: 2023-09-11 15:54:14 +0800 (00af20f690) -- Merge pull request #167 from slabua/k11_pro_via_json_fix
Ψ - Latest upstream/master: None
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: None
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 12.2.1
Ψ Found avr-gcc version 8.5.0
Ψ Found avrdude version 7.2
Ψ Found dfu-programmer version 0.7.2
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2022-09-18 10:01:17 +0000 --  (0e9d558b5)
Ψ - lib/chibios-contrib: 2022-10-03 18:09:41 +0200 --  (bb8356fb)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2022-09-19 18:02:44 +0200 --  (8d56ea3)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

VIA

Additional Context

I also tried to manually compile the firmware but then VIA wouldn't pick up on the keyboard at all because it didn't provide the via json needed for the keyboard when I manually built it.

[Feature Request] Release files for K10 Pro ISO layout

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

I cannot find the via json configuration files in the repository for the K10 Pro ISO.
I was expecting to find them here: https://github.com/Keychron/qmk_firmware/tree/bluetooth_playground/keyboards/keychron/k10_pro/via_json

Please, do tell if i'm not looking at the right spot.

[Bug] when pressing <R-ALT> key, R-ALT and L-CTRL gets recognized

Describe the Bug

I am currently experiencing that when pressing the right ALT key (<R-ALT> or KC_RALT), not only the right ALT key but at the same time also the left CONTROL key (<L-CTRL> or KC_LCTL) gets recognized and triggered by the keyboard.

I am using a K8 PRO ISO RGB (German) keyboard and tried this using the "usevia.app" application on the KEY TESTER pane.

image

questions

  • Does anybody know why the keyboard(s) behave like this?
  • Is it an unspoken law to operate maybe only German keyboards like this?
  • Is there a way to modify this low-level configuration to be able to recognize only a KC_RALT when a <R-ALT> is pressed, and no additional KC_LCTL?

Keyboard Used

Keychron K8 Pro RGB (German)

Link to product page (if applicable)

No response

Operating System

Windows 10

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] Q11 Keyboard Not Starting After Reboot with Self-Compiled Firmware

Describe the Bug

I am experiencing an issue with the Q11 keyboard, where it fails to start after a computer reboot when using a firmware compiled by myself. This behavior is not observed when using the provided pre-built firmware.

I found the same issue same issue reported in the mainstream repository, and a solution was discussed there which solved the problem for me. I believe applying the same fix to the Keychron fork would benefit users who compile their firmware.

Thank you for addressing this issue, and I appreciate your efforts in maintaining and improving the Keychron firmware.

Keyboard Used

Keychron Q11

Link to product page (if applicable)

https://www.keychron.com/products/keychron-q11-qmk-custom-mechanical-keyboard

Operating System

Windows

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] VIA doesn't work on K11 Pro

Describe the Bug

I followed the guide to configure Keychron K11 Pro, but I cannot authorize device.

VIA detects successfully the keyboard, but when I press connect, nothing happens.

Keyboard Used

K11 Pro

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k11-pro-alice-layout-qmk-via-wireless-custom-mechanical-keyboard?variant=40531261718617

Operating System

Windowss 11 Pro

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

Chrome Version 121.0.6167.140 (Official Build) (64-bit)

Publish Q3 Max source code

Issue Description

When can we expect the sources for the Q3 Max? I'd like to implement some custom functions aswell as port it to vial-qmk. Would be nice, if you uploaded ther sources to the repo soon.

[Bug] bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) does not run in bluetooth mode (without USB cable)

Describe the Bug

I defined following function in my custom keymap.c to indicate the num_lock state (all numpad keys turn red):

bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
    //Caps Lock
    if (host_keyboard_led_state().caps_lock) {  
        rgb_matrix_set_color_all(RGB_RED);
    }
    
    //Num Lock
    os_type = detected_host_os();
    
    if (!host_keyboard_led_state().num_lock && os_type == 2) { 
        uint8_t layer = get_highest_layer(layer_state);
        
         for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
                    for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
                        uint8_t index = g_led_config.matrix_co[row][col];
                        uint16_t keycode = keymap_key_to_keycode(layer, (keypos_t){col,row});
                        
                        if (index >= led_min && index < led_max && index != NO_LED &&
                            KC_P1 <= keycode && keycode <= KC_P0) {
                                rgb_matrix_set_color(index, RGB_RED);
                            }
                    }
                }
         rgb_matrix_set_color(37, RGB_RED);
         rgb_matrix_set_color(38, RGB_RED);
         rgb_matrix_set_color(39, RGB_RED);
         rgb_matrix_set_color(40, RGB_RED);
         rgb_matrix_set_color(60, RGB_RED);
         rgb_matrix_set_color(95, RGB_RED);
         rgb_matrix_set_color(108, RGB_RED);
    }
}

This works fine when I am connected via USB. If I switch to the bluetooth connection and leave the USB cable connected, the function works fine. But when I plug out the USB cable the color indication is not working anymore. Simply said the code in bool rgb_matrix_indicators_advanced_user is not executed anymore. I can reproduce the issue every time.

Keyboard Used

keychron/k10_pro/iso/rgb

Link to product page (if applicable)

https://www.keychron.com/collections/keychron-german-iso-keyboards/products/keychron-k10-pro-qmk-via-wireless-mechanical-keyboard-iso-layout-collection

Operating System

Windows 10, macOS

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /Users/stony/qmk_firmware
Ψ Detected macOS 13.4.1 (Intel).
Ψ Git branch: bluetooth_playground
Ψ Repo version: 0.14.29
⚠ Git has unstashed/uncommitted changes.
⚠ The official repository does not seem to be configured as git remote "upstream".
Ψ CLI installed in virtualenv.
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 8.3.1
Ψ Found avr-gcc version 8.5.0
Ψ Found avrdude version 7.0
Ψ Found dfu-programmer version 1.0.0
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2022-09-18 10:01:17 +0000 --  (0e9d558b5)
Ψ - lib/chibios-contrib: 2022-10-03 18:09:41 +0200 --  (bb8356fb)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2022-09-19 18:02:44 +0200 --  (8d56ea3)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

Make error with Keychron V3 iso_encoder

Issue Description

Hi,

I was following a guide to install vial on the Keychron v3 iso encoder

When compiling the vial firmware In qmk msys I ran make keychron/v3/iso_encoder:vial -

Im getting the following errors -

Compiling: keyboards/keychron/common/keychron_common.c                                             keyboards/keychron/common/keychron_common.c: In function 'encoder_pad_cb':
keyboards/keychron/common/keychron_common.c:117:5: error: implicit declaration of function 'encoder_interrupt_read' [-Werror=implicit-function-declaration]
  117 |     encoder_interrupt_read((uint32_t)param & 0XFF);
      |     ^~~~~~~~~~~~~~~~~~~~~~
keyboards/keychron/common/keychron_common.c: In function 'keyboard_post_init_kb':
keyboards/keychron/common/keychron_common.c:124:9: error: implicit declaration of function 'palEnableLineEvent' [-Werror=implicit-function-declaration]
  124 |         palEnableLineEvent(encoders_pad_a[i], PAL_EVENT_MODE_BOTH_EDGES);
      |         ^~~~~~~~~~~~~~~~~~
keyboards/keychron/common/keychron_common.c:126:9: error: implicit declaration of function 'palSetLineCallback' [-Werror=implicit-function-declaration]
  126 |         palSetLineCallback(encoders_pad_a[i], encoder_pad_cb, (void *)i);
      |         ^~~~~~~~~~~~~~~~~~
cc1.exe: all warnings being treated as errors
 [ERRORS]
 |
 |
 |
make[1]: *** [builddefs/common_rules.mk:376: .build/obj_keychron_v3_iso_encoder_vial/keychron_common.o] Error 1
Make finished with errors
make: *** [Makefile:416: keychron/v3/iso_encoder:vial] Error 1

I was wondering if this is an issue with my setup or with keychron_common.c file.

Thanks

K10 pro + manual firmware build = Bluetooth not working?

Issue Description

Hi folks, K10 Pro owner here.

I have a K10 Pro running on Windows 10, with a stock firmware and wanted to configure VIA macros which uses delays whose support has been added to VIA long ago.

Sample macro code could look like:

{KC_LGUI}{500}mycoolsoftware{500}{KC_ENT}

However, after pairing VIA with my keyboard and trying to edit the macro code, I've got an error message from VIA saying that delays are not supported with current version of firmware.

Never mind, I built the firmware from the source code, trying both wireless_playground as well as bluetooth_playground branches and using this command to build:

make keychron/k10_pro/ansi/white:via

On its own, the firmware builds just fine, and also I can successfully flash it with QMK Toolbox. Also macro starts supporting delays, yay!

image

…However!!!...

Seems like the firmware built from those branches does not fully support Bluetooth functionality - I still can pair the device anyhow, but the keyboard is not recognized as a keyboard any longer, and the keystrokes do not work - tried with both *playground branches listed above, after deleting previously paired bluetooth device definitions. After flashing to the stock firmware, Bluetooth is working fine again.

I researched the issues on this repo and found few mentions (e.g. here) that Bluetooth-related code is not published due to it being NDA'ed.

Questions:

  1. Does that really mean that the firmware built from the source code for K10 Pro is never going to support Bluetooth?
  2. Or am I missing something? What is then the way to get the Bluetooth working for the firmware built from the source code (from wireless- or bluetooth playground branches)?

Seems like a bummer to be forced to choose between Bluetooth and latest VIA support 😅

Thanks.

[Bug] BT audio stutter on windows11 with K2 Pro

Describe the Bug

Whenever I use the Keychron K2 Pro via Bluetooth on my windows 11 PC, I get audio stutters with my BT Headset.
The Keychron is the only device, that causes this. Other bluetooth devices are fine to connect with windows.

I'm running the latest windows update (23H2 Windows 11 Pro - Build 22631.3007) and the latest keychron firmware was flashed (https://www.keychron.com/pages/firmware-for-k2-version-2 https://www.keychron.com/blogs/archived/k2-pro-factory-reset-and-firmware-flash)
I just flashed not because the keyboard was not working, but because the audio stutter. It seems like it did not change anything.

I don't have these issues on my Mac M1 for example.
My Phone also works fine with Headset and Keyboard connected.

Keyboard Used

Keychron K2 Pro QMK

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k2-pro-qmk-via-wireless-mechanical-keyboard

Operating System

Windows 11 Pro

qmk doctor Output

qmk doctor
Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: C:/Users/Thomas/qmk_firmware
Ψ Detected Windows 10 (10.0.22631).
Ψ QMK MSYS version: 1.8.0
Ψ Userspace enabled: False
Ψ Git branch: master
Ψ Repo version: 0.23.5
Ψ - Latest master: 2024-01-14 06:07:59 +0000 (dcc47ea) -- Add Proteus67 keyboard (qmk#22439)
Ψ - Latest upstream/master: 2024-01-14 06:07:59 +0000 (dcc47ea) -- Add Proteus67 keyboard (qmk#22439)
Ψ - Latest upstream/develop: None
Ψ - Common ancestor with upstream/master: 2024-01-14 06:07:59 +0000 (dcc47ea) -- Add Proteus67 keyboard (qmk#22439)
Ψ - Common ancestor with upstream/develop: None
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 12.2.0
Ψ Found avr-gcc version 12.2.0
⚠ We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.
Ψ Found avrdude version 7.0
Ψ Found dfu-programmer version 1.1.0
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2023-04-15 13:48:04 +0000 -- (11edb1610)
Ψ - lib/chibios-contrib: 2023-07-17 11:39:05 +0200 -- (da78eb37)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 -- (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 -- (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 -- (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 -- (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 -- (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 -- (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

Logitech Software for mouse

Additional Context

No response

[Bug] keychron k8 pro not working during boot when connected to lenovo y520-IKBM via USB

Describe the Bug

I have my keychron k8 pro keyboard permanently connected over USB to a lenovo y520-IKBM laptop. The keyboard works fine as intended inside operating systems(windows and linux) but doesn't work during boot(for example to enter the BIOS or bring up the UEFI boot menu).

  1. If I disable the fast boot option in BIOS settings, I can't enter the BIOS(with F2 shortcut) or bring up the boot menu(with F12 shortcut).
  2. Upon toggling the fast boot option from disabled to enabled the keyboard indeed works when I try to enter the BIOS and stays working for some time. After one or two reboots from within the OS the keyboard gets back to not working.

Using Fn+N to toggle NKRO has no effect on the keyboard behavior during boot. I had an older USB keyboard that worked flawlessly during boot when the fast boot option was disabled in the BIOS.

Keyboard Used

keychron k8 pro

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k8-pro-qmk-via-wireless-mechanical-keyboard

Operating System

No response

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

firmware v1.02

Additional Context

I've also tried v1.03 from this link but the problem still persisted.

[Bug] Keychron K8 Pro swapped and not working keys

Describe the Bug

Keyboard: K8 Pro ANSI white backlight
Used branch: bluetooth_playground

Process:

  • created my layout, flashed it - worked well,
  • added to rules.mk PROGRAMMABLE_BUTTON_ENABLE = yes.

After some flashes:

  • error 74, but after few times it flashed (it happend before editing rules.mk, not 100% sure)
    Error during special command "ERASE_PAGE" get_status gmake[1]: *** [platforms/chibios/flash.mk:106: flash] Error 74 Make finished with errors gmake: *** [Makefile:392: keychron/k8_pro/ansi/white:default:flash] Error 1
  • "win" and "alt" keys are swapped and "fn" "F1-F12" not working

Tried:

  • flash default,
  • factory reset "fn" + "z" + "j", backlight flashed,
  • clear EEPROM: unplugging USB cable, hold "ESC", plug it back and unplug,
  • QMKToolbox on Windows.

Thanks in advance.

Keyboard Used

keychron/k8_pro/ansi/white

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k8-pro-qmk-via-wireless-mechanical-keyboard

Operating System

Linux

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /media/raid_4/tools/linux-tools/qmk_firmware
Ψ Detected Linux (Linux Mint 21.3).
Ψ Git branch: bluetooth_playground
Ψ Repo version: 0.14.29
⚠ The official repository does not seem to be configured as git remote "upstream".
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 13.2.1
Ψ Found avr-gcc version 5.4.0
Ψ Found avrdude version 6.3-20171130
Ψ Found dfu-programmer version 0.6.1
Ψ Found dfu-util version 0.9
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2022-09-18 10:01:17 +0000 --  (0e9d558)
Ψ - lib/chibios-contrib: 2022-10-03 18:09:41 +0200 --  (bb8356f)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b973)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2022-09-19 18:02:44 +0200 --  (8d56ea3)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Feature Request] OpenRGB Support

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

Just got the Q6 Pro and thought it had OpenRGB support out of the box since it shows that on the OpenRGB website that it supports QMK boards. However this is not the case. Looks like this fork is missing all the OpenRGB functionality on mast and the branch i need "Bluetooth playground". Can we get this functionality made for these keyboards? This is your guys "Pro" line, but its software is below falling behind your non "Pro" line which is inside main QMK.

[Bug] Some keys do not register when a text field is first selected (k12 pro)

Describe the Bug

With the k12 pro's current qmk source code, under bluetooth mode with RGB off, some keys do not register after a text field is selected. This bug occurs when all the below conditions are satified and can be reproduced consistently:

  1. flash a firmware compiled from k12 pro's current qmk source code, modified or unmodified.
  2. unplug the usb wire and use bluetooth connection only
  3. turn off RGB lighting
  4. select a text field in any program on your screen (this is an important step)
  5. press backspace (or other keys mentioned below) and it won't register

Keys that are not registering in this situation include backspace, backslash, enter, right shift and right control. The issue occurs only when using the firmware compiled from k12 pro's qmk source code, which means if you re-flash the stock firmware (v 1.0.0) downloaded from keychron's official website the issue is gone.

Notably, if you plug in the usb wire, or turn on RGB lighting, or do not select a text field beforehand, the keys will register as usual and as expected.

Keyboard Used

keychron/k12_pro/ansi/rgb

Link to product page (if applicable)

https://github.com/Keychron/qmk_firmware/tree/bluetooth_playground/keyboards/keychron/k12_pro

Operating System

linux & windows 10

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

None

Additional Context

No response

[Bug] Matrix last column keys sometimes do not register when using Bluetooth with RGB off (K11 Pro)

Describe the Bug

Perhaps this issue might be related to #146.
I just bought few days ago the K11 pro and I am still trying different use cases to verify the problem. I noticed the problem while playing a video and realised that the right arrow, along with the other keys belonging to the last column of the wiring matrix, did not register.

Keyboard runs the stock firmware that came shipped with, hardware switch is set to Windows mode.
I have slightly customised the layers 1, 3, 4 using VIA. Although I believe it is not related, I am attaching the json configuration file here, just in case.

Soon after turning off RGB with fn1+capslock, if not immediately, the keys of the last column of the matrix stop registering.
If any other key is pressed, the last column keys start working again for a very short while.
If any of usb mode or RGB light is in use, there seem to be no problem in registering the keys.

k11procustom.zip

Keyboard Used

K11 Pro

Link to product page (if applicable)

https://www.keychron.com/products/keychron-k11-pro-alice-layout-qmk-via-wireless-custom-mechanical-keyboard

Operating System

Fedora

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

[Bug] Wrong LED count for V1 Max

Describe the Bug

I think the count given here is wrong:

# define DRIVER_COUNT 2
# define DRIVER_1_LED_COUNT 45
# define DRIVER_2_LED_COUNT 39
# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_COUNT + DRIVER_2_LED_COUNT)

I propose this change:

diff --git a/keyboards/keychron/v1_max/ansi_encoder/config.h b/keyboards/keychron/v1_max/ansi_encoder/config.h
index 6a2ba7b89f..ed4b1630c2 100644
--- a/keyboards/keychron/v1_max/ansi_encoder/config.h
+++ b/keyboards/keychron/v1_max/ansi_encoder/config.h
@@ -19,8 +19,8 @@
 #ifdef RGB_MATRIX_ENABLE
 /* RGB Matrix driver configuration */
 #    define DRIVER_COUNT 2
-#    define DRIVER_1_LED_COUNT 45
-#    define DRIVER_2_LED_COUNT 39
+#    define DRIVER_1_LED_COUNT 44
+#    define DRIVER_2_LED_COUNT 37
 #    define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_COUNT + DRIVER_2_LED_COUNT)
 
 #    define SPI_SCK_PIN A5

Keyboard Used

keychron/v1_max/ansi_encoder

Link to product page (if applicable)

https://keychron.ca/products/keychron-v1-max-qmk-via-wireless-custom-mechanical-keyboard?variant=41206028173395

Operating System

Arch Linux

qmk doctor Output

Ψ QMK Doctor is checking your environment.
Ψ CLI version: 1.1.2
Ψ QMK home: /home/matthew/qmk_firmware
Ψ Detected Linux (Arch Linux).
Ψ Userspace enabled: False
Ψ Git branch: dev
Ψ Repo version: 0.23.1
⚠ Git has unstashed/uncommitted changes.
Ψ - Latest dev: 2024-01-24 19:32:51 -0600 (a972dbf9b5) -- WIP: Disable all animations
Ψ - Latest upstream/master: 2024-02-06 18:09:22 +1100 (45ae4dec4d) -- WS2812: Better error message when trying to use `bitbang` driver on RP2040 (#23025)
Ψ - Latest upstream/develop: 2024-02-09 22:37:18 +1100 (a5ea619139) -- LED drivers: place I2C addresses into an array (#22975)
Ψ - Common ancestor with upstream/master: 2023-12-18 13:53:02 +1100 (9539f135d8) -- Remove obvious user keymaps, `keyboards/[0-9]*` edition. (#22691)
Ψ - Common ancestor with upstream/develop: 2023-12-18 13:53:02 +1100 (9539f135d8) -- Remove obvious user keymaps, `keyboards/[0-9]*` edition. (#22691)
Ψ All dependencies are installed.
Ψ Found arm-none-eabi-gcc version 13.2.0
Ψ Found avr-gcc version 13.2.0
⚠ We do not recommend avr-gcc newer than 8. Downgrading to 8.x is recommended.
Ψ Found avrdude version 7.3
Ψ Found dfu-programmer version 1.0.0
Ψ Found dfu-util version 0.11
Ψ Submodules are up to date.
Ψ Submodule status:
Ψ - lib/chibios: 2024-01-10 10:36:30 +0800 --  (86a3ed9ba)
Ψ - lib/chibios-contrib: 2023-07-17 11:39:05 +0200 --  (da78eb37)
Ψ - lib/googletest: 2021-06-11 06:37:43 -0700 --  (e2239ee6)
Ψ - lib/lufa: 2022-08-26 12:09:55 +1000 --  (549b97320)
Ψ - lib/vusb: 2022-06-13 09:18:17 +1000 --  (819dbc1)
Ψ - lib/printf: 2022-06-29 23:59:58 +0300 --  (c2e3b4e)
Ψ - lib/pico-sdk: 2023-02-12 20:19:37 +0100 --  (a3398d8)
Ψ - lib/lvgl: 2022-04-11 04:44:53 -0600 --  (e19410f8)
Ψ QMK is ready to go, but minor problems were found

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

OpenRGB, hid_listen

Additional Context

Here's a modified diagram from qmk info -l -kb keychron/v1_max/ansi_encoder -km default:

                                                                   Count
┌──┐ ┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐ ┌──┐ ╭──╮
│0 │ │0 ││0 ││0 ││0 │ │0 ││0 ││0 ││0 │ │0 ││0 ││0 ││0 │ │0 │ ▲  ▼  14
└──┘ └──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘ └──┘ ╰──╯
┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──────┐ ┌──┐
│0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0     │ │0 │  15
└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──────┘ └──┘
┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐ ┌──┐
│0   ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0 ││0   │ │0 │  15
└────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘ └──┘
┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌───────┐ ┌──┐
│1    ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1      │ │1 │  14
└─────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└───────┘ └──┘
┌───────┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌─────┐
│1      ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1 ││1    │ ┌──┐      13
└───────┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘└─────┘ │1 │
┌───┐┌───┐┌───┐┌───────────────────────┐┌──┐┌──┐┌──┐     └──┘
│1  ││1  ││1  ││1                      ││1 ││1 ││1 │ ┌──┐┌──┐┌──┐  10
└───┘└───┘└───┘└───────────────────────┘└──┘└──┘└──┘ │1 ││1 ││1 │
                                                     └──┘└──┘└──┘

                                                            Total: 81

Note

The encoder doesn't have an LED, so there's no driver given.

The values inside the boxes say which driver each key is using. For example the escape key (top left) is using driver 0. The count on the right is the number of keys per row.

I got which driver goes where from here:

const snled27351_led_t g_snled27351_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to SNLED27351 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, G_1, I_1, H_1},
{0, G_2, I_2, H_2},
{0, G_3, I_3, H_3},
{0, G_4, I_4, H_4},
{0, G_5, I_5, H_5},
{0, G_6, I_6, H_6},
{0, G_7, I_7, H_7},
{0, G_8, I_8, H_8},
{0, G_9, I_9, H_9},
{0, G_10, I_10, H_10},
{0, G_11, I_11, H_11},
{0, G_12, I_12, H_12},
{0, G_13, I_13, H_13},
{0, G_14, I_14, H_14},
{0, A_1, C_1, B_1},
{0, A_2, C_2, B_2},
{0, A_3, C_3, B_3},
{0, A_4, C_4, B_4},
{0, A_5, C_5, B_5},
{0, A_6, C_6, B_6},
{0, A_7, C_7, B_7},
{0, A_8, C_8, B_8},
{0, A_9, C_9, B_9},
{0, A_10, C_10, B_10},
{0, A_11, C_11, B_11},
{0, A_12, C_12, B_12},
{0, A_13, C_13, B_13},
{0, A_14, C_14, B_14},
{0, A_15, C_15, B_15},
{0, D_1, F_1, E_1},
{0, D_2, F_2, E_2},
{0, D_3, F_3, E_3},
{0, D_4, F_4, E_4},
{0, D_5, F_5, E_5},
{0, D_6, F_6, E_6},
{0, D_7, F_7, E_7},
{0, D_8, F_8, E_8},
{0, D_9, F_9, E_9},
{0, D_10, F_10, E_10},
{0, D_11, F_11, E_11},
{0, D_12, F_12, E_12},
{0, D_13, F_13, E_13},
{0, D_14, F_14, E_14},
{0, D_15, F_15, E_15},
{1, A_16, C_16, B_16},
{1, A_15, C_15, B_15},
{1, A_14, C_14, B_14},
{1, A_13, C_13, B_13},
{1, A_12, C_12, B_12},
{1, A_11, C_11, B_11},
{1, A_10, C_10, B_10},
{1, A_9, C_9, B_9},
{1, A_8, C_8, B_8},
{1, A_7, C_7, B_7},
{1, A_6, C_6, B_6},
{1, A_5, C_5, B_5},
{1, A_3, C_3, B_3},
{1, A_1, C_1, B_1},
{1, G_16, I_16, H_16},
{1, G_14, I_14, H_14},
{1, G_13, I_13, H_13},
{1, G_12, I_12, H_12},
{1, G_11, I_11, H_11},
{1, G_10, I_10, H_10},
{1, G_9, I_9, H_9},
{1, G_8, I_8, H_8},
{1, G_7, I_7, H_7},
{1, G_6, I_6, H_6},
{1, G_5, I_5, H_5},
{1, G_4, I_4, H_4},
{1, G_2, I_2, H_2},
{1, D_16, F_16, E_16},
{1, D_15, F_15, E_15},
{1, D_14, F_14, E_14},
{1, D_10, F_10, E_10},
{1, D_6, F_6, E_6},
{1, D_5, F_5, E_5},
{1, D_4, F_4, E_4},
{1, D_3, F_3, E_3},
{1, D_2, F_2, E_2},
{1, D_1, F_1, E_1}
};

There are only 81 items listed, which seems to contradict what the config.h file says:

# define DRIVER_COUNT 2
# define DRIVER_1_LED_COUNT 45
# define DRIVER_2_LED_COUNT 39
# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_COUNT + DRIVER_2_LED_COUNT)

Math stuff
(14 + 15 + 15) + (14 + 13 + 10) =
                        44 + 37 = 81

Are there some LEDs that I'm unaware of?

I compared this keyboard to others with the same 75% layout, and they're all different from the V1 Max:

Q1 Pro (ANSI)

/* RGB Matrix driver configuration */
# define DRIVER_COUNT 2
# define DRIVER_ADDR_1 0b1110111
# define DRIVER_ADDR_2 0b1110100
# define DRIVER_1_LED_COUNT 45
# define DRIVER_2_LED_COUNT 37
# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_COUNT + DRIVER_2_LED_COUNT)

Q1 Max (ANSI)

# define DRIVER_COUNT 2
# define RGB_MATRIX_LED_COUNT 81

Q1 v2 (ANSI, master branch)

#define DRIVER_1_LED_TOTAL 45
#define DRIVER_2_LED_TOTAL 37
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.