Input Director is a Windows application that allows you to control multiple Windows systems with a single keyboard/mouse connected to one of the computers.
Many folks have more than one computer at home these days. Input Director is one solution to avoid having to switch between one keyboard/mouse and the other (and to avoid wearing out the carpet in the process)
Input Director is best used when two (or more computers) monitors are sat next to each on a desk, with the master system's keyboard/mouse positioned below them. (This is a similar configuration to one computer with multiple monitors).
Input Director was written by Shane Richards. To contact him regarding Input Director, head over to
here
. Feel free to email if you find any bugs, have any suggestions for new features, etc.
Input Director requires Windows 2000 (Service Pack 4), Windows XP, Windows 2003, or Windows Vista on each system. The systems must be networked to each other. A keyboard/mouse is mandatory on the master system.
A. 2.3 Can one system be both a master and a slave?
One system can have its Input Director configuration prepared to act as a master as well as a slave. But, it cannot act as both a master and slave at the same time.
The Input Director 'Background Slave' is active when the Input Director application isn't running. It allows a slave to be controlled by a master and can be used
to control a system prior to logging into it, as well as maintaining control of a slave when logging in as a user that does not have the Input Director application set to automatically start.
The background slave is compatible with Windows 'fast user switching'.
The background slave is limited in that:
A. 2.6 The cursor isn't jumping to the correct system/monitor?
If you have multiple monitors attached to either your master or any of your slaves you need to tell Input Director about them.
To do so, on your Master, open Input Director and switch to the "Master Configuration" tab. Press the "Master Monitor Setup" button
and adjust the number of monitors and their orientation to match your master system. Now select and edit every slave to update their monitor setup.
A. 2.7 Is Input Director compatible with computer games?
It really depends on the game. If the game lets/requires you to use the mouse, then there may well be problems with the game when Input Director is running. Your best bet is to try the game in question and see what happens. You will probably have less trouble with games running on a slave. If you find that the game appears to be running okay, but you are unexpectedly transitioning from one system to another when using the mouse, you can temporarily turn off the screen-edge transitions (that is, when the cursor switches from one system to another) by right-clicking on the "ID" icon on the Windows notification status bar:
Click the "No screen-edge transitions" so that it is ticked and retry playing your game.
You can also setup hotkeys to turn screen-edge transitions off and on. To do so, open Input Director on the Master system and switch to
the 'Master Preferences' tab. The hotkeys can be set there.
A. 2.8 Do I need to disconnect the keyboard/mouse from a slave system?
No. Input Director can quite happily control a slave system with its keyboard/mouse attached. In fact, you will most likely want to leave the keyboard/mouse attached just in case you wish to use that computer and Input Director isn't running or your Master system isn't switched on.
A. 2.9 Input Director is running but I can't transition between systems
Things to check:
Input Director is running on all systems (the ID icon is displayed on the Windows notification status bar)
Input Director is enabled on all systems. One system must be enabled as the Master (and its ID icon will be red) and the rest as slaves (ID icons are green)
On the Master, open the "Master Configuration" tab on Input Director, and click the "Scan Slaves" button. If the slave(s) are marked with a red cross then the Master has been unable to communicate with them or the slave has been unable to respond.
If you have a 3rd-party firewall running on your Master and/or Slave system have a look at this question.
Are screen-edge transitions disabled? Right-click on the Master's Red "ID" icon on the notification status bar to bring up the context menu and confirm there isn't a tick next to "No screen-edge transitions". Nb: Disabling screen-edge transitions won't inhibit transitions via hotkeys between slaves and the master.
On the master, has the slave you're trying to reach been marked as one to skip? Open the Master Configuration panel on the Master system and verify there isn't a tick in the "Skip" checkbox next to that slave.
The master has been configured so that a key (or keys) must be depressed to permit a screen-edge transition to occur. Open the Master Preferences panel on the Master System and check if the "Held Keys for a Screen-edge transition" property has been set. If so, these keys will need to be held down whilst moving the mouse off the screen to transition to another system.
If there are multiple monitors on either the master or any slave, Input Director needs to know how many monitors and their orientation, otherwise transitions between systems may not function correctly. Have a look at this question for more information.
A. 2.10 I can't control a slave prior to login or when the Input Director application isn't running
To control a slave before logging into it, or logged in as a user not running the Input Director application running, requires the background
slave mode to be active.
Click here to learn how to enable/disable background mode
If you have enabled background mode and it isn't working, the problem is most likely a firewall. During background slave mode
a special background Input Director application is running called the "InputDirectorSessionHelper.exe". If a firewall
is blocking network access to it then the slave cannot be controlled. Some firewalls may not prompt you about the background application. Have a look at this question on setting up your 3rd-party firewall and check that the firewall is
allowing both InputDirector.exe and InputDirectorSessionHelper.exe access to the network.
If you are finding that the cursor is sluggish for the first few seconds when transitioning to a slave, try turning off the Cursor "Water Ripple" effect option (located at the bottom of the Global Preference panel) on that slave system. The visual transition effect can slow down the cursor, especially if its running on older hardware or is running many programs concurrently.
A. 2.13 What is the Information Window "Make input pass-thru this window" option?
Enabling "Make input pass-thru this window" means that any clicks on the information window will pass through it to any window or the desktop below it, as if the Information Window isn't there. Once you have enabled this option you cannot resize, reposition, change the transparency of the Information Window, as you will not be able to right-click on it to bring up the context menu. To be able to change it again you must bring up the Global Preferences tab in Input Director and click the Information Window "Reset" button.
A. 3.0 How do I return the cursor to the Master system?
When using Input Director, controlling a slave, it is possible that a program on the slave could cause it to freeze, crash or reboot and you find yourself
without your cursor. To return the cursor to the Master system you need to use the Master hotkey. The default is ctrl-alt-break.
It can be changed on the Master system by running Input Director and switching to the "Main" tab:
If you ever get stuck on a system, use this hotkey to return control to the Master. You can also use a slave hotkey to switch to a different slave.
A. 3.1 How can I quickly clear the 'skip' status of a slave?
If you power on your Master before your slave system, the master can attempt to communicate with the slave before the slave has finished booting and finding its not available, mark it as one to 'skip'.
You can click the 'Scan slaves' button on the Master Configuration panel on your Master and this will re-check all your slaves. You can also
manually change the skip flag against a slave in the slave list in the bottom half of the Master Configuration panel.
A shortcut to clearing the skip flag is to setup a hotkey
for the slave. When you use a hotkey,
Input Director will attempt to switch across to the slave regardless of
whether its been set to skip or not. If it successfully transitions then the
slave is marked as 'unskipped' and you don't have to go and 'scan slaves'.
So if you want to check if a slave is up and running, try the
slave hotkey and either you'll get bumped back to the Master because Windows
hasn't finished starting up, or successfully transition and then you can use
the mouse to go backwards and forwards.
More information on slave skipping can be found here.
A. 3.2 How do I determine a computer's (host) name under Windows?
Windows XP:
Go to the Control Panel and double-click on "System". The System Properties window should be displayed. It has a series of tabs across the top of the window. Select the "Computer Name" tab. You should see a window similar to this:
In the example shown, the computers name is "bob" and the full computer's name is: "bob.computers.com". When entering a hostname (i.e. a computer's name) you can usually get away just entering the shortened name (e.g. "bob") if all the computers you'll be using are part of the same domain or workgroup. If this doesn't work then enter the full name (e.g. "bobs.computers.com").
Windows Vista:
Go to the Control Panel and double-click on "System". The System window should open. In the lower half of the window
will be the "Computer name, domain and workgroup settings". The computer (host) name and full name of the system are located here:
A. 3.3 How do I setup my 3rd-party software firewall to allow Input Director Masters and Slaves communicate?
Input Director instances communicate using UDP and TCP (by default) on port 31234 (the port number is configurable under General Preferences).
There are two executable files that need to be allowed to communicate both inbound and outbound: InputDirector.exe and InputDirectorSessionHelper.exe. They
are located in the install directory (the default is C:\Program Files\Input Director).
Most good firewall products should prompt you the first time that one of these .exe files attempts to communication and let you decide whether to allow them to do so.
If you are running the Windows firewall on XP, 2003 or Vista, the Input Director installer will automatically add the necessary rules to let it communicate.
You need to ensure that you have configured your firewall to only allow Input Director traffic to flow between those systems you have designated as your master(s) and slaves. Input Director by default receives information on port 31234 (this is configurable on the preferences panel). You should also configure your firewalls so that no external or untrusted system can communicate with Input Director. If you are unsure how to do this, ask a knowledgeable friend can help you. You are using Input Director at your own risk.
It is also worthwhile having a look at this question on configuring 3rd-party software firewalls
A. 3.5 How can I control a slave before I have logged into it?
On the slave system, start the Input Director application and switch to the "Global Preferences" tab. You need to make sure that "Input Director enabled as a slave"
is selected and that the "Background slave active for all users and at logon" is checked:
The background slave will let you control a slave system when the Input Director application isn't running. This will work for any user logged into the
system and prior to logon. The background slave does not provide the ability to use the remote clipboard or play a macro. You need the Input Director application
running for this functionality to be available.
A. 3.6 How do I get rid of the "Water Ripple" effect?
Open up Input Director on the system in question and switch to the "Global Preferences" tab. Uncheck the Cursor "Water Ripple" effect option
found at the bottom of the panel.
A. 3.7 How do I stop my cursor from accidently slipping to another system?
There are two ways of stopping the cursor from leaving a system:
If its just one system you need to temporarily stop the cursor moving away from - you can turn screen-edge transitions
off on that system by right-clicking the "ID" icon and selecting "No screen-edge transitions". This option is particularly useful if you
are about to run a mouse-driven game on your system.
You can setup a key or keys that must be held-down to allow the cursor to move from one system to another. To setup a held key,
open up Input Director on the master and switch to the "Master Preferences" tab. Click the "Change" button next to "Held keys for a screen-edge
transition" and choose your key (or keys). The Left-Shift key is a popular choice for this setting.
A. 4.0 When I add a slave, I get a "Hostname doesn't exist error"
When you attempt to add a slave, Input Director will check if the hostname you have entered exists. You need to re-check the name of the slave you are trying to add. Have a look at determining a computer's name to ensure you have entered it correctly. You may need to enter the complete name of the host (e.g. if your computer is othercomp.personalnetwork.org.au, make sure enter the complete name, not just 'othercomp').
A. 4.2 Why am I getting a red cross next to a slave's name?
A red cross indicates that Input Director on the master has been unable to communicate with Input Director on the slave.
The most probably reasons for this are:
Input Director isn't running on the slave system
Input Director isn't enabled as a slave on the slave system (ensure that the "ID" on the Window notification status bar is green on the slave system).
There is a firewall somewhere between the master and the slave system that isn't letting the traffic through
The slave's listening port (found on the preferences panel) doesn't match the slave configuration on the master.
On the Master Configuration panel (on a Master system) a slave can be marked as skipped such as is the case with the slave "bob" in the example below:
Skipping can be used to "skip" over a slave when screen-edge transitioning from one system to the next. This is handy for dual-boot systems or when using Input Director and one of the slaves is switched off. Input Director doesn't permanently store whether a slave should be skipped and the flag will be reset if Input Director is restarted or the Master system rebooted.
There are 3 ways a slave's "skip" flag can be set:
Clicking the "Scan Slaves" button will cause Input Director to reset all the skip flags and then set to skip those slaves that don't respond.
If transitioning to a slave fails, Input Director will pop up a dialog box and offer to mark that slave as one to skip in future.
Is manually set by checking its skip checkbox.
A slave's skip flag will be cleared if:
A skipped slave has been switched to by using its hotkey. This is a handy shortcut as it means that if you have just switched a slave's machine on and you want to clear its skip flag, all you need do is hotkey across to it.
It is manually changed by unchecking its skip checkbox.
A. 5.0 How should I decide how to limit which masters can control a slave?
Input Director supplies three alternatives to limiting which masters may control a slave.
Allow any computer to take control - This option should only be used if your systems are on a secured network (not connected to the internet) and you trust each person who has access to your networked computers. You might choose this option if you have an isolated network of 2 or 3 computers that are all under your control.
Allow computers only a chosen subnet to take control. This is an advance option and might be used by those comfortable in how their network is configured and know which subnet will limit access to computers they control and trust.
Allow computers from a set list to take control - This is the recommended way of limiting which systems can act as a master, as it allows you to list precisely which computers may take control.
A. 5.1 When I add a master, I get a "Hostname doesn't exist error"
When you attempt to add a master, Input Director will check if the hostname you have entered exists. You need to re-check the name of the slave you are trying to add. Have a look at determining a computer's name to ensure you have entered it correctly. You may need to enter the complete name of the host (e.g. if your computer is master.personalnetwork.org.au, make sure enter the complete name, not just 'master').
A. 6.0 What type of data can be copy/pasted using the shared clipboard?
Input Director recognises most common data formats that are copied to the clipboard including text, csv, and bitmaps (jpeg, gif, etc). When an application, such as Microsoft Word, copies data to the clipboard, it will put onto the clipboard the range of types of data formats that it can supply that particular bit of data in. So, if you copy a section of a word document onto the clipboard, Word will register that this data is available as text, as rich text format, as well as several internal formats. Input Director will offer to other systems (slaves/masters) those formats it supports. Most of the time, this is fairly seamless, but there are times when the information pasted ends up in a different format. For example, if the word document had a Visio object embedded in it, then the transformed pasted version may have the visio object as a bitmap.
A. 6.1 Why do I see an "Unable to paste" message pop-up when I am not pasting?
Windows and running applications sometimes check the clipboard in the background without you prompting them. If the data isn't available
for some reason then you may see this message even if you didn't explicity try to paste.
A. 6.2 When I paste, the machine pauses for some time
If you copy a particularly large amount of information it can take the source application some time to prepare that information before it can be sent across to the machine thats doing the pasting. In particular, Microsoft Word can defer supplying information to the clipboard until such time as an application begins a paste. If Word needs to transform the information into a different format first, then that can take some time.
Ensure that both systems (the one you're copying from and pasting to) have the "shared clipboard" checkbox selected (found on the Global Preferences tab in the Input Director application)
The shared clipboard is not active if the slave is running in 'Background Slave' mode (this mode allows a slave to be controlled when the Input Director application isn't running. More information on this can be found here). Make sure the Input Director application is running and the "ID" icon is displayed on the Windows Notification bar and is green (meaning that it is in slave mode)
Input Director's file copy/paste function is intended to act as a shortcut to copying files between different computers. The key requirement is that the files you are copying are available in a network shared directory on the source system and that the user logged into the machine doing the pasting has read-level access permission to that shared directory. The rule of thumb here is that if wouldn't be able to map a network drive and copy the files, then it won't work using Input Director's shared clipboard. If you try to copy files that aren't accessible via a network share, Input Director will warn you as such when you attempt the paste. Likewise, if some of the files are network accessible and others are not, Input Director will copy over the accessible files and warn you that not all files were able to be copied.
A. 6.5 What is the purpose of the exclude C$, D$ shares option on the preferences page?
When you select a file(s) to copy, Input Director looks to see whether that file is available in a network accessible (shared) directory. This directory needn't be the immediate parent directory of the file in question, it could be its grandparent or great-grandparent. Many Windows systems are setup with default shared directories called C$ and D$ that represent the root directory on C: and D: respectively. The default setting for these shares is that they are locked down and not publically accessible. As such, they can act as a red-herring because with this option switched off, Input Director will find that all files on the C: and D: are network accessible, even though the permissions are almost certainly such that the user doing the pasting from a remote machine will not have access. By leaving this option on, Input Director will ignore these default shares when determining if a file on the clipboard is network accessible. You would only turn this option off if you have changed the permissions so that others can access the C$, D$ shares (this is not recommended unless you're really sure about what you're doing as it can be a security risk).
A. 7.0 What is the intent of Input Director macros?
Input Director now has a basic keyboard macro facility, which allows the recording of keystrokes into a macro and then playing that macro back, triggered by a hotkey. It is not designed to be a fully-featured Windows Macro Automation solution. It has been designed so that a short set of keystrokes can be recorded and then played back. It provides flexibility in where those keystrokes are played back - e.g to the system with current input, only to the master system or a particular slave system, etc.
On the Master system, open up the Input Director application. Ensure that Input Director is enabled in Master mode (click the "Enabled as Master" button from the Main tab) and switch to the "Macros" tab:
To begin recording a keyboard macro, click the "Record New Macro" button. Every key hit will now be recorded (approximately 250 keystrokes can be recorded in a single macro. Your keystrokes will still be recorded even if you switch to another slave (though if you use a hotkey to switch to a slave, the hotkey itself will not be recorded).
To stop recording return to the Macros tab on the Master system and click the "Stop Recording" button and you will be presented with the "Edit Macro" window:
If you click cancel at this point, the window will disappear and the recorded keys deleted.
Your keystrokes will be displayed in the "Recorded Keys:" textbox. To be able to play this macro you must change the Target from "Unassigned" to something valid from the list (an "Unassigned" macro is disabled). Finally, a hotkey needs to be assigned to the macro (this is the mechanism used to activate the macro). To set a hotkey, click the "Set Hotkey" button and hold down the key combination you'd like.
You may also like to enter a description as to what the purpose of the macro is.
Click "OK" to save the Macro.
Unassigned - The macro has no target and is disabled.
System with Input Focus - Whichever system has the (mouse/keyboard) input will be the one that the macro is played to.
Master - No matter which system has the input, the macro will be played on the Master system.
Slave with Input Focus - If the system which has the current input is a slave then the macro will be played back on it. If the master system has the input then the macro isn't played.
All Slaves - The macro is played to all available slaves
All Slaves and Master - The macro is played to all available slaves and the master system
All but System w/ Input Focus - The macro is played to all available slaves and the master except for the (master or slave) system that currently has the input focus
Slave: slavename - The macro has been bound to a particular slave. No matter which system has the input, the macro is played to its specific slave.
To play a macro, use the hotkey you've assigned to it to activate it. Macros will not be played if you've disabled Macros (via the checkbox on the Macros tab or the "ID" icon right-click context menu.
A. 7.6 I tried to record a macro but none/not all of my keystrokes were captured?
To record keystrokes you must be recording from the Master system and Input Director must be enabled. If you clicked the "Record New Macro" button on the master system (using the keyboard/mouse attached to it) and then switched to typing on the keyboard attached to your slave computer, Input Director will not be able to capture your keystrokes. If you wish to record the keystrokes on the slave you can do so by starting macro recording and then transitioning across to the slave and typing normally (as you would do as part of the normal use of Input Director).
Make sure Macros aren't disabled on the Master. To check, open Input Director (on the master system) and switch to the "Macros" tab. Make sure the checkbox "Disable Macros" isn't set.
Check the target on the macro in question - open Input Director (on the master system) and switch to the "Macros" tab. Double click on the problem macro to open the "Edit Macro" window. Ensure that the target isn't unassigned and that its set appropriately.
You cannot play macros if the slave is running in 'Background Slave' mode (this mode allows a slave to be controlled when the Input Director application isn't running. More information on this can be found here). Make sure the Input Director application is running and the "ID" icon is displayed on the Windows Notification bar and is green (meaning that it is in slave mode)
You may notice [Windows Focus Change] written into your recorded Keystrokes in the Edit Macro Window. Input Director does not just capture keystrokes and play them back. This is because as you are recording keystrokes, your actions may bring up new windows and you are waiting for that new window to be displayed before continuing to type .
Input Director observes when the active window that is receiving input focus changes and stores records this fact into the macro keystroke sequence. When it is playing a macro back and hits a [Windows Focus Change], it will wait for that type of window to open and is prepared to accept input, before continuing to play back the keystrokes.
An example of this is found in the following macro (which records the keystrokes to open a command prompt):
To record this macro, Windows-R was hit to open up the windows "Run" dialog box. Input Director noticed that a different window now had the input focus and stores that into the macro followed by the keystrokes for the application name "cmd" and the enter key.
When playing back this macro, Input Director simulates typing Win-R, it then waits for Run dialog box to take the input focus before playing the remaining keys.
A. 7.9 I've recorded a macro but it doesn't play back the way I expected it to
There are many reasons why a macro may not play back correctly:
Without realising it, the mouse was used partway through the recording to change the state of an application or which field has focus. Input Director only stores keys, so if you needed to use the mouse the macro won't run the same way when its played back.
The macro is dependent upon something transitory. For example, if you had recorded the macro and a particular application was open, or you were running some tool that through your keystrokes you accessed and that application/tool isn't running (or is running in a different mode) then your macro may not playback correctly.
The macro was recorded on one system and played back on another. It may be that the system you are playing the macro back on is subtly different than the one you recorded on. Input Director will record keystrokes from slaves as well as the master, so you're best recording a macro on the system you intend to play it back on. If you are recording a macro that you wish to play on multiple machines, it is best to keep it as short and simple as possible.
Input Director captures changes in input focus (which window has the input focus) as you type your keys being recorded. It is possible that it has not accurately recorded the circumstances surrounding the keys you've hit.
Input Director's macro system is not designed to be a fully-fledged Macro Automation solution. There are many of these available (and can be found easily with your favourite search engine). If you are looking for a richer set of capabilities you are best exploring those alternatives. It may be feasible to script/record a macro in another macro system and then setup an Input Director macro to trigger it. This is advantageous if you want to activate a macro on one of your slaves as Input Director's macros can be bound to a particular slave.