StrokesPlus Forum
                       
StrokesPlus Forum
Home | Profile | Register | Active Topics
Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Bug and Issues
 Known Issues
 [KNOWN] can't display right-click menu
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

q469649305

China
25 Posts

Posted - 03/24/2013 :  04:09:19  Show Profile  Reply with Quote
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
2581 Posts

Posted - 04/02/2013 :  12:36:23  Show Profile  Visit Rob's Homepage  Reply with Quote
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.
Go to Top of Page

Chris

28 Posts

Posted - 04/03/2013 :  06:41:41  Show Profile  Reply with Quote
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.
Go to Top of Page

lujomu

9 Posts

Posted - 11/04/2013 :  13:36:27  Show Profile  Reply with Quote
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?
Go to Top of Page

Rob

USA
2581 Posts

Posted - 11/04/2013 :  14:27:02  Show Profile  Visit Rob's Homepage  Reply with Quote
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.
Go to Top of Page

lujomu

9 Posts

Posted - 11/04/2013 :  14:37:45  Show Profile  Reply with Quote
Sure, that actually makes more sense!
Go to Top of Page

Rob

USA
2581 Posts

Posted - 11/04/2013 :  14:40:43  Show Profile  Visit Rob's Homepage  Reply with Quote
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.
Go to Top of Page

lujomu

9 Posts

Posted - 11/04/2013 :  15:10:54  Show Profile  Reply with Quote
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!
Go to Top of Page

Rob

USA
2581 Posts

Posted - 11/04/2013 :  15:16:29  Show Profile  Visit Rob's Homepage  Reply with Quote
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.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
StrokesPlus Forum © 2011-2018 Rob Yapchanyk Go To Top Of Page
Snitz Forums 2000