How do the two sides communicate with each other? I’ve been looking in the Kaleidoscope source for clues, but haven’t found any so far.
What I want to do is to add a pedalboard, for modifiers and cursor keys, which feeds into the keyboard. If I were just using it on my Linux system, I would make it as a separate USB device, but I also need to use it with a MacBook for work, and that seems not to apply modifiers from one (USB) keyboard to another (the built-in keyboard), so I’m looking at ways of feeding the pedal signals into the Model100.
At first I thought of using the expansion connector, but felt reluctant about modifying the hardware. Then I thought I could make a separate device (probably Arduino-based) with two RJ45 ports, and connect it between the two sides of the Model100. It would pass data on between the two sides (with the minimum delay that I can get it to do) but also be able to inject keystrokes so that the left side will treat them as though they came from the right side. Is this likely to work? And what type of communication is used between the sides? A serial line? I2C? SPI?
It would be helpful to have a starting point in the source code to learn about this area, but I haven’t managed to find it so far, and there’s enough code there that I’d rather ask than try to read the whole lot.