Jump to content

Recommended Posts

Posted

I want to be able to press one of the many extra buttons on my mouse to execute an autoit script function. To do this I have bound weird key combinations to to each button that would otherwise never be pressed, like shift+alt+ctrl+/ (see linked image and the following code.)

Unfortunately this has a few annoying side effects, such as interfering with whatever I'm doing or one of the modifier keys occasionally getting 'stuck' down.

I have been compling each version of this script directly into my startup folder(win7) and have been using it for years. But surely there is a better way of doing this, thanks for help in advance.

http://prnt.sc/dquyar

;^ Ctrl    ! Alt    + Shift    # Win
HotKeySet("!{/}",  "Back_Btn")  ; spamclickoff
HotKeySet("+!^{.}", "Forw_Btn") ; ___/Speakers/HeadPhones
HotkeySet("+!^{,}", "Midd_Btn") ;MouseLock/InputStuff

HotkeySet("+!^{\}", "Gs_Back_Btn") ;ScreenBrightness 100/60/20
HotkeySet("+!^{=}", "Gs_Forw_Btn") ;Vlc/CloseVlc Recent/Touhou
HotkeySet("+!^{-}", "Gs_Midd_Btn") ;ScreenSwaper ToMain/ToSecond

HotkeySet("+!^{]}", "Gs_M3")      ;VlcTogglePlay
HotkeySet("+!^{[}", "Gs_MW_Left") ;F11/!Enter

 

Posted

The G502 (I have it) has other buttons you can bind those keys to so you wouldn't have to use modifiers. Play/Pause, Stop, Next Track, Previous Track, Volume Up, Volume Down, and Mute would probably be better.

I haven't tested it but maybe a low level keyboard hook, instead of hotkey, might get rid of the side effects. Just check in the help file _WinAPI_SetWindowsHookEx to get you started, if you wanted to go this route (much more difficult and will use more system resources).

Posted (edited)

 

20 minutes ago, InunoTaishou said:

The G502 (I have it) has other buttons you can bind those keys to so you wouldn't have to use modifiers. Play/Pause, Stop, Next Track, Previous Track, Volume Up, Volume Down, and Mute would probably be better.

I already use most of these (for their intended purpose) on the non G-shift side.

 

20 minutes ago, InunoTaishou said:

I haven't tested it but maybe a low level keyboard hook, instead of hotkey, might get rid of the side effects. Just check in the help file _WinAPI_SetWindowsHookEx to get you started, if you wanted to go this route (much more difficult and will use more system resources).

I have G9 bound to start a script that locks mouse movement. I wrote it quite some time ago as part of my mouse script. Here it is if you were wondering:

#include <WinAPI.au3>

Opt("TrayIconHide", 1)

Global $locked = 1
Global $pStub_MouseProc = DllCallbackRegister ("_Mouse_Handler", "int", "int;ptr;ptr")
Global $hHookMouse = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($pStub_MouseProc), _WinAPI_GetModuleHandle(0), 0)

while $locked
   sleep(100)
WEnd

DllCallbackFree($pStub_MouseProc)
_WinAPI_UnhookWindowsHookEx($hHookMouse)
Exit

Func _Mouse_Handler($nCode, $wParam, $lParam)
   local $info
   If $nCode < 0 Or $locked = 0 Then Return _WinAPI_CallNextHookEx($hHookMouse, $nCode, $wParam, $lParam)
   If $wParam = 0x00000200 Then Return 1

   $locked = 0
EndFunc

 

But yeah, I'm pretty sure buttons getting stuck down is the fault of the mouse. Some of the functions in my script do different things when a button is held down or pressed multiple times. Using these is where it happens most often.

Edited by Catalyst78
typo & mistakes in code, also didn't actually finish writing post <.< hurr durr

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...