Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Imagine for a moment with a 4 port USB hub. Normally how this would work is the hub has one plug that goes to the computer, then 4 ports that you can plug in other things to (thumb drive, keyboard, mouse etc). I am wondering if I can use it in reverse. So I would have 1 keyboard going in to the hub, and then plug in male to male usb cables from the 4 ports to 4 different PCs, my aim is that when a key is pressed on the keyboard all 4 PCs will receive it as if the keyboard were plugged in to them.

Does anyone know if this would work? And if not does anyone have any ideas how I could get the same effect?

EDIT: So I am looking for more of a KVM switch type device rather than a USB hub. However all of the KVM switches I've found use some sort of mechanism to select which computer you'll be using. (some are physical switches / buttons, others do it via software "automatically" some how)

However I need to have 1 keyboard hooked up to 2 computers and when I press a key on the keyboard I want the keypress to be sent to both computers simultaneously, not to one or the other. Does anyone know if KVMs with this feature exist?

share|improve this question
    
The hub works because the computer still recognizes the (individual) keyboards as seperate devices (which is why you can plug in both keyboards and mice, and have them both work) - I'd imagine that the USB protocol handles this (although I don't know how). For your request... how would you handle something like turning CapsLock/ScrollLock/NumLock on/off? Keep in mind that NumLock can be set pre-OS from the BIOS menu, and is reported (and displayed) from the keyboard. You'd likely need a special keyboard for this, not a hub. –  Clockwork-Muse Dec 12 '11 at 20:08
    
For my purposes I won't be dealing with any special keys. I need to send only a small subset of the keys on the keybard. And they will all be normal letters. –  FoamyGuy Dec 12 '11 at 20:13
3  
Why do you want a broadcasting keyboard? Typing the same thing on multiple devices at one time isn't usually a useful thing to do - what's your actual application? Perhaps with that info, we can come up with a more appropriate solution. –  Michael Kohne Dec 12 '11 at 20:54
1  
I don't think this exists off the shelf, unless you are willing to use a software solution. It would be fairly practical to build by connecting a number of usb-slave-enabled micro-controllers (one per PC) to a usb-host-enabled one (for the keyboard) using their serial ports; if you want to look into building that, then it would be appropriate to ask such a question back on electronics.stackexchange. –  Chris Stratton Dec 12 '11 at 23:44
3  
@Tim: are the devices networked? Because you could install a VNC server in each one (there are VNC servers for Android too) and then a single PC with all the client windows. Then you could use e.g. AutoHotKey to multiplex a single keypress to all the VNC windows. It's hacky, but it should work. –  André Paramés Dec 13 '11 at 0:33
show 2 more comments

migrated from electronics.stackexchange.com Dec 12 '11 at 20:00

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

6 Answers

up vote 18 down vote accepted

No. Definitely not.

What you want is a USB KVM switch - Keyboard/Video/Mouse switch. It shares one screen, keyboard and/or mouse between multiple computers.

Alternatively it can be done through a network using Synergy.

share|improve this answer
    
I've thought about using one of those kvm switches and I've done a little research into Synergy and one other software based solution. I don't think software will work, because one of my PC devices is actually an android tablet. Do you know if any of the KVM type switches work such that the input is routed to all of the 'slave' machines at once? i.e. It shouldn't go to only 1 at a time, it should go to all simultaneously without having to flip any switch. –  Tim Dec 12 '11 at 19:41
add comment

You indeed need a KVM switch.

You should understand the concept of USB. Your computer is a host, a USB hub is a device + host. It's device on the computer side, but once again a 'host' for the subdevices. The way you have drawn up picture 2 is suggesting that the PC would be an USB device and the keyboard a host, which neither can do.

This is a reason USB B, mini-B and even micro-B are invented. They are mostly used for connecting a host (normal USB plug) to a device (normal/mini/micro B connector).

share|improve this answer
    
Are there KVM switches that support outputting to both machines simultaneously? I need to be able to press 1 key on the keyboard and have it be sent to both computers at the same time. So far all the KVM switches i've found use some kind of mechanism to select which device you want to send to. –  FoamyGuy Dec 12 '11 at 20:12
    
I'm afraid USB is designed that a device can only have 1 host, so only 1 PC to talk to your keyboard. I don't think you will find a KVM with that. I don't know what other solutions there are other than software solutions (although I wouldn't know what is up for the job). –  Hans Dec 12 '11 at 20:15
add comment

