Home Download Screenshots Wiki Plugins Translations Developers Donate Forums/Help Contact Us |
StrokeIt
gestures with two buttons pressedPosted by arty
Hi
I think it could be useful to draw gestures using two buttons pressed, ie. left & right. AFAIK this isn't used anywhere in win32, contrary to left button drag and right button drag, so the two-buttons gestures wouldn't interfere with anything. This idea came to me when i read about scrolling documents on mac notebooks: you can do it just putting two fingers on touchpad instead of one. One finger to move mouse cursor, two fingers to move document. I think it's a perfect idea. Are two-button gestures possible?
the answer is yes and no
no coz strokeit doesn't support them and yes coz coincidentally i found a program todo just that. Autohotkey can do a lot and remap keys or mouse buttons or even make some simple gestures. though configuring it is a little difficult i still get exactly what i want - more gestures. look here :[url=http://www.autohotkey.com/forum/viewtopic.php?t=136&highlight=left+click+drag]http://www.autohotkey.com/forum/viewtopic.php?t=136&highlight=left+click+drag[/url] Every strokeit user looking for more gestures should use this. one gesture that i really like from autohotkey is having different result by the same gesture in diff area of the screen. like mclick and drag in the top hafl for page up and vis-a versa. Sounds good or what?? I am playing with the whole night and c if i can make more gestures.
Scott, i read these forums sometimes and I remember discussing fourth or fifth mouse buttons. I remember that it's impossible to use them. Anyway i've searched forums before creating this topic and found nothing about two-buttoned gestures.
I have just tried broader search request, digged trough many topics and found Jeff's word's "not likely to happen". Also I've found so many your words "search forums" ; ) that I think it would be good to include some of these questions in FAQ. I understand people who don't want to do unneeded work, but you can use Wiki for it, and the work would be done by grateful users. --- nik, thanks for your answer, but I do not understand how can I use autohotkey for what I want.
nik, I do not need to scroll documents with two buttons pressed - I have middle button for this. I need two-button gestures in strokeit. But strokeit knows left, right or middle button gestures only, neither any combination of them, nor gestures with keyboard button pressed.
AHK is a nice win32 scripting tool, but i just can't imagine a way to make strokeit understand two-buttoned gestures. If it understands "keyboard" gestures, I could emulate keyboard button with AHK on pressing both mouse buttons. At the moment I can just make strokeit think that only one mouse button is pressed, not two, but there's no way to disable strokeit if only one button pressed. Am i right?
So arty there is a post somewhere that says its something to do with how windows recieves multi buttons being pushed at the same time, not something that stokeit could fix.
Anyways what i would like you be to copies of strokeit running at the sametime so you could have one set to the left button and the other one to the right button. That way you doubt the gestures. abbet ps great idea on a faq
this is a script to change from right mouse button to both for activating strokeit actions, it is not ideal as it still send either a right click or a left click (whichever you pressed first) but then does the gesture while you hold both buttons, it does however allow right dragging as normal and this does not set off strokeit at all. Perhaps someone who has used ahk more than i and has not been at the pub most of the day can clean it up and make it better, but this I am sure will be a good start. RButton:: getkeystate, LButtonState, LButton, P if LButtonstate = D { mouseclick,R,,,,,D exit } else { getkeystate, RButtonState, RButton, P if Rbuttonstate = U { exit } Send, {Control down} mouseclick,R,,,,,D loop { getkeystate, RButtonState, RButton, P if Rbuttonstate = D { getkeystate, LButtonState, LButton, P if Lbuttonstate = D { mouseclick,L,,,,,U mouseclick,R,,,,,U send, {control up} mouseclick,R,,,,,D exit } } else { send, {control up} exit } } } return RButton up:: mouseclick,R,,,,,U return P.S. one warning I should give is that exiting this script by right clicking the icon is difficult because as soon as you right click and the menu appears, this pauses the script half way through, you have to then press up, enter on the keyboard to quit, then press control button once to release it and also right click somewhere to release that. Its all very iritating, but at least the script starts to get the functionality it as designed for. |