private bool _mouseDown(MouseButtons btn, Hooker.MouseLLHookStruct evt) { if (DisableCondition()) { return(true); } if (evt.IsInjected) { return(true); } bool passKey = true; foreach (Trigger trig in macro_table.Keys) { /* System.Diagnostics.Debug.WriteLine(trig.processName.FirstOrDefault() + " " + evt.Point.X + " " + evt.Point.Y);*/ if (trig.CanTrigger(true, evt.Point.X, evt.Point.Y, btn, ModifierKey.None)) //assert here trig.vk == vk. { CompiledMacro macro = macro_table[trig]; //listView1.Items.Add(macro._events[0].Data.Keyboard.Flags.ToString());//DEBUG macro.Execute(); if (macro.HasTableSwitch) { macro_table = page_dicts[macro.TableSwitchIdx]; BeginInvoke((MethodInvoker) delegate { txtCurrentPage.Text = "Switched to " + _macroPages[macro.TableSwitchIdx].name;//DEBUG UpdateOSD(_macroPages[macro.TableSwitchIdx].name, macro.TableSwitchIdx); }); } // passKey = macro.PassOriginalKey;//DO NOT ALLOW MOUSE SUPRESS INPUT break; } } return(passKey); }
// --------------- Mouse event handler //Note - it's not gonna be injected since as of now we cannot support mouse inputs. private bool _mouseUp(MouseButtons btn, Hooker.MouseLLHookStruct evt) { if (DisableCondition()) { return(true); } if (evt.IsInjected) { return(true); } bool passKey = true; foreach (Trigger trig in macro_table.Keys) { if (trig.CanTrigger(false, evt.Point.X, evt.Point.Y, btn, ModifierKey.None)) //NOTE - NO SUPPORT FOR MOUSE MOdIFIERS! { CompiledMacro macro = macro_table[trig]; //listView1.Items.Add(macro._events[0].Data.Keyboard.Flags.ToString());//DEBUG macro.Execute(); if (macro.HasTableSwitch) { macro_table = page_dicts[macro.TableSwitchIdx]; BeginInvoke((MethodInvoker) delegate { txtCurrentPage.Text = "Switched to " + _macroPages[macro.TableSwitchIdx].name;//DEBUG UpdateOSD(_macroPages[macro.TableSwitchIdx].name, macro.TableSwitchIdx); }); } // passKey = macro.PassOriginalKey; break; } } return(passKey); }