Originally Posted by
dharmic
Can LinuxCNC handle serial interfaces or can you add a plugin for new devices to it? If so, and you have access to (either yourself or others) electronics, embedded and Linux environment programming...
Other thing to look at is a small microprocessor (arduino based on an ATMega32u4, for example) hooked up with something like a Bourns EMS22 (1024 ppr encoder with its own 3 wire serial protocol, easy to bit bash) and maybe a MAX7300 I2C IO expander for the keys.
Using the arduino setup it's a piece of cake to program, you'll need to get a PCB made for the pendant of course, and it will expose as a serial port on the host machine.