jfedor2 / hid-remapper

USB input remapping dongle
Other
1.1k stars 134 forks source link

Would you consider RGB output (APA102 and WS2812B)? #115

Open dglaude opened 8 months ago

dglaude commented 8 months ago

I have some board with RGB LED bellow the keys and that are (or can be) powered by RP2040. (things such as Pimoroni Keybow (3 keys) on top of a board with PiZero size RP2040 board)

Each key is a GPIO, so I can use hid-remapper to turn that into an input device.

I believe there are a few other mini keyboard with direct GPIO mapping and individually adressable RGB (either WS2812B require one pin or APA102 with two pin for clock and data).

I was wondering if you could support setting a color for such LED. It need to define the one or two pin, the number or LED, and then a way to set one LED to a 3 bytes value, maybe from the expression language.

This could be used for the RGB on the Adafruit "Feather RP2040 with USB Type A Host" (that is WS2812B aka Neopixel). But you can also imagine such RGB as CAPS/NUM/SCROL LOCK indicator.

OfficialEduardoLuna commented 6 months ago

Somewhat related: I am thinking about adding some sort of Razer RGB support. I have a Razer keyboard, and it is annoying to use the Razer Synapse software. And openRGB works, but I can't get it set up to automatically launch whenever my laptop is docked or taken out of sleep. A solution that does this through intermediate hardware rather than through an app on my computer would be awesome. For some reason, my keyboard will decide to forget lighting profiles. I need to manually set one every time I restart my computer. I had a batch file for this but that is also annoying because windows update breaks it all the time. I'm already using hid-remapper for a mouse, so I can just add my keyboard (if I figure out how to cobble together the openRGB implementation of the razer RGB protocol on top of hid-remapper).

That project is for sometime in the future. Coincidentally, I want to acquire a Pimoroni macropad so I may also look at this there. I can not promise that I will actually complete these projects though.