Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Lex' Mouse Gestures


  • Please log in to reply
131 replies to this topic
jpsala
  • Members
  • 9 posts
  • Last active: Apr 30 2010 01:58 PM
  • Joined: 21 Jan 2008
automaticman, can you explain in more detail what did you mean, my english is very limited :)

automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006
I actually just repeated more or less what I wrote before. Just in another way. The bigger the space (applications, windows, controls) you can apply an operation (hotkey, mouse click, gestures and any other input type) the more powerful gets this operation as
F = m * a
F: measure for power
m: mass/size of influenced objects/spaces
a: acceleration/change/automation

or written differently
power = quantity * quality

automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006
? What do I have to keep if I only want
Gesture_U = #p
from Gestures.ini

All other functionality I don't need (yet).

automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006
+ Another idea: Toggling "Show Desktop Icons" using a gesture. As the desktop icons mostly distract from the tasks you want to accomplish (or are just not needed for anything) keeping them unvisible all the time is not a bad idea. If you should need them at some point they would only have a gesture-distance.

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

I don't know how your solution works but interesting would be also having one "multiplication gesture", when triggered, opening a GUI with buttons in it like:

The main advantage of gestures is that position doesn't matter; only direction. Showing a GUI would negate this.

However, if you want a mouse gesture to show a GUI (or do any other scripted action), it is as simple as defining a label in the correct format. This is explained under "Script Structure" in the original post.

We could zoom in/out into various regions and so have 1000's of hotkey/automation buttons in front of us. :)

Honestly, tools like nDroid and Launchy (even the Vista start menu!) seem considerably more efficient to me than something like enterpad; even more so the more buttons you have.

This package seems not to include gestures for copy
paste
cut
delete
undo
and these are among the most general operations used all over applications.

These are all operations I generally perform while at least my left hand is on the keyboard. I originally had gestures for them, but never used them.

The default gestures aren't about performing common actions with the mouse, they are about what I find useful (as with all of my automation scripts.)

What do I have to keep if I only want

Gesture_U = #p
from Gestures.ini

Simply delete everything else, of course. There are also gestures defined in Gestures Default.ahk, as Gesture_* labels.

Toggling "Show Desktop Icons" using a gesture

As mentioned above and in the original post, any gesture may be scripted. For Show Desktop Icons, see MisterW's post.

keeping them unvisible all the time is not a bad idea

...except that it increases the time needed to find and activate an icon. It's inefficient enough having to hide windows to reveal the icons.


On the other hand, there is one major feature I have wanted for a long time: radial menus. There is radialM, but frankly, it's an eyesore (I intend to make good use of layered windows), and not nice to set up. The next major (as in long way off) version of Mouse Gestures will incorporate radial menus, basically as a cue of which direction to move the mouse. This will also make it easier to "aim" with >8 directions. It would also help for rarely-used gestures, but I tend to remove gestures that I rarely or never use.

Another application is dynamic gestures/radial menus. For instance, you could hypothetically have a gesture show a radial menu with your most used desktop icons. The advantages would be:
[*:ncytq18k]no need to hide or move windows;
[*:ncytq18k]no need to show desktop icons, ever; and
[*:ncytq18k]you may flick the mouse in the appropriate direction instead of aiming at a relatively small icon.

automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006

Simply delete everything else, of course. There are also gestures defined in Gestures Default.ahk, as Gesture_* labels.

In Gestures.ahk, what can I delete there, everything? :?

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

In Gestures.ahk, what can I delete there, everything? :?

Sure, if you want the script to become completely useless. :shock: You may want to delete the hard-coded XButton hotkeys. The rest of Gestures.ahk provides important functionality (plus the tray menu/icon and sounds.)

In Gestures Default.ahk you may delete everything after:
; END INITIALIZATION
return
Take care not to delete the Gesture_Default subroutine if you want to keep the original function of your gesture key.

Everything above ; END INITIALIZATION provides default values for the script. These can be edited, or overridden by Gestures.ini. If you delete all of these values, the script won't work.

Gestures.ahk contains the "gesture engine," while Gestures Default.ahk contains the default settings and any gestures which are implemented in script (vs pure keystrokes.) Gestures.ini is used to override settings, or define pure keystroke gestures.



automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006

You may want to delete the hard-coded XButton hotkeys. ...

I couldn't find any definitions for XButton1 and XButton2 anywhere. They are used in Gestures.ahk but the definitions? :(

In Gestures Default.ahk you may delete everything after:

; END INITIALIZATION
return

This I did already before. I had a side/parasite effect to my previous right mouse click functionality (which I was using to close windows when clicked onto the window top anywhere). Now it works only after a given time.

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

I couldn't find any definitions for XButton1 and XButton2 anywhere. They are used in Gestures.ahk but the definitions? :(

They are "defined" in the same place as every other key name: the manual.

I had a side/parasite effect to my previous right mouse click functionality (which I was using to close windows when clicked onto the window top anywhere). Now it works only after a given time.

If the script didn't delay click pass-through, you'd end up doing things like right-click dragging files when you intend to draw a gesture.

With such limited information on this "side/parasite effect", I can only suggest that you merge it with the GestureKey_Down subroutine in Gestures.ahk.

automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006
Thanks lexiKos for your help, I just decided that I don't really have a need for mouse gestures.

The separation of pc keyboard and mouse is the worst thing imo for input machines. There should be better solutions than using a mouse which is just slowing you down in the end. Something which would be already in your hand and like controlling the screen movement with your hand in the air for example. (I'm sure there are already similar solutions. The question is why they are not used everywhere already and how cheap/expensive they are?)

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

There should be better solutions than using a mouse which is just slowing you down in the end.

I won't try to convince you that gestures are the way to go, but gestures certainly aren't slowing me down. You suggested earlier that you "would have to leave the keyboard" to use a mouse gesture. I use gestures because the mouse is the natural resting place of my hand; i.e. I use gestures so I don't have to switch between the keyboard and mouse as often.

Something which would be already in your hand and like controlling the screen movement with your hand in the air for example.

Google the "air mouse". ;)

automaticman
  • Members
  • 658 posts
  • Last active: Nov 20 2012 06:10 PM
  • Joined: 27 Oct 2006

Google the "air mouse". ;)

Thanks, you mean something like this <!-- m --><!-- m --> ?
If yes, that's not better.

ManaUser
  • Members
  • 1121 posts
  • Last active: Dec 07 2016 04:24 PM
  • Joined: 24 May 2007

I use gestures because the mouse is the natural resting place of my hand; i.e. I use gestures so I don't have to switch between the keyboard and mouse as often.

Yes, for me the thing is I like to have several ways to do things. For instance there are at least three different shortcuts each for Cut, Copy and Paste on a standard Windows computer, not counting the Edit menu. I use all of them at different times depending on where my hands are.

So I don't think of mouse gestures as a replacement for other ways to do things just an extra way that's especially convenient if you already have your hand on the mouse.

gechu
  • Guests
  • Last active:
  • Joined: --
Hey all,

Thanks for a great collection of scripts!

Since I've just recetly started to use it, I try to focus on a selected amount of commands. In my case these are (with my remappings)

Mouse hold + Up = maximize
Mouse hold + Down = maximize
Mouse hold + Left-right
Right-lef = restore window state.

However, earlier I´ve used a minimize window function by hitting CAPS LOCK. The neat thing with it, is when CAPS LOCK is being clicked, the windows, active or nor, gets minimized.

So my suggestion. Expand the routines in your scripts to include the ability to minimize/maximize even unactive windows which the mouse pointer hovers over.

This code was found in this forums and it might be helpful:

CapsLock:: 
  MouseGetPos,,, aID 
  WinGet, Style, Style, ahk_id %aID% 
  If ( Style & ( WS_MINIMIZEBOX := 0x20000) ) 
     WinMinimize, ahk_id %aID% 
Return


Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

So my suggestion. Expand the routines in your scripts to include the ability to minimize/maximize even unactive windows which the mouse pointer hovers over.

I tend to ignore where the mouse is, expecting the gesture to work in the active window. If you want the functionality, use a Gesture_* label (most are in Gestures Default.ahk).
Gesture_D: ; down
Gesture_U: ; up