Version 3.7 [Mar. 9, 2011]
Version 3.6 [Mar. 17, 2009]
Version 3.5 [Oct. 1, 2005]
Version 3.4 [Sept. 18, 2005]
Profiles are now encrypted with Twofish (one of the Advanced Encryption Standard finalists) so that they are now suitable for password storage.
Changed KeyCode entry dialog so that the user can copy and paste from their receipt email. Much more convenient than having to type it in.
Changed the trial mode approach. The nag screen is gone. Users can now play with the program as long as they like, however profile changes are not saved to disk until they buy the full version. Users can still make profile changes in memory in order to try all of the features.
Version 3.3.2 [July 9, 2005]
Version 3.3 [June 13, 2005]
Copy & Paste of controls was semi-broken with v3.0. Controls were not working after being pasted into the profile. Had to reload the profile to get them to work. Fixed.
Copy & Paste wasn't copying over the key delay and repeat values for a control.
Version 3.2 [May 16, 2005]
Enabled proper selection of devices with identical names.
Prevent auto-detect device plugin from reselecting the last device if "-- None --" was selected.
Now saving device selection of "-- None --" to the profile again after fixing the bug with it mentioned in the previous version fix. No longer clear the device selection if the device isn't plugged in, but only if the user specifically selects "-- None --" on the device tab.
Fixed bug that rejected device selection.
A multi-key control that included a left or right specific ctrl, alt, or shift (e.g. <lshift> or <rctrl>) was dropping the key immediately after it in the control list display.
The enter key was still editing the selected control even when the Control tab was not the 'top'/active tab.
Changed the poll rate display to be an integer value.
Any device poll rate changes weren't being saved to or loaded from the profile.
Closing the app (with X button or Esc) while the poll rate interval or rate edit boxes had the input focus caused the app to crash.
Miscellaneous minor bug fixes.
Version 3.1 [Feb. 12, 2005]
Fixed rare crash related to some KeyCodes. Only a few users encountered this problem.
No longer save a device selection of "-- None --" to the current profile. This was being accidentally saved to the profile when the profile was changed and the device wasn't plugged in.
Added command line argument processing (see docs). This enables a profile to be selected from the command line, and optionally to launch another application. If a target app was specified, Total Game Control will exit when the target application exits. For creating shortcuts that launch both TGC and the target game in the same operation. e.g. "GameCtrl.exe profile="great game" target="c:\games\great game.exe" args="-fast"
Added a utility called Shortcut Enhancer to easily modify a shortcut to launch Total Game Control as described in the previous bullet point.
Added auto-detection of device plugin. This option also disables the message at startup or profile change about the device not being plugged in.
Added Welcome screen.
Changed the program icon.
Version 3.0 [Dec. 13, 2004]
A pause event now causes key modifiers and mouse presses to be released before the pause.
Back-to-back mouse events now work properly (such as a double-click event) without any special workaround.
When replaying a multi-key event, and the event is NOT repeat enabled, then each key is released before the next one is pressed (possibly excluding key modifiers shift, control, and alt, and provided that the checkbox to hold all keys is not checked - see enhancements below). The behavior of a repeat enabled event remains the same in that each key is released after it is pressed. See the help for specifics on key press & release states.
Key modifiers (shift, ctrl, alt) weren't getting stored (or replayed) if they occurred immediately before a pause or mouse event.
The first selection of the device "-- None --" was not releasing the currently selected device.
Fixed border colors of depressed mouse test button.
If the last device could not be selected when TGC started up, the last profile was not loaded, but instead the first profile in the list was loaded. Fixed so that the last profile is loaded regardless of whether its device could be selected.
Fixed a crash that could occur when deselecting a device.
Fixed problems with illegal filename characters and the New, Copy, and Rename profile functions. Illegal filename characters are stripped from the name used on disk, but it was possible to overwrite one with another.
Selecting a profile where the device could not be selected didn't show "-- None --" in the device list if a different device was successfully selected from a different profile beforehand.
The mouse test button wasn't being unpressed when loading a different profile with the mouse tab active.
Removed the button sharing (ComboButtons) option altogether. Revised the trigger detection algorithm so that it makes more sense, still allows button combinations, and one control can still override another. Button press order is now important. See the revised help.
Controls triggered on release were not being immediately retracted after they were caused. However, the release-type trigger has been removed (no need for it).
Fixed tooltip display so tooltips show up for controls on the tabs, and including the tabs. Fixed to handle long tooltips. Reworked all of the tooltip wording.
Was not properly handling a profile read error. In this event the wrong profile was displayed as loaded. [this situation has never come up, but it was a bug nonetheless]
The number pad minus key, "<np->", was not replaying properly.
Fixed memory leak when editing a control.
Repeat enable status and timing wasn't being saved for a control when no keys were defined for it.
Remove mouse input detect mode when changing profiles.
Save a device selection of "-- None --" to the current profile if the user selects it.
Changed name from Total System Control to Total Game Control. Retained software version.
Space characters now get displayed as "<Space>" to make sure they are visible in the main control list.
User can now type out "<Backspace>" intead of "<BS>" (but <bs> still works). It also shows as <Backspace> now in the control list.
In the control definition dialog, added a checkbox to "Hold down all keys of a multi-key event until released". In the rare case where this is necessary, it's something you can still do (it used to be the default behavior). This is desirable in some game situations, for instance.
Added key timings (a hold value & a release delay). For multi-key input to games that don't use buffered input this is a must-have feature. The clunky workaround in the past was to enable repeat, and manually insert pauses between events.
The copy & rename profile buttons now copy the existing profile name into the edit box for the new name.
Added a button on the device tab to refresh the device list. Handy in case a device wasn't plugged in/activated when the app was launched.
Added settings tab. Replaces obscure menu items & about box info. Made web & email contact information hotlinks.
The control list columns now resize proportionally when the dialog is resized.
Added "Launch at startup" setting to start Total Game Control when the computer boots or the user logs on.
Added "Smart Check key entry checker" to settings. If on, it checks to see if the user forgot to put angle brackets around special key codes after entering them.
User is now notified if the device associated with the selected profile could not be selected. This occurs if the device is not plugged in, turned on, etc.
Minor speed enhancements.
Added a reminder/warning about entering uppercase characters. User can disable permanently.
The installer will now optionally create a Quick Launch icon.
Version 2.0 [Jan. 24, 2004]
Use scan codes for keyboard input simulation instead of virtual keys. Virtual keys were not working for everything. Now works with everything that accepts keyboard input under Windows. Some games were not working before, primarily for the arrow keys.
Fixed bug in auto-repeat that canceled the repeat when another control was pressed, even when ComboButtons was set.
Added support for additional keys:
<NP/> = number pad /
<NP*> = number pad *
<NP-> = number pad -
<NP+> = number pad +
<NPEnter> = number pad enter
<NPCR> = number pad enter
<NPDel> = number pad Del key (also '.')
<NP.> = number pad Del key (also '.')
<X1Mouse> = X1 mouse button (2000/XP only)
<X2Mouse> = X2 mouse button (2000/XP only)
<P:n> = pause 'n' milliseconds (n is numeric)
(there are 1000 milliseconds in 1 second)
<VolDn> = system volume down (2000/XP only)
<VolMute> = no system volume/mute (2000/XP only)
<VolUp> = system volume up (2000/XP only)
<StartMail> = launch mail (2000/XP only)
<StartApp1> = launch application 1 key (2000/XP only)
<StartApp2> = launch application 2 key (2000/XP only)
<BrowserBack> = web browser back (2000/XP only)
<BrowserForward> = web browser forward (2000/XP only)
<BrowserRefresh> = web browser refresh (2000/XP only)
<BrowserStop> = web browser stop (2000/XP only)
<BrowserSrch> = web browser search (2000/XP only)
<BrowserFav> = web browser favorites (2000/XP only)
<BrowserHome> = web browser home page (2000/XP only)
<MediaNext> = media next track (2000/XP only)
<MediaPrev> = media previous track (2000/XP only)
<MediaStop> = media stop (2000/XP only)
<MediaPP> = media play/pause (2000/XP only)
<MediaSel> = media select (2000/XP only)
Added a pause key to allow for a time delay when replaying events. This is most useful, for instance, when combined with button presses. An example might be selection of a popup menu item. The menu is popped up with the right mouse button, and the arrow keys are used to select the proper menu and/or submenu item. Finally the enter key is used to select the menu item. A pause is necessary in order to give the computer time to display the menu before replaying the keys.
ComboButtons is now the default when creating a new control.
Added optional hold time for key repeat. This is necessary for those apps that don't use buffered keyboard input.
Version 1.3 [Jan. 02, 2004]
Always clear the "Detect" flag when defining a new control.
Wasn't saving changes to mouse controls under all circumstances.
No longer requires middle mouse button press for mouse wheel movement.
Reversed direction of mouse wheel scrolling (it was backward).
Mouse Tab: Removed acceleration. Uses system mouse settings for this.
Mouse Tab: Added mouse wheel axis damper & sensitivity.
Mouse Tab: Removed combo-box selection ability for mouse controls. Dumb idea anyway. Strictly detect-type setup now.
Mouse Tab: Use same naming convention for mouse controls as the controls under the "Control" tab.
Mouse Tab: Now have the ability to leave a mouse control selection as "<none>", which means the control cannot be applied (handy when you simply will never be using a given control but still want some mouse controls active).
Mouse Tab: Changed "Mouse Controls Always Active" checkbox to a push-button (to conserve space).
Overhauled mouse movement algorithm. Apply parabolic function to mouse movement so that moving the axis a little only moves the mouse a little, but moving it a lot moves the mouse a lot (depending on sensitivity setting). [applies only to analog axis]
Apply sub-pixel precision to mouse movement.
Bumped up default poll rate to every 5 milliseconds (200 times/second) for much finer (better) mouse movement control. Very little extra CPU usage.
Bumped up the process and all thread priorities to "high/time critical" for better response within CPU hogging applications & games. Does not impact CPU usage.
Changed necessary analog axis movement from 25% to 50% (of maximum) before control is triggered or detected (control event or detection only, not mouse movement). For those really shoddy sticks that can't hold a center.
Version 1.2 [Nov. 02, 2003]
Version 1.1 [Oct. 25, 2003]
Save start minimized settings immediately after set instead of waiting until app is shut down.
Removed the ability to create a new profile with a name that already exists, and thus accidently wiping it out.
Moved the "no device selected" message to appear after main window is shown, and added more explanation.
Added profile copy and rename buttons.
Changed list control to allow multi-select instead of just single select.
Delete now works for multiple selected controls.
Added list item shift buttons (up & down) so the user can set the control list order. Works with multiple controls selected.
Added copy & paste buttons to copy & paste controls between profiles (or the same one). Ctrl+C and Ctrl+V also work to copy and paste controls as long as the list control has the focus.