|
|
|
@ -3,14 +3,14 @@
|
|
|
|
|
class AutoHotInterception {
|
|
|
|
|
_contextManagers := Map()
|
|
|
|
|
|
|
|
|
|
__New(){
|
|
|
|
|
__New() {
|
|
|
|
|
bitness := A_PtrSize == 8 ? "x64" : "x86"
|
|
|
|
|
dllName := "interception.dll"
|
|
|
|
|
if (A_IsCompiled){
|
|
|
|
|
if (A_IsCompiled) {
|
|
|
|
|
dllFile := A_LineFile "\..\Lib\" bitness "\" dllName
|
|
|
|
|
DirCreate("Lib")
|
|
|
|
|
FileInstall("Lib\AutoHotInterception.dll", "Lib\AutoHotInterception.dll")
|
|
|
|
|
if (bitness == "x86"){
|
|
|
|
|
if (bitness == "x86") {
|
|
|
|
|
DirCreate("Lib\x86")
|
|
|
|
|
FileInstall("Lib\x86\interception.dll", "Lib\x86\interception.dll")
|
|
|
|
|
} else {
|
|
|
|
@ -35,7 +35,7 @@ class AutoHotInterception {
|
|
|
|
|
DllCall("FreeLibrary", "Ptr", hModule)
|
|
|
|
|
|
|
|
|
|
dllName := "AutoHotInterception.dll"
|
|
|
|
|
if (A_IsCompiled){
|
|
|
|
|
if (A_IsCompiled) {
|
|
|
|
|
dllFile := A_LineFile "\..\Lib\" dllName
|
|
|
|
|
} else {
|
|
|
|
|
dllFile := A_LineFile "\..\" dllName
|
|
|
|
@ -89,11 +89,11 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SendMouseMoveAbsolute(id, x, y)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SetState(state){
|
|
|
|
|
SetState(state) {
|
|
|
|
|
this.Instance.SetState(state)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MoveCursor(x, y, cm := "Screen", mouseId := -1){
|
|
|
|
|
MoveCursor(x, y, cm := "Screen", mouseId := -1) {
|
|
|
|
|
if (mouseId == -1)
|
|
|
|
|
mouseId := 11 ; Use 1st found mouse
|
|
|
|
|
oldMode := A_CoordModeMouse
|
|
|
|
@ -109,7 +109,7 @@ class AutoHotInterception {
|
|
|
|
|
CoordMode("Mouse", oldMode)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GetDirection(cp, dp){
|
|
|
|
|
GetDirection(cp, dp) {
|
|
|
|
|
d := dp - cp
|
|
|
|
|
if (d > 0)
|
|
|
|
|
return 1
|
|
|
|
@ -120,7 +120,7 @@ class AutoHotInterception {
|
|
|
|
|
|
|
|
|
|
; --------------- Querying ------------------------
|
|
|
|
|
GetDeviceId(IsMouse, VID, PID, instance := 1) {
|
|
|
|
|
static devType := {0: "Keyboard", 1: "Mouse"}
|
|
|
|
|
static devType := { 0: "Keyboard", 1: "Mouse" }
|
|
|
|
|
dev := this.Instance.GetDeviceId(IsMouse, VID, PID, instance)
|
|
|
|
|
if (dev == 0) {
|
|
|
|
|
MsgBox("Could not get " devType[isMouse] " with VID " VID ", PID " PID ", Instance " instance)
|
|
|
|
@ -130,7 +130,7 @@ class AutoHotInterception {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GetDeviceIdFromHandle(isMouse, handle, instance := 1) {
|
|
|
|
|
static devType := {0: "Keyboard", 1: "Mouse"}
|
|
|
|
|
static devType := { 0: "Keyboard", 1: "Mouse" }
|
|
|
|
|
dev := this.Instance.GetDeviceIdFromHandle(IsMouse, handle, instance)
|
|
|
|
|
if (dev == 0) {
|
|
|
|
|
MsgBox("Could not get " devType[isMouse] " with Handle " handle ", Instance " instance)
|
|
|
|
@ -170,7 +170,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeKey(id, code, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeKey(id, code){
|
|
|
|
|
UnsubscribeKey(id, code) {
|
|
|
|
|
this.Instance.UnsubscribeKey(id, code)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -178,7 +178,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeKeyboard(id, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeKeyboard(id){
|
|
|
|
|
UnsubscribeKeyboard(id) {
|
|
|
|
|
this.Instance.UnsubscribeKeyboard(id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -186,7 +186,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeMouseButton(id, btn, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeMouseButton(id, btn){
|
|
|
|
|
UnsubscribeMouseButton(id, btn) {
|
|
|
|
|
this.Instance.UnsubscribeMouseButton(id, btn)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -194,7 +194,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeMouseButtons(id, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeMouseButtons(id){
|
|
|
|
|
UnsubscribeMouseButtons(id) {
|
|
|
|
|
this.Instance.UnsubscribeMouseButtons(id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -202,7 +202,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeMouseMove(id, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeMouseMove(id){
|
|
|
|
|
UnsubscribeMouseMove(id) {
|
|
|
|
|
this.Instance.UnsubscribeMouseMove(id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -210,7 +210,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeMouseMoveRelative(id, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeMouseMoveRelative(id){
|
|
|
|
|
UnsubscribeMouseMoveRelative(id) {
|
|
|
|
|
this.Instance.UnsubscribeMouseMoveRelative(id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -218,7 +218,7 @@ class AutoHotInterception {
|
|
|
|
|
this.Instance.SubscribeMouseMoveAbsolute(id, block, callback, concurrent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UnsubscribeMouseMoveAbsolute(id){
|
|
|
|
|
UnsubscribeMouseMoveAbsolute(id) {
|
|
|
|
|
this.Instance.UnsubscribeMouseMoveAbsolute(id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -257,7 +257,7 @@ class AutoHotInterception {
|
|
|
|
|
this.IsActive := state
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Remove(){
|
|
|
|
|
Remove() {
|
|
|
|
|
this.parent.Instance.RemoveContextCallback(this.id)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|