06-05-2015, 02:46 PM
I am using low level mouse and keyboard triggers but after about 10 -30 minutes, they quit working. Or maybe it is 10-30 uses. I have not been able to pin it down. I have a start menu item that restarts qm and thereby gets the triggers working again. This is an imperfect solution to the problem. I have also found that if I go into tool--> options --> and uncheck "use low level triggers" then apply then recheck "low level triggers" and apply, everything works again for awhile.
I have gotten rid of the low level trigger option and everything works fine, I believe. However, I need the low level trigger for, among other things, stealing input from a citrix window.
An example of a function that fails but that I find very useful follows. It moves the mouse to the middle of the active windows when triggered by alt-Tab. You need this with multiple large monitors and a mouse that can only move so fast. The function fires when the key is released and is set to not eat the key:
Function MoveMouseToActiveWindow2
Trigger AT 0x5
I am using QM 2.4.2.2 but have had the problem in a previous version as well.
I had considered a less than ideal solution to the problem, where, every 10s or so, qm issued keystrokes that should trigger a qm function and when the triggering failed, qm would disable then re-enable the low level hooks. Something like this might even help me to pin down when the problem is occurring, by actively monitoring for it. If a solution to the primary problem is not obvious (which is what I expect) then is there a way for QM to trigger itself through the low level keyboard hooks as I am describing. Then how can I programmatically disable, then reenable them. I might be able to figure this last one out but I have looked around for sending keystrokes from QM that trigger other QM items via the windows keyboard hooks and have not had success.
Thanks for your help.
I have gotten rid of the low level trigger option and everything works fine, I believe. However, I need the low level trigger for, among other things, stealing input from a citrix window.
An example of a function that fails but that I find very useful follows. It moves the mouse to the middle of the active windows when triggered by alt-Tab. You need this with multiple large monitors and a mouse that can only move so fast. The function fires when the key is released and is set to not eat the key:
Function MoveMouseToActiveWindow2
Trigger AT 0x5
RECT r
GetWindowRect(win() &r)
mou (r.left + ((r.right - r.left)/2)) (r.top + ((r.bottom - r.top)/2))
I am using QM 2.4.2.2 but have had the problem in a previous version as well.
I had considered a less than ideal solution to the problem, where, every 10s or so, qm issued keystrokes that should trigger a qm function and when the triggering failed, qm would disable then re-enable the low level hooks. Something like this might even help me to pin down when the problem is occurring, by actively monitoring for it. If a solution to the primary problem is not obvious (which is what I expect) then is there a way for QM to trigger itself through the low level keyboard hooks as I am describing. Then how can I programmatically disable, then reenable them. I might be able to figure this last one out but I have looked around for sending keystrokes from QM that trigger other QM items via the windows keyboard hooks and have not had success.
Thanks for your help.