Re-Stick is the name of an utility I wrote some time ago for my Ultrastik 360 joysticks; it's been gathering (virtual) dust on my hard disk for a while, so I finally decided to release it to the public.
For those that do not know what an "Ultrastik 360" is, let's say that is a programmable analogue joystick that has the advantage of being configurable as needed by loading a "map" on it; this map can transform it in any kind of joystick: 2-way, 4-way, 4-way diagonal, 8-way and so on.
The editor for creating and loading maps is called UltraMap, and you can download it from the website of the maker, Ultimarc.
So what is the purpose of Re-Stick? I wanted a resident utility that let me change the map loaded on the sticks by pressing a key, at anytime: while I was playing or from the inside of my frontend (3D Arcade).
Obviously you might not remember what was the last map loaded, and you could have several maps, so Re-Stick on a "change map" request speaks out the current configuration by playing a wav file (having the same name as the configuration); if you press again the button within the timeout, the map is changed and Re-Stick says the new configuration loaded.
This is the most basic functionality of Re-Stick, but you actually can define several kind of "actions":
1) stuff a sequence of keys in the keyboard buffer (macro)
2) run an application
3) select next/previous/default UltraStik map
4) filter out the key
5) load another ReStick configuration
6) show application switcher (a simple Task Manager)
Any action can be assigned to a key (on your keyboard) or to a combination of buttons (on your joystick).
Re-Stick can be used to change configuration even during a game; for example, in Tron you could switch between 4-way and 8-way depending on the stage you are playing. Even though some games originally had 8-way joysticks, I found that sometimes they play better when Ultrastiks are set to 4-way mode.
Mame does a good job in limiting directions according to the game loaded, but loading a specific map on the Ultrastik gives better results IMHO.
Re-Stick works under XP, 7 and 8 (8.1 is untested, but should work as well).
If a program disable hotkeys, there is an alternative method of intercepting keypresses, which can be configured in Re-Stick; if both hotkeys are disabled and keyboard handler is replaced without chaining by the program you run, Re-Stick cannot work, but in general I found that it works perfectly with any emulator (I mostly use Mame and FinalBurn Alpha).
You can download it from here:
http://www.zanella-hifi.com/szp/restick10.zipI also created a page, with additional details:
http://www.zanella-hifi.com/szp/restick_eng.htmlWhen you install the program, you can access the manual from the help menu in "Re-Stick Configurator" (the setup utility).
Have fun!