Log in

View Full Version : PC masquerading as keyboard?



mmcookies
07-27-2007, 10:19 AM
Is it possible to have one PC masquerade as an HID keyboard or mouse and have its output control another computer via PS/2 or USB port?

I'm not talking about using IP broadcast key information and then inject keystrokes using client software on the slave PCs.

In this scheme there would be no required client software at all, and the process would be totally transparent to the slave PCs. As far as the slave PCs are concerned, they only see a peripheral connection from your average keyboard.

Obviously this would require some software driver programming on the master PC emulating the HID, which I can play around with. What I'm more interested in is which interfaces this would be possible on.

ie.
Master ---> Slave
serial ---> PS/2?
USB ---> PS/2?
USB ---> USB?

I just had this thought last night, not sure if it's feasible. Please don't suggest any fully software solutions. I'm wondering about the feasibility of this particular idea.

Picticon
07-27-2007, 11:22 AM
It's absolutely possible to have one computer send hardware signals out to multiple computers, and have them receive the signal either via PS/2 keyboard or USB keyboard. No doubt about it.

The hard part is finding the parts and someone with enough skill to build the thing.

mmcookies
07-27-2007, 11:46 AM
Yes, that's the issue I have now :S
Wish I had more electronics expertise

Xzin
07-27-2007, 12:20 PM
Sure, you could turn a PC into a multicaster, or even an intelligent one with macros, etc.

Would take some work though.

Picticon
07-27-2007, 01:03 PM
Thinking more about this, you could get a digital I/O board from www.ni.com (only suggesting these because I've programmed them in the past).

Then use http://www.computer-engineering.org/ps2protocol/ to program the I/O.

Something like http://sine.ni.com/nips/cds/view/modelpopup/p/pcat/6674
It would take 2 lines (i think) for each PS/2 interface, so you could get 12 computers connected. At worse, it's 3 lines per computer (8 computers).

Then you'd have to program the sucker to simulate the PS/2 interface. When it comes to dropping lines low and stuff, I get lost. I'm a programmer, not a hardware guy.

At 99$ it might be worth a try, assuming you can program or know someone that can. You might even be able to do it via LabView (NI's programming kit), which is mostly drag-and-drop.

But timing is *critical*. The NI specs claim it can do 100ns, and the PS/2 specs claim it has to be 25microseconds per pulse (25000ns). But I have no idea how you could get a program to respond that fast. Sending signals should work, but don't expect to receive them via a program. Those are hardware timings!

You might have to resort to embedded programming. Combine some I/O interface with a programmable controller. That is beyond me tho.

mmcookies
07-27-2007, 03:13 PM
Hmm, thanks a lot. I was actually looking at the PS/2 protocol page earlier, but the hardware stuff was over my head :S

Maybe I should go take a basic electronics course XD Once I win the lottery and have time...

trigemina
07-27-2007, 05:52 PM
This is pretty much what I do, after a fashion.

I have a keyboard and nostromo plugged into my Linux box which is connected via serial cable to my 3 WinXP boxes.

I wrote a tiny app which converts key-presses to the GIDEI serial keyboard protocol which WinXP understands. (It is set up via the accessibility options.)

Kind of a weird solution, but it works.

Also, the GIDEI protocol does support mouse movement, but I never did any work with that. (/f is good enough for me.)

mmcookies
07-27-2007, 07:53 PM
Oh wow, this is great news!

Thank you very much for sharing.

Didn't even know something like GIDEI existed XD

One more question, did you use the linux box because it was more developer friendly, or were there other reasons?

trigemina
07-30-2007, 03:49 PM
I chose linux because I am more familiar with it. I don't see any reason why you couldn't do the same thing in Windows, or on a Mac, or whatever.