What you are looking for is a USB "splitter". Such a thing does not exist. Although this is conceivable to do in the keyboard example, where information is being passed only in one direction, it would fall apart with other types of USB devices that want to have a conversation with the computer, because it would be ambiguous which of the two computers would respond to the device. You can do splitting with something like a VGA signal because you don't get this sort of conversation going on (even though there is bi-directional signaling going on, it can be handled by a splitter).

share|improve this answer
    
If it is conceivable that it would work for a keyboard does such a thing exist that is meant specifically for this purpose? I don't need it to support any USB peripherals other than a standard keyboard that will only be sending info one way. And It will not need to make use of any special keys such as NUM LOCK, or SCROLL LOCK. It just needs to work with sending single letter keystrokes to multiple PCs such as: "a", "b", "e" etc –  FoamyGuy Dec 12 '11 at 22:24
    
There's no question it could be done, designed for a very limited application (e.g. keyboard, mouse) but I'm not aware of such a product existing - there probably isn't enough of a market to make it cost effective to produce. –  Rob Reuss Dec 12 '11 at 22:39
1  
"in the keyboard example, where information is being passed only in one direction" - that's an incorrect assumption: data passes both ways, at the very least on power-up/plug-in ("Hello, I'm a device" "Okay, what are you?" "I'm a keyboard" "Okay then"). –  Piskvor Dec 13 '11 at 10:00
1  
@Piskvor Exactly correct - I said it that way only to simplify my point. But that is exactly the kind of simple signaling protocol that a hardware implementation could mimic. That is, the splitter cable/box would have circuits that would handle the computer side of that conversation as a mimic. It's doable - but again, not marketable. –  Rob Reuss Dec 13 '11 at 18:30
add comment

This is actually really easy, if you have a soldering Iron, and a couple pieces of metal lying around, and some USB tips with wires. OK, lets say for instance what you were asking, 1 keyboard ---> 4 computer inputs, you need 1 piece of metal charged with +5 volts, and one piece with -5 volts (GND). This could come from any of the computer inputs.

You only need one of the inputs giving this central power, any more would overpower your device. Now, get 2 more pieces of metal, these will be used for D+ and D- cables (The Data) solder each outputting D+ and D- cable to its corresponding piece of metal. and the power GND and +5v to its corresponding pieces of metal (total of 4 central connection metals).

Now, get your USB tips, and cut the ends so that you can see the 4 wires that come out of them, red (5v) brown(GND) Yellow (D+) blue (D-). now for each output you want, you need 1 USB tip/cable. Solder each tip/cable's wires to the output metals already connected to the computer.

IMPORTANT REMEMBER Do not solder more than one +5v and GND connection from the computer, with 4 ports creating the same voltage, the input voltage to the keyboard will be 20v and this will fry your keyboard or onboard LEDs

@ david "It may be possible to splice together pieces of several USB hardware projects to do what you want to do -- connect USB keyboard to Arduino; have Teensy Arduino send keypress information to a host PC ( a and b and c ); and somehow combine them ( d )"

share|improve this answer
add comment

A standard USB hub will not work in reverse.

I suspect it may be possible to adapt the Synergy software to do what you want to do, entirely in software.

It may be possible to splice together pieces of several USB hardware projects to do what you want to do -- connect USB keyboard to Arduino; have Teensy Arduino send keypress information to a host PC ( a and b and c ); and somehow combine them ( d ).

share|improve this answer
add comment

It is possible to run a sync with 2 keyboards, it would just be a matter of wiring in the keyboard before the serial port, I would not know how to do that today.

Hardware Broadcast with PS2 http://www.vetra.com/844text.html (costly box) USB also http://www.vetra.com/wow.html (really costly box)

And "multiBoxers" are using some macro type software to play with themselves (umm in the MMORPG of course :-) . http://www.dual-boxing.com/index.php?s=f878d26303fdb85d450c7b4633accb38 I would ask there, especially if it was for that purpose. Multiplicity http://forums.stardock.com/354453 probably similar to other small tool items, and VNC style KVMs.

With enough time in a search like this Google search term You could probably find a way to broadcast a keystroke with the least ammount of load on the pc.

share|improve this answer
    
The keyword you're looking for is multiboxing. This should yield lots of hits on Google. –  user 99572 is fine Dec 13 '11 at 19:54
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.