Files
qmk_firmware/keyboards/keychron/k17_max
rootiest 1b0e83b1d6 feat(k17_max): enable Keychron RGB and fix EEPROM persistence
Port the Keychron RGB EEPROM persistence work from the Q5 Max (PR #18)
to the K17 Max ANSI Encoder RGB variant.

- Add KEYCHRON_RGB_ENABLE = yes to rules.mk
- Define default_per_key_led[] (red Esc/CapsLock, yellow modifiers and
  numpad, blue alpha keys) and default_region[] for the 103-LED layout
  in ansi_encoder/rgb/rgb.c; both are extern'd by keychron_rgb.c
- Add wireless_enter_connected_kb() hook and eeconfig_init_custom_rgb()
  call in keyboard_post_init_kb() in k17_max.c, matching the Q5 Max
  pattern for boot-time and transport-change RGB persistence
- Define VIA_EEPROM_MAGIC_ADDR 552 in ansi_encoder/rgb/config.h to pin
  VIA keymap storage past the Keychron EEPROM data region end (540 for
  K17 with 103 LEDs); prevents keymap corruption if the KB data block
  grows in future
2026-04-13 13:20:47 -04:00
..

Keychron K17 Max

Keychron K17 Max

A customizable 96% low profile keyboard.

Make example for this keyboard (after setting up your build environment):

make keychron/k17_max/ansi/rgb:default
make keychron/k17_max/ansi/white:default

make keychron/k17_max/iso/rgb:default
make keychron/k17_max/iso/white:default

make keychron/k17_max/jis/rgb:default
make keychron/k17_max/jis/white:default

Flashing example for this keyboard:

make keychron/k17_max/ansi/rgb:default:flash
make keychron/k17_max/ansi/white:default:flash

make keychron/k17_max/iso/rgb:default:flash
make keychron/k17_max/iso/white:default:flash

make keychron/k17_max/jis/rgb:default:flash
make keychron/k17_max/jis/white:default:flash

Reset Key: Disconnect the USB cable, toggle mode switch to "Cable", hold down the Esc key or reset button underneath space bar, then connect the USB cable.

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.