Author |
Topic |
|
q469649305
China
25 Posts |
Posted - 03/24/2013 : 04:09:19
|
In the Windows Explorer we can call the right-click menu with more choices when the shift key is pressed,but now strokesPlus will cause it can't to show. Either win7 x86 or win8 x86 has this problem,other os I haven't test. |
|
Rob
USA
2615 Posts |
Posted - 04/02/2013 : 12:36:23
|
Correct, this is because S+ recognizes the shift key as a modifier.
You can either temporarily disable S+, or:
Hold the right button until the cancel delay timeout has passed, then press shift and let go of right button. |
|
|
Chris
28 Posts |
Posted - 04/03/2013 : 06:41:41
|
I was thinking, maybe it's better to make S+ detect the active window or WindowFromPoint then S+ will behave depending on the option user set for that specific win or win from app.
Example: I set right+shift gesture on firefox window for an action. And on explorer window, I set right+ctrl for an action. Thus, when my mouse is on explorer window, shift+right would not be hooked by S+. I think this way, it's more flexible for every apps and users.
Just a thought. |
|
|
lujomu
9 Posts |
Posted - 11/04/2013 : 13:36:27
|
I hope it's ok to warm up this old thread...
This problem came my way today as I wanted to run a shortcut as admin in Windows ([Shift]+[RMB]). I fiddled around with the settings a bit and found out I could set [Shift] as the "Ignore Key" which solves this particular problem, but also now prevents [Ctrl]+[RMB] combination.
As I looked through my 60+ gestures I noticed none of them used [Shift], [Ctrl] or [Alt] as a modifier. And that may be true for some other users as well.
So I thought in this case making it possible to set multiple keys as "Ignore Key" could be a solution. Or am I overlooking something? |
|
|
Rob
USA
2615 Posts |
Posted - 11/04/2013 : 14:27:02
|
The easiest workaround is to make a gesture which calls:
acDisableNext()
Execute that gesture and the next gesture will be ignored.
I can look into having more ignore keys, but it seems like it would be a backward way of eliminating this particular issue. Meaning, yes it would work and shouldn't cause any problems, but it would change the core functioning of S+ (and introduce the risk of breaking other things) for such a small gain. I think a more appropriate change would be to exclude modifiers that someone chooses not to have available, which would more appropriately address this concern.
However, that affects core logic as well so it's not a quick fix. |
|
|
lujomu
9 Posts |
Posted - 11/04/2013 : 14:37:45
|
Sure, that actually makes more sense! |
|
|
Rob
USA
2615 Posts |
Posted - 11/04/2013 : 14:40:43
|
Also, you could try making an action which responds to (for example) Shift right-click, meaning only select Shift as the modifier and no gesture. Then in your script, simply inject the shift right-click event:acSendShiftDown()
acDelay(25)
acMouseClick(gsx, gsy, 0, 1, 1)
acDelay(25)
acSendShiftUp() You could probably just send the mouse click if you're still holding the shift key. My setup always displays the full right click menu, so I can't really test it out, but should work fine. |
|
|
lujomu
9 Posts |
Posted - 11/04/2013 : 15:10:54
|
Wow, this actually seems to work very well! I had to wrap it in 'acConsumePhysicalInput()', though, to also make it work on pinned Taskbar shortcuts:
acConsumePhysicalInput(1)
acSendShiftDown()
acDelay(25)
acMouseClick(gsx, gsy, 0, 1, 1)
acDelay(25)
acSendShiftUp()
acConsumePhysicalInput(0) Thanks! |
|
|
Rob
USA
2615 Posts |
Posted - 11/04/2013 : 15:16:29
|
Ahh there ya go! Yeah, I guess holding the shift during the action while also trying to send shift would interfere. acConsumePhysicalInput would definitely correct that.
I think at some point I'll add these common modifier/clicks to the default install and if someone wants to replace them, so be it...but at least they will not be blocked from things like this by default. |
|
|
|
Topic |
|
|
|