SonixQMK / qmk_firmware

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

Keychron C2 RGB support #285

Closed aaronsb closed 1 year ago

aaronsb commented 2 years ago

Description

Another user set up a draft pr to show as an example of the integration. I wanted to crosscheck the changes they shared. The core magic of this implementation are the PIN #defines in config.h. Thought it would be easiest to create a pull request with individual commits describing incremental changes from commited C1 template.

There are various assumptions from old code including some workarounds for RNG, cleanup, and a suspend bug referenced.

The basic keymap layout uses the concept of the RGB light (upper right) as a master "on/off" switch, and function+navigation keys to perform commands such as selecting effects, and configuring brightness, saturation, and chroma changes.

This is essentially a bare bones update to support the Keychron C2 RGB board. Both variants of Default and Via compile and flash to a physical keyboard I own. The dev environment was simply git pull from sonix_qmk sn32_master, then "qmk update" and a typical binary make command.

Contributors to supporting this keyboard:

@naChooey (Supplied pin defines)

@IsaacDynamo (named all over Keychron C1 RGB contrib) @noldevin (named all over Keychron C1 RGB contrib) @vjdato21 (named all over Keychron C1 RGB contrib) @aaronsb myself, packaging pull request and trying to keep changes clean and concise(ish), and generally just deleting things to make it work

Types of Changes

Issues Fixed or Closed by This PR

Checklist