I've a ReDragon M913 Mouse, A mouse that has a total of 16 remapped buttons via its factory-software...
I remapped 13 of the 16 factory-software's remapable buttons only (leaving LButton/MButton/RButton as-is within factory software)
This left 12 side-located buttons and 1 top-located buttons to be remapped, which I remapped as follows:
NOTE: described via labels of preferences, using MB0 as the «1x top-located button» & using MB1 to MB12 as the «12x side-located buttons».
MB0 = XButton1[]
MB1 = XButton2
MB2 = Browser_Favorites
MB3 = Browser_Refresh
MB4 = Browser_Stop
MB5 = Browser_Back
MB6 = Browser_Forward
MB7 = Browser_Search
MB8 = Browser_Home
MB9 = Launch_App1
MB10 = Launch_App2
MB11 = Launch_Mail
MB12 = Launch_Media
Thing is, I prefer using single keystrokes per reprogram-able keys as this allows scripting custom combinations more easily via AHK. When I prior-used a Logitech G600, I would instead rely on F13-to-F24 and Help & etc. for my reprogram-able buttons, being «non-interfering keys» but this ReDragon Mouse doesn't support those, being why I instead used the least-used Media-keys...
Using F13 to F24 wasn't so bad for when it came to button/hotkey-identifier scripting, although this now became a bit more challenging nowadays through the use of Media Keys (now mainly relying on comments as Identifiers)
My question is...
Is it possible to create personalized hotkey identifiers? via use of above labels-of-preference?
Example:
Code: Select all
MB0 & WheelDown::Gosub, _ZoomOut
MB0 & WheelUp::Gosub, _ZoomIn
MB1 & WheelUp::Gosub, _VolumeUp
MB1 & WheelDown::Gosub, _VolumeDown
MB1 & MButton::Gosub, _VolumeMute
/*
.--------.
####| GOSUBS |####
'========'
allows to label-id hotkey's "action-assignments/executions", best to start with «_» for best "elsewhere-used label entries" preventions/avoid confusions.
*/
_ZoomOut:
Send {LCtrl Down}
Gosub, AHK_KeyDelay
Send {WheelDown}
Gosub, AHK_KeyDelay
Send {LCtrl Up}
RETURN
_ZoomIn:
Send {LCtrl Down}
Gosub, AHK_KeyDelay
Send {WheelUp}
Gosub, AHK_KeyDelay
Send {LCtrl Up}
RETURN
_VolumeUp:
Send {Volume_Up Down}
Gosub, AHK_KeyDuration_Small
Send {Volume_Up Up}
RETURN
_VolumeDown:
Send {Volume_Down Down}
Gosub, AHK_KeyDuration_Medium
Send {Volume_Down Up}
RETURN
_VolumeMute:
Send {Volume_Mute}
RETURN
/*
.---------------------------.
#####| AHK VARS & ETC. AS GOSUBS |#####
'==========================='
changing value here will simultaneously apply changes everywhere where used
*/
AHK_KeyDelay:
sleep 10
RETURN
AHK_KeyDuration_Small:
sleep 25
RETURN
AHK_KeyDuration_Medium:
sleep 50
RETURN