qmk / qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families
https://qmk.fm
GNU General Public License v2.0
17.97k stars 38.64k forks source link

Consider adding Keychron K* keyboards #7370

Closed mdreizin closed 2 years ago

mdreizin commented 4 years ago

I am a user of Keychron K2 keyboard I only know that it uses ARM M0 MCU. I am not an expert and it would be nice to know if it is possible to create QMK-based firmware for this keyboard or not?

dexter93 commented 3 years ago

Heyo.

@alex-dinh welcome to QMK! We have a common base for these keyboards now to speed up bringup and make debugging easier. https://github.com/SonixQMK new keyboards and PR's are welcome. We also have a discord server up here. Plan is to merge on upstream QMK eventually when the Sonix support is stable enough. Until then, you can find the latest code there.

@delingren C1 as well as most of the keychron lineup should be possible to add, as long as someone cracks one open and traces the wiring for the key and led matrix.

seppestas commented 3 years ago

For anyone that's interested, I just received my Keychron K3. MCU is marked "HFD84KG800". Looks like the boot pin is easy to reach and P3 looks promising for some of debug / ICSP / UART interface.

MCU Keychron K3

Does anyone know how I could figure out what Sonix clone this is?

Based on pin count and package (64-pin QFP) and the 2 via stitched traces, likely USB, connected to pin 52 and 53, I think its an F248B. image

Should be fairly easy to check if SWD is connected to P3 as I would expect.

Also C20 and C11 are clearly decoupling caps, connected to pin 55 and 56, VREG33 and VDD.

anthonylavado commented 3 years ago

Keychron is interested: https://www.facebook.com/groups/keychron/permalink/1103102183501005/

78C0A4FD-7ED4-4199-AD4B-4FCA63838FB3

domoaligato commented 3 years ago

My preference would be qmk so that it would eventually work with via like the rest of my boards. https://caniusevia.com/ bluetooth is supported in QMK, they should check this out. https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bluetooth.md

delingren commented 3 years ago

I have commented on the original facebook post about BLE support. I also would rather they use QMK.

doodhout commented 3 years ago

I haven't found any related information in the general QMK documentation, but does it support auto sleep like stock firmware Keychron keyboards do?

If yes, is it possible to define a timeout value yourself? Because the Keychron's non-changeable value of 10 minutes is too short for me, but I would still like it if my keyboard were to go to sleep during the night for example.

CalcProgrammer1 commented 3 years ago

In the past few days the Sonix QMK port has become much more stable. We fixed some issues with the USB HID interface and now you can use the OpenRGB protocol on Windows, Linux, and MacOS. I also fixed a related issue in OpenRGB which ups the LED frame rate to very smooth levels. I got debouncing to work so you can type without errors. I've been using my Redragon K552 and K556 as my primary keyboards for a few days now with no issues. I've had Aurora + OpenRGB or Keyboard Visualizer + OpenRGB running continuously almost the entire time.

This video shows the current progress:

https://www.youtube.com/watch?v=Pf_Q3B1PmK4

chyyran commented 3 years ago

Great work!

Have there been any updates on the BT module? I think the previously mentioned blocker was https://github.com/qmk/qmk_firmware/pull/11521 but that's been merged since last month.

timkaz commented 3 years ago

Hi Friends!

I have already flashed my Hator Skyfall Hex on HFD2201KBA MPU with QMK firmware compiled for Keychron K6 RGB. Its works except some misses on layout: PgDown is Delete, Ctrl_L is Fn (for F1-F12), and Fn is for Backlight. And Ins, Del andp PgUp are not mapped. I'll fix layout latter. And BT also not work.

Has anybody add(or try to add) VIA?

parkerlreed commented 3 years ago

Just got a wired only RK61 RGB with the HFD2201KBA. Is there a firmware I can try for this board? Happy to test anything.

delingren commented 3 years ago

Keychron just published firmwares for C1 and C2: https://www.keychron.com/pages/firmware Anyone interested in playing with either board? I have a C1 with white backlights. I wonder if I can just take K4/K6's code and change the matrix.

timkaz commented 3 years ago

Keychron just published firmwares for C1 and C2: https://www.keychron.com/pages/firmware Anyone interested in playing with either board? I have a C1 with white backlights. I wonder if I can just take K4/K6's code and change the matrix.

It must works, MPU is the same as K4/K6 RGB version (not white backlight). Layout may be the same with K8 (RGB) because of unification. Try just flash stok K8 RGB firmware (K* not verify keyboard connected before flash)

kaden-lovell commented 3 years ago

I recently bought this board to be a wireless replacement to my massdrop alt-high profile, and I would like to have this keyboard be programmable with QMK. Is there anything I can do to contribute to making this a reality?

EDIT: If anyone wants to team up to get this working, feel free to message me directly, and lets figure something out. I really really hate my light button not being the del button.

cnheider commented 3 years ago

I really really hate my light button not being the del button.

