tags:

views:

22

answers:

3

Can autohotkey capture nonstandard mouse buttons? I use a five-button mouse (Microsoft Wireless Laser Mouse 6000).

A: 

You need to capture the scancode of the key and then use that. You can find a script in 5th post of this thread, written by Skan, which will allow you to do this. Just run that and click on the GUI with the mouse button you wish to determine the scancode. Then use the scancode in place of the normal key when you create the hotkey.

There is also a built in method of retrieving keys which is documented at the bottom of this page under the heading "Special Keys". Essentially, AHK logs your key presses and automatically records the scancodes for you.

To use the scancode as a hotkey, you just do the following:

SC###:: ;Your code here

Where ### is replaced with the code of your key (or mouse button).

Rupert
Did you mean the 4th post? From what I can tell by reading this thread, it focuses on keyboard events, not mouse events.
Kimball Robinson
+1  A: 

XButton1 and XButton2 according to the documentation on autohotkey.com.

Greg
A: 

The following URLs show how to have autohotkey log all keyboard and mouse events, and how to look at the log autohotkey generates of those events.

Based on this, you can find out about all mouse and keyboard events by creating an autohotkey script as such:

#InstallKeybdHook
#InstallMouseHook

Once you run the script, you can double click on the tray icon for that script, then go to View > Key History and Script Info (Ctrl K)

Based on this information, I figured out that my mouse driver is already redefining the extra mouse buttons to other keys. However, I can re-map those keys by going to Control Panel > Mouse, selecting the desired button, and using the "Macro..." option in the mouse configuration (this is a special configuration only for the Microsoft Wireless Laser Mouse 6000 v2). In the macro dialog, I can define keystrokes for those mouse buttons to send (only one per mouse button). Next, I can use AutoHotkey to watch for whatever keystrokes I have defined, and perform specific actions based on those keystrokes.

Kimball Robinson