-
Notifications
You must be signed in to change notification settings - Fork 1
/
DisableMouseMoveWhenVLCIsFullScreen.ahk
87 lines (71 loc) · 1.9 KB
/
DisableMouseMoveWhenVLCIsFullScreen.ahk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#InstallMouseHook
; for debugging remember to press F5 after starting debugging to trigger the global code
SetTitleMatchMode, 2
TIMER_PERIOD = 1000
PREVENT_BLOCK_SINCE_L_BUTTON = 10000
PREVENT_BLOCK_SINCE_VLC_ACTIVE = 10000
SetTimer checkVLCActive, %TIMER_PERIOD%
LButtonShortcutActive = false
; time stamp for the last action that prevented blocking mouse input
preventBlockingTimeStamp := -1
; time stamp for since when vlc has been active
vlcBecameActiveTimeStamp := -1 ; is -1 if vlc is not active
checkVLCActive:
{
if (WinActive("VLC media player"))
{
OutputDebug active
if(vlcBecameActiveTimeStamp = -1)
{
vlcBecameActiveTimeStamp := A_TickCount
}
if(preventBlockingTimeStamp = -1)
{
preventBlockingTimeStamp := A_TickCount
}
if(preventBlockingTimeStamp <> -1 and vlcBecameActiveTimeStamp <> -1)
{
blockNotPreventedForDuration := A_TickCount - preventBlockingTimeStamp
vlcActiveDuration := A_TickCount - vlcBecameActiveTimeStamp
OutputDebug blockNotPreventedForDuration=%blockNotPreventedForDuration%, vlcActiveDuration=%vlcActiveDuration%
if(vlcActiveDuration > PREVENT_BLOCK_SINCE_VLC_ACTIVE and blockNotPreventedForDuration > PREVENT_BLOCK_SINCE_L_BUTTON) {
blockMouseInput()
}
}
} else {
OutputDebug not active
vlcBecameActiveTimeStamp := -1
unblockMouseInput()
}
return
}
$LButton::
{
unblockMouseInput()
Send {LButton}
return
}
$Esc::
{
unblockMouseInput()
Send {Esc}
return
}
blockMouseInput()
{
OutputDebug blocking
global LButtonShortcutActive
BlockInput MouseMove
LButtonShortcutActive := true
Hotkey, LButton, On
}
unblockMouseInput()
{
OutputDebug unblocking
global preventBlockingTimeStamp
global vlcBecameActiveTimeStamp
preventBlockingTimeStamp := -1
BlockInput MouseMoveOff
LButtonShortcutActive := false
Hotkey, LButton, Off
}