Framework 16 RGB keyboard with wired Keychron V6 Issues

Laptop: Framework 16
Windows 11 Enterprise 23h2 OS Build 22631.4037

I’m using the laptop at work with a USB-C dock. Everything else works as expected. The major issue that when docked, I also use a wired Keychron V6 mechanical keyboard that is also RGB and supports standard VIA programming. I know I have to use the keyboard.frame.work link to setup RGB on the laptops keyboard. However, when I plug in the dock, the Keychron seems to pick up bits and pieces of the onboard keyboards programming and loses any macros and lighting I’ve setup in previously in VIA. If I go to VIA site directly to reprogram the Keychron, I get errors and can’t connect to it. If I plug the Keychron into a different computer, I can connect with VIA and alter the lighting and macros only to have it default again when plugged back into the Framework 16. Does anyone know of a workaround for this?

Thanks!

Welcome to the forum

That’s very odd. Not sure if I can be of help but just to be clear, does this happen just when plugging in the Keychron V6? Without loading keyboard.frame.work or configuring your FWL16 keyboard(s) in any other way. If you’re not doing anything to configure your keyboard there should be nothing attempting to talk to your keyboards in that way, over rawHID, or Via configuration communications.

Now that you say that, I’m wondering if it’s just happening if I try to open VIA. I’ve reprogrammed the keychron on a different PC and will test with it today to validate that.

Presuming you get errors next time you try, copy & paste or screenshot them. Might be some clue as to what’s going on in there.

I’ve finally had some time to circle back around to this issue.
Here’s what I get trying to authorize the Keychron using the normal usevia.app site with it connected to the Framework16 with the normal numpad (NOT the MacroPad) installed on the laptop:

14:50:48.510
Command Name: DYNAMIC_KEYMAP_MACRO_GET_BUFFER_SIZE
Command: 13
Response: 18 0 224 16 82 33 0 228 0 80 0 81 0 79 0 98 0 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.514
Error: Receiving incorrect response for command
at KeyboardAPI._hidCommand (https://usevia.app/assets/index-f35a099a.js:3:9407)
at async KeyboardAPI.flushQueue (https://usevia.app/assets/index-f35a099a.js:3:8661)
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.519
Command Name: BACKLIGHT_CONFIG_GET_VALUE
Command: 8 3 1
Response: 13 4 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.522
Error: Receiving incorrect response for command
at KeyboardAPI._hidCommand (https://usevia.app/assets/index-f35a099a.js:3:9407)
at async KeyboardAPI.flushQueue (https://usevia.app/assets/index-f35a099a.js:3:8661)
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.525
Loading lighting/menu data failed
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.531
Command Name: BACKLIGHT_CONFIG_GET_VALUE
Command: 8 3 2
Response: 8 3 1 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.535
Error: Receiving incorrect response for command
at KeyboardAPI._hidCommand (https://usevia.app/assets/index-f35a099a.js:3:9407)
at async KeyboardAPI.flushQueue (https://usevia.app/assets/index-f35a099a.js:3:8661)
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.543
Command Name: BACKLIGHT_CONFIG_GET_VALUE
Command: 8 3 3
Response: 8 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.546
Error: Receiving incorrect response for command
at KeyboardAPI._hidCommand (https://usevia.app/assets/index-f35a099a.js:3:9407)
at async KeyboardAPI.flushQueue (https://usevia.app/assets/index-f35a099a.js:3:8661)
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.551
Command Name: BACKLIGHT_CONFIG_GET_VALUE
Command: 8 3 4
Response: 8 3 3 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

14:50:48.555
Error: Receiving incorrect response for command
at KeyboardAPI._hidCommand (https://usevia.app/assets/index-f35a099a.js:3:9407)
at async KeyboardAPI.flushQueue (https://usevia.app/assets/index-f35a099a.js:3:8661)
Device: Keychron V6
Vid: 0x3434
Pid: 0x0361

When I connect to the keyboard.frame.work site, I can authorize the numpad and make edits but I can’t authorize the keychron which I guess is expected behavior. I can still program the Keychron successfully if I use a different laptop but the programming is eventually overwritten and I end up with a solid red backlight and no macros after switching the Keychron back to the Framework 16. Sometimes the overwrite takes less than a day, other times it’s a few days. And no, I’m not going back to either programming site during that time frame.

i have both the RGB ANSI keyboard and the Numpad and the Macropad. VIA was a pain for me because i was also trying to change them through QMK compiling. when VIA was enabled it would not even look at the uf2 file flashed to it. VIA stores to the eeprom and when it has any keymap that was loaded using VIA it will not look at the uf2 file only the eeprom. Also the way the inputs work they dont affect each other. like i could initiate numlock on keyboard but it only affects keyboard not the numpad or macropad and vice versa. not sure why the external keyboard would change how it operates. could you try disabling the VIA for the laptop keyboard and see if the keychron still is affected? and have you tried disconnecting the laptop keyboard and then plugging in the keychron? if the onboard keyboard is really cross talking then that should stop it. just some ideas to try. you can just slide the trackpad until all the inputs turn off then plug in the keychron.