dklassen / blinky

Control your ergodox ez keyboard LEDS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blinky

I did it all for the keebs.

Thanks to Tenderlove for doing all the work -> https://github.com/tenderlove/qmk_firmware/commit/a6be80b03ecafa1e26db073a08239ff03d2889c9. Full credit goes to them I just ported to GO.

Blinky is a cmd relay using the Human Interface Device (HID) protocol to communicate with an ErgoDox EZ keyboard and control the LED's. To get this up and running you'll have to fiddle with your firmware and install a library.

Firmware Changes

The ErgoDox EZ stock firmware doesn't come enabled to listen for HID commands. We will need to modify the firmware to process any commands from the relay.

The file responsible for that is here. To enable this we need to make some adjustments to the keyboards/ergodox_ez/rules.mk file:

RGB_HID_ENABLE = yes

ifeq ($(strip $(RGB_HID_ENABLE)), yes)
	RAW_ENABLE = yes
  SRC += rgb_hid_protocol.c
endif

Here we enable the the HID stuff by setting RGB_HID_ENABLE and RAW_ENABLE to yes. This has the wonderful effect of enabling some code called raw_hid_task and raw_hid_receive check out here for the details.

raw_hid_receive is exactly what we end up overriding! We ve written our own function which on receiving some data messes around with the rgb functionality of the keyboard.

System Libraries

This package requires that the hidapi package be installed. I have only really made this work for Mac where installation is acomplished by:

$ brew install hidapi

About

Control your ergodox ez keyboard LEDS


Languages

Language:Go 99.2%Language:Makefile 0.8%