The world according to Tim
how to hack custom keystrokes in setpoint
UPDATE 2008-01-08:while the information below is still valid, it is no longer necessary, thanks to a great utility by Richard Owens called UberOptions. this thing modifies setpoint to add damn near every possible action you could think of to the button assignments, including alt-tab. Im using the latest beta, and recommend it highly.
original post follows:
you know, i dont understand why its so goddamn hard for major pointing-device manufacturers to provide USEFULLY customizable software... microsoft had it pretty close to right with the first few versions of intellipoint, but evidently in their quest to ensure a certain minimum level of user-unfriendliness they made the software worse and worse with each new release, until finally i had no choice but to start hacking around in the registry to get my fucking mouse to work like i wanted it to. im sorry, but a mouse shouldnt be difficult to configure.
i recently came into posession of an older MX-1000 mouse from logitech and decided to give it a spin. its got lots and lots of buttons, and i was excited by all the stuff i could assign to them all... then i actually installed the setpoint software, and discovered that logitech managed to outdo microsoft in the realm of crappy mouse software. sigh... time to start poking around again... now that ive figured it out ive decided to post the instructions here for posterity... i had the same trouble googling for this shit as i did intellipoint.
(these instructions are good for setpoint version 3.10. YMMV with other versions)
started out searching the registry, only to discover the settings arent there, nor are the in the install directory... turns out, theyre in a handy XML file in the current user's 'documents and settings' directory. so to start navigate by your mechanism of choice to C:\Documents and Settings\current_username\Application Data\Logitech\SetPoint\
the exact location of the folder MAY vary, depending on how your machine is configured, but chances are good if the folder ISNT there, then you know exactly where it IS located, since you went to the trouble to set up an unusual configuration for your system...
anyway, wherever it is, find it. youll want to make a copy of the user.xml file, just in case you really bork up your configuration...
now, with setpoint running, open the user.xml in a text editor, preferably one that will prompt you when the file changes and allow you to reload it... this will make your life a lot easer for the next few minutes, because youre going to be changing a lot of stuff in the setpoint interface and watching for changes in the config file to find out where you need to edit... i personally recommend textpad but theres a ton of editors out there, use what you like...
now, suppose you want to assign ALT-TAB to the button that the setpoint software refers to as button 7... find the section in the user.xml file that starts with:
<Button Number="7" Name="4">
this is the area you want to keep an eye on. now, in setpoint, change the assignment for button 7 to "keystroke" and press TAB (no ALT, just TAB) then click "apply"... in a few seconds (setpoint isnt exactly snappy about updating its config files, wait a bit if it doesnt happen right away) your editor should tell you that the file has changed. reload the file, and look for a line in the section for button 7 that looks something like:
<Param DisplayName="Tab" LParam="983041" Modifier="0" VirtualKey="9"/>
now you need to right-click on the setpoint icon in the taskbar notification area and close setpoint.
the virtualkey code for TAB is 9, which is already there, so no change needed... you need to change the "modifier" value... the code for ALT is 4, so change the "modifier" from 0 to 4... then change the displayname value to "Alt-Tab"... doesnt really matter, just makes it easier to tell whats going on if you look at the code later. ive got no damn idea what the "lparam" value is, but if i leave it alone everything seems to work fine, so thats good enough for me. BE SURE YOU HAVE EXITED SETPOINT BEFORE YOU SAVE! if not, setpoint will detect the changes, and change it right back, which will irritate the hell out of you, trust me. save the file, and fire up setpoint again.
press button 7. TA-DA! you now have ALT-TAB bound to a button on your mouse.
feel free to repeat this process for any other weird key combos youd like to assign that setpoint wont let you use. another example would be CTRL-TAB and CTRL-SHIFT-TAB, which i like to use for tab-switching in opera... the modifier for CTRL is 2, and for CTRL-SHIFT is 3. i dont know what the other key-combo values are, but theyre easy to figure out. if you want to find out what the CTRL-ALT modifier is, just set the keystroke bound to a button to something like CTRL-ALT-A... then look at the config to see what it is for that button.
its a major pain in the ass, but it'll get the job done.
one of these days real soon ill make a post about how to create custom button configurations for different applications, but not today... this is enough boring how-to for one day.