This so much! IMO All the lighting options should be hidden behind function keys.

jath03 commented 3 years ago

I recently bought this board to be a wireless replacement to my massdrop alt-high profile, and I would like to have this keyboard be programmable with QMK. Is there anything I can do to contribute to making this a reality?

EDIT: If anyone wants to team up to get this working, feel free to message me directly, and lets figure something out. I really really hate my light button not being the del button.

Heyo.

alex-dinh welcome to QMK! We have a common base for these keyboards now to speed up bringup and make debugging easier. https://github.com/SonixQMK new keyboards and PR's are welcome. We also have a discord server up here. Plan is to merge on upstream QMK eventually when the Sonix support is stable enough. Until then, you can find the latest code there.

djgeloofficial commented 3 years ago

Hi, i am looking into buying a keychron K6 and the only thing holding me back is that it is not supported by OpenRGB ... I dont know about this QMK but it seems its good to then have Open RGB support

kuvus commented 3 years ago

Hi, I just got my K3, is there any version of QMK that will work with it?

cnheider commented 3 years ago

Hi, i am looking into buying a keychron K6 and the only thing holding me back is that it is not supported by OpenRGB ... I dont know about this QMK but it seems its good to then have Open RGB support

I got the k6, it is a great keyboard but get some other keycaps!

ram02z commented 3 years ago

Has anyone managed to flash the keychron k2v2 keyboard?

rlaferla commented 3 years ago

What's the status on this? I have a Keychron K1 and would like to remap some keys.

NickCao commented 3 years ago

Any instruction on how to get K6 to boot into bootloader? Tried sonix-flasher ain't no luck.

jedifindtrick commented 3 years ago

Any instruction on how to get K6 to boot into bootloader? Tried sonix-flasher ain't no luck.

I've written some instructions on how to get it inte bootloader in this thread.

alxsch commented 3 years ago

Here is some extra info if this helps the issue. I have an EP-84 watching dmesg i get: ... [ 97.724425] usb 1-1: new full-speed USB device number 5 using xhci_hcd [ 97.873934] usb 1-1: New USB device found, idVendor=05ac, idProduct=024f, bcdDevice= 1.00 [ 97.873944] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 97.873946] usb 1-1: Product: KEYCOOL Keyboard [ 97.873948] usb 1-1: Manufacturer: Keychron K1 [ 98.857574] usbcore: registered new device driver apple-mfi-fastcharge ...USB HID v1.11 Keyboard [Keychron K1 KEYCOOL Keyboard]... I don't know if this is pertinent but they have a google drive link. Looks like its actually for the wireless one.

Also just found out they are building a qmk keyboard. Might that firmware trickle down to the older models?

leifniem commented 3 years ago

Sorry if i am misusing this thread for this question, but is there a major difference between the K6 RGB and white backlight version? I cannot even seem to find the pins needed to get the thing into bootloader mode. I do not even see a P3 block on the back of my PCB.

Picture for reference:

IMG_20210627_163808~2.jpg

raqbit commented 3 years ago

Sorry if i am misusing this thread for this question, but is there a major difference between the K6 RGB and white backlight version? I cannot even seem to find the pins needed to get the thing into bootloader mode. I do not even see a P3 block on the back of my PCB.

Picture for reference:

IMG_20210627_163808~2.jpg

Yes, most (all?) of the white-LED Keychron keyboards use a different chip and a PCB which doesn't have pads for the boot pin like the RGB models. Please therefore do not try to install the firmware for the RGB version, as it won't work and you might even accidentally delete the chip's boot loader, in which case you will brick your keyboard. (Which can technically be fixed with SWD, but that's another can of worms)

leifniem commented 3 years ago

Sorry if i am misusing this thread for this question, but is there a major difference between the K6 RGB and white backlight version? I cannot even seem to find the pins needed to get the thing into bootloader mode. I do not even see a P3 block on the back of my PCB. Picture for reference: IMG_20210627_163808~2.jpg

Yes, most (all?) of the white-LED Keychron keyboards use a different chip and a PCB which doesn't have pads for the boot pin like the RGB models. Please therefore do not try to install the firmware for the RGB version, as it won't work and you might even accidentally delete the chip's boot loader, in which case you will brick your keyboard. (Which can technically be fixed with SWD, but that's another can of worms)

Thanks for the info, i'd thought as much. Guess i'll sell that damn board one day when i finally have my KBD67 lite.

bilogic commented 3 years ago

Hi all,

Just curious

  1. I have a RK84 and KC84 and would love to be able to natively remap the keys
  2. Does wireless still work after using QMK?
  3. I have a proof of concept for Logitech's wireless protocol here at https://github.com/bilogic/logitech-unifying-device but it uses the NRF24, any idea if it can work here?
dezdem commented 2 years ago

Is it possible to improve scan rate of Keychron keyboard with custom firmware? Currently it's 125Hz, while cheap membrane keyboards have 1000Hz.

carlosperezc commented 2 years ago

Hi, does anyone knows how to put the K2 into bootloader mode? i only see 4 pins on the p3 port

976D5AF8-99AE-4033-A2AE-FA4C46703792

dexter93 commented 2 years ago

Hi, does anyone knows how to put the K2 into bootloader mode? i only see 4 pins on the p3 port

976D5AF8-99AE-4033-A2AE-FA4C46703792

which k2 is this?

carlosperezc commented 2 years ago

Is the rgb version 1

CalcProgrammer1 commented 2 years ago

image

Third pin from the dot in the corner.

carlosperezc commented 2 years ago

Must be connected to ground. right?

carlosperezc commented 2 years ago

worked like a charm. thanks.

zelestis commented 2 years ago

Is there a difference between the k4 v1's firmware and k4 v2's? Or can I just flash the QMK that was mentioned before

carlosperezc commented 2 years ago

I have the v1 and worked withourvproblem. I think it should work

dexter93 commented 2 years ago

Is there a difference between the k4 v1's firmware and k4 v2's? Or can I just flash the QMK that was mentioned before

We have merged support for both K4v1 and v2 RGB here. The differences are minor, you can crossflash and only lose status indicators(caps and num lock led)

RobertusIT commented 2 years ago

I have a K6, can I remap keys?

genebean commented 2 years ago

Looks like a K2 Pro with qmk support is coming: https://twitter.com/keychronmk/status/1473213814896476165?s=21

dexter93 commented 2 years ago

Looks like a K2 Pro with qmk support is coming: https://twitter.com/keychronmk/status/1473213814896476165?s=21

The Pro series is probably stm32. However, we might be able to use some of that implementation for BT support.

As a status update on this topic, SonixQMK now has support for most K RGB boards ( excluding the K1 and K10, someone would have to give us a hand there with their wiring) and recently added a bunch of White boards, as well as the C lineup. Optical switches support is in and working, as is VIA. Bluetooth support is next on the todo list

lwbt commented 2 years ago

@dexter93 Sounds good but I'm not sure how to interpret that. I have a K3 RGB rev 1 (two of them actually). Decent electronics and soldering knowledge I could try to improve, if it's not a huge time sink. If there is any way I can help then please let me know.

dexter93 commented 2 years ago

@dexter93 Sounds good but I'm not sure how to interpret that. I have a K3 RGB rev 1 (two of them actually). Decent electronics and soldering knowledge I could try to improve, if it's not a huge time sink. If there is any way I can help then please let me know.

Feel free to join up the SonixQMK discord for further discussion on the project status.

WillsterJohnson commented 1 year ago

I feel like this should be reopened as while there may be QMK versions of the ANSI layout K* series keyboards, there is still no QMK support on the ISO layouts.

It seemed that by the end of 2021 some folks were getting pretty close to a usable implementation, and then this entire thread got dropped, seemingly because of a new keyboard release? Not everyone uses ANSI, and certainly far fewer people can afford to drop a few hundred on a new keyboard exclusively for RGB customisation.

martin-braun commented 1 year ago

I was considering to get the K3 Pro ISO, this issue is a bummer, I can't go with the default layout and I don't like software solutions, tbh.

casuanoob commented 12 months ago

I was considering to get the K3 Pro ISO, this issue is a bummer, I can't go with the default layout and I don't like software solutions, tbh.

@martin-braun Keychron maintain support for the K3 Pro including the ISO variant in their own fork of QMK

martin-braun commented 11 months ago

@casuanoob Thanks I'm good, I went with the K7 eventually and managed to configure it properly in VIA, because Keychron provides a layout file to import for it.

I really appreciate you for trying to help me. :)

miguelgargallo commented 8 months ago

I feel like this should be reopened as while there may be QMK versions of the ANSI layout K* series keyboards, there is still no QMK support on the ISO layouts.

It seemed that by the end of 2021 some folks were getting pretty close to a usable implementation, and then this entire thread got dropped, seemingly because of a new keyboard release? Not everyone uses ANSI, and certainly far fewer people can afford to drop a few hundred on a new keyboard exclusively for RGB customisation.

Hey do you achieve it?

PeterMortensen commented 8 months ago

I feel like this should be reopened as while there may be QMK versions of the ANSI layout K* series keyboards, there is still no QMK support on the ISO layouts. It seemed that by the end of 2021 some folks were getting pretty close to a usable implementation, and then this entire thread got dropped, seemingly because of a new keyboard release? Not everyone uses ANSI, and certainly far fewer people can afford to drop a few hundred on a new keyboard exclusively for RGB customisation.

Hey do you achieve it?

It could be usual confusion between the K series and the K Pro series (two different things).

Was the K series actually reverse engineered and QMK support added? That seems unlikely.

tzarc commented 8 months ago

Locking due to blurring of lines with old Sonix-based and current STM32-based boards, especially given that they're mainly implemented on the Keychron fork.