• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

TashKM: ADB Daisy-Chained Keyboard/Mouse Controller

tashtari

PIC Whisperer
This project really has gone through a lot of iterations, for reasons of "I realized you can't do that", "I realized I can't do that", and most recently, "I realized they don't make those anymore." But I think I'm nearing a destination, even if it wasn't the one for which I originally planned.

I've been having a lot of fun with this lately. Besides a new and, I think, more elegant implementation of the ADB protocol, I now have a system that is actually working with parts that are still manufactured and are even in stock at DigiKey as of the time of this writing.

Here it is, with a useless but cute bit of HyperCard pixel art:
opto.png

The main unit connects to an ADB Mac and a PS/2 keyboard and mouse. It also drives a current loop which can connect to a number (14, currently) of optoisolated downstream units powered by the Macs to which they connect. The main unit can switch between controlling any of the downstream units via a key combination. Because the downstream units are powered by their host Macs, I don't think powering them up remotely is possible.

Currently the downstream units only drive ADB Macs, but there's no reason one can't be made to drive a phone-cord-keyboard/quadrature-mouse Mac, or indeed a PC.

Unfortunately, I can't go through with my earlier idea of using the inner pair of a PhoneNet network - the signals aren't differential and they can't be reversed. I think instead I'll use RCA cables, I have a lot of those lying around and other people probably do too...

I've got this working on a breadboard; next stop, PCBs.
 

gsteemso

Well-known member
I've got this working on a breadboard; next stop, PCBs.
Nicely done!

I know you've already got something actually working and the point is now moot, but I _believe_ (haven't tried it out in person) that pretty much any transformer with a relatively equal winding ratio would have worked. The goal isn't to do anything fancy with pulse shapes or voltage levels or what have you; it's just to induce a pulse on the Mac side whenever one goes past on the bus side, and vice versa. (That's the nice thing about low-complexity stuff like this - it's pretty hard to build it so poorly it doesn't work at all, so the reliability-improvement stages after you get it minimally functional are more about robustness than about basic operational consistency.)
 

tashtari

PIC Whisperer
I was curious if this project was completed or if there's an update?
I'm afraid there's no update, I've hit several snags that have kind of killed my interest in it, the main one being the absence of any standard driver that allows for absolute positioning of the mouse cursor on the screen. Maybe someday I'll pick it up again but I can't promise anything...
 

jmacz

Well-known member
I'm afraid there's no update, I've hit several snags that have kind of killed my interest in it, the main one being the absence of any standard driver that allows for absolute positioning of the mouse cursor on the screen. Maybe someday I'll pick it up again but I can't promise anything...

Ah ok, thanks for the update.
 
Top