X-keys USB IO CPlusPlus DLL or CHOP/DAT

The X-keys products by Pi Engineering are very versatile and rugged customizable keypads that come in many shapes and sizes with many different key options, even joystick and shuttle/jog wheels. Their own software “Macroworks” does alright for setting up keystroke emulation, but doesn’t allow for real-time / arbitrary control of the LEDs behind each key. And without direct interconnection to an X-keys device, standard usage doesn’t allow an X-keys AND a regular keyboard, as both talk to the host operating system’s keyboard subsystem and thus X-key functionality would overlap with your standard keyboard.

If there were some way to directly interface with the X-keys products in TD to receive input events and send back LED changes, that would open up a whole new collection of controller options that you just can’t get with midi stuff.

Their SDK is available for free on the website and even includes a DLL prebuilt to interface with their products and it all seems pretty comprehensive / open.

xkeys.com/PISupport/DeveloperWindowsSDK.php

I have no abilities as a coder, so I’m not sure if there is any way to use the “PIEHID.dll” library that’s already included in the SDK with TouchDesigner’s CPlusPlus CHOP; or if there is enough interest from other TD’ers and justification to the Derivative team that a CHOP for receiving / controlling X-keys would be a worthy feature to add… Either way, I’d be willing to contribute some money to a pool towards the creation of a custom CHOP, or even a DLL made for the CPlusPlus CHOP if that’s easier / more realistic.

looks like they do serial versions too.

I would be interested in a chop to interact with xkeys devices as well.

Currently I have it just emulating keystrokes, and using they keyboard in Chop, but it’s a clunky way of doing this, and doesn’t allow for backlight led control through TD.