PuTTY Keystroke Sender

terminalPuTTY Keystroke Sender is a tool that allows you to control all of your PuTTY terminal windows at the same time. It allows you to type character-by-character in every window simultaneously. Many Systems Administrators will recognize the value of needing to do the same thing to many servers at once. You can even still use tab-complete or vim a file in interactive mode (which no other command sender can do).

Download:

download Click here to Download PuTTY Keystroke Sender v2.1 Portable

Included with this download is the original source code, so you can tweak/compile it for yourself with AutoHotkey.

How to Run:

Just run the PuTTYKeystrokeSender.exe file. You will notice the new terminal icon in your system tray. The script is entirely portable so you need to set up your own auto startup shortcut. Refer to this site for instructions:

http://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts

If you prefer not to use the included .exe file you can install AutoHotkey and run the .ahk file directly. You can also compile it yourself.

PuTTY Keystroke Sender is also compatible with:
PuTTY Tray – Highly recommended as a PuTTY replacement
KiTTY
FuTTY
TuTTY
PieTTY
MinTTY

Usage Instructions:

Upon opening a PuTTY window, you will notice that the title is changed to include a [0] at the end. This signifies that PuTTY Keystroke Sender has detected this new window and assigned it to a default group of 0. Keystrokes typed in a window of a given group go to every window in that group. If I open four PuTTY windows I can now send keystrokes to one window and have it replicate to each of the other three.

Now, let’s say that I want to open another PuTTY window but the work I need to do on it is short-term. I want to type to it and not the other 4. There are a few ways of doing this:

1.You can press CTRL+ALT+PgDn to temporarily disable replicating keystrokes, do your work, close that window and press CTRL+ALT+PgUp again to resume sending to all 4 windows. OR

2.You can assign the 4 previous windows to group 1. To do this, press CTRL+ALT+1 on each one, the group will change to 1 and the title will show [1].

Now you can resume typing to the new window and the previous group of four windows will continue to work together.

While no PuTTY windows are focused, pressing CTRL+ALT+0-9 will bring that group of windows to the focus.

Hotkeys:

CTRL+ALT+Home – Focus all PuTTY windows (useful, when buried behind another window)
CTRL+ALT+PgDn – Temporarily deactivate sending to all terminals and allows you to focus on just one
CTRL+ALT+PgUp – Resume sending to all terminals
CTRL+ALT+0 – Add PuTTY windows to group 0
CTRL+ALT+1 – Add PuTTY windows to group 1
CTRL+ALT+2 – Add PuTTY windows to group 2
CTRL+ALT+3 – Add PuTTY windows to group 3
CTRL+ALT+4 – Add PuTTY windows to group 4
CTRL+ALT+5 – Add PuTTY windows to group 5
CTRL+ALT+6 – Add PuTTY windows to group 6
CTRL+ALT+7 – Add PuTTY windows to group 7
CTRL+ALT+8 – Add PuTTY windows to group 8
CTRL+ALT+9 – Add PuTTY windows to group 9
ALT+g – Restart PuTTY Keystroke Sender (if it starts misbehaving)

Changelog:

7 August 2015

Version 2.1 Released
  • Fixed: Restarting the app doesn’t reset groups to 0

2 August 2015

Version 2.0 – The fork of the fork of this project 🙂

Backstory: Daniel Prokscha, an excellent AHK developer, forked PuTTY Keystroke Sender calling it cPuTTY, and significantly rewrote much of it. In a later version he also added group support. I stayed using my original project for one main reason: by default Daniel’s project couldn’t send keystokes to new windows automatically after he added the groups feature. I have re-forked his version as it was significantly better in keystroke capture and sending, and added the following enhancements:

  • Fixed by cPuTTY: Many broken key combinations such as ALT+b and ALT+f
  • Fixed by cPuTTY: Slowness when sending keystrokes to several windows
  • Fixed by cPuTTY: Capitalization keystroke sending problems
  • Added: Paste to all windows with mouse middle-click or CTRL+v
  • Added: Add groups with windows defaulting to group 0
  • Added: Change title of PuTTY window to reflect group number
  • Added: Modify to show icon enabled/disabled
  • Added: Set all ungrouped windows to group 0
  • Added: Paste with middle-click
  • Added: Allow mintty
  • Added: Alt-g to reload
  • Added: Give a default message for resetting groups

7 August, 2014

Version 1.2 released
  • Fixed slowness problem when typing to many terminals

16 June, 2014

Version 1.1 released
  • Added MinTTY support
  • Added Paste to all support

22 Sept, 2012

Version 1.0 released

Features requested:

  • Change the hotkey mappings
  • Offer an installable version
  • Easy way to auto-start
4 comments on “PuTTY Keystroke Sender
  1. James Rodgers says:

    Thanks for sharing this. I find that it works OK for me except for one thing: the ~ character only appears on the active window, and none of the others. This is a bit of a nuisance when referencing your home directory in a Unix shell. I have Windows 7 32-bit.

  2. Justin De Vries says:

    AWESOME update!! Between the cut and past addition and the groups, most of the stuff that I have been looking for.

  3. pete bateman says:

    Hi, this appears to be exactly what I’m looking for, however I’m using putty in GNS3. Putty windows are started as child processes of GNS3, and are not recognised by your program.

    Would be great if it would pick these up as well. Currently using Putty Command sender and its really twitchy on Win7.

Leave a Reply

Your email address will not be published. Required fields are marked *

*