Multi-computer keyboard using QMK?
Has anybody built a keyboard that they can switch between multiple machines using the keyboard itself?
I know this isn't first-class functionality of QMK, but I can only think of a couple ways of doing this:
-
Bluetooth, multiple pairings, and map a key to a function that calls whatever-firmware-function to switch between paired devices. (Pretty bog-standard, but haven't seen it done in a MK yet - anybody have any experience?) Sounds good, but I actually find Bluetooth pairing/switching pretty laggy and buggy, so this is out.
-
Multiple wired connections, and a mapping to switch between which wired connection USB HID signals are being sent on. Complex, even just at the electrical level (I guess you'd have to float one of the connections, avoid tying the two machine's USB grounds together? Yikes); not to mention that I don't know of any microcontrollers that explicitly support this ... but by far the most ideal solution, as far as I'm concerned.
-
Figure out a way to hook up a serial cord to an existing KVM, and add a mapping that sends instructions to swap devices ... thus rebooting the keyboard, of course, lol, so it's kinda a one-way mapping. Not pretty, but the only practical approach I can think of.
Posted Apr 17, 2019, 3:06 PM UTC
You could modify the code for i2c split keyboards. One "half" of the keyboard is the MCU connected to the host. The other half is the entire keyboard matrix connected to another MCU.
Matrix MCU scanning the matrix and reporting keypresses over i2c to the host MCU.
You could have multiple host MCUs with different i2c addresses, switch between hosts by changing address.
Each host MCU could have a different keymap.