Mouse gesture 20736 223367420 2008-07-03T19:39:33Z 68.73.86.93 /* Current use */ typo {{Cleanup-laundry|date=January 2008}} [[Image:Opera back mouse gesture.svg|thumb|right|180px|The mouse gesture for "back" in [[Opera (web browser)|Opera]] – the user holds down the right mouse button, moves the mouse left, and releases the right mouse button.]] In [[computing]], a '''mouse gesture''' is a way of combining [[computer mouse]] movements and [[click]]s which the [[software]] recognizes as a specific command. Mouse gestures can provide quick access to common functions of a program. They can also be useful for people who have difficulties typing on a [[computer keyboard|keyboard]]. For example, in a [[web browser]], the user could navigate to the previously viewed page by pressing the right mouse button, moving the mouse briefly to the left, then releasing the button. == History == The first mouse gesture, the "drag," was introduced by [[Apple Inc.|Apple]] to replace a dedicated "move" button on mouses shipped with its Macintosh and Lisa computers. Dragging involves holding down a mouse button while moving the mouse; the software interprets this as an action distinct from separate clicking and moving behaviors. Although this behavior has been adopted in a huge variety of software packages, few other gestures have been as successful. == Current use == [[As of 2005]], most programs do not support gestures other than the drag operation. Each program that recognizes mouse gestures does so in its own way, sometimes allowing for very short mouse movement distances to be recognized as gestures, and sometimes requiring very precise emulation of a certain movement pattern (e.g. circle). Some implementations allow users to customize these factors. Some [[video game]]s have used mouse gestures. For example, in the ''[[Myth (computer game)|Myth]]'' [[real-time tactics]] series, originally created by Bungie Software, players use them to order battlefield units to move in a desired direction. Another game using mouse gestures is [[Lionhead]]'s ''[[Black & White (game)|Black & White]]''. The game ''[[Arx Fatalis]]'' uses mouse gestures for drawing runes in the air to cast spells. The demo video suggests that some of [[Nintendo]]'s [[Wii]] games will take advantage of such a system. "[[Okami]]" for the [[Playstation 2]] system uses a system similar to mouse gestures; when the player enters a certain mode, they can hold a face button and move the analog stick to create a shape (circle, half-circle, line, etc) that performs a function such as creating a bomb, or changing from night to day. The [[Opera (web browser)|Opera web browser]] has recognized mouse gestures since version 5.10 (April 2001). Several mouse gesture extensions are also available for the [[Mozilla Firefox]] browser, such as the [http://optimoz.mozdev.org/gestures/index.html Optimoz Mouse Gestures] [[Add-on (Mozilla)|extension]] that offer also ''Rocker gestures'' performed by pressing one mouse button while holding down the other (this offers two additional commands, usually moving forward/backward). These extensions use almost identical gestures as Opera. Some tools provide mouse gestures support in any application, such as ''gMote'', ''Sensiva'', ''StrokeIt'' and ''Mojo Gesture'' for [[Microsoft Windows]]. [[KDE]] includes universal mouse gesture support since version 3.2. With the Advent of [[Multi-Touch]] (brought into the mainstream by [[Apple Inc.]] with its [[iPhone]]), Many of [[Apple Inc.]]'s products support [[Multi-Touch]] gestures. The [[iPhone]] and [[iPod Touch]] sport identical gestures, as do the [[MacBook Air]] and [[MacBook Pro]]. The standard [[MacBook]] has identical [[Gesture]] support to the other MacBooks, but only allows for a maximum of 2 fingers to be used in any one gesture. [[RealWorld Icon Editor]] can recognize 26 mouse gestures while images are being modified in its [[Raster_graphics_editor|raster editor]] and it then performs either standard or custom actions. The action can by an execution of an image filter, change of the active drawing tool, or commands like Apply, Undo, Redo, etc. == Drawbacks == A major drawback of current gesture interaction solutions is the lack of support for two necessary user interface design principles, feedback and visibility. Feedback notification is required to indicate whether the gesture has been entered correctly by indicating the gesture recognized and the corresponding command activated, although Sensiva does approach this to some extent in providing voice notification. Mojo Sidekick provides an alternative solution with a pop-up click-through notification. The other principal is visibility of gestures, providing the user some means of learning the necessary gestures and the contexts they can be used in. Mojo gesture does this to some extent by providing pop-up cheat-sheets, that show a list of gestures, when the mouse pointer is held down. Both Mouse Gestures for Internet Explorer and ALToolbar Mouse Gestures display colored tracers that indicate the current motion that the user is taking to facilitate visual clues for the user. One limitation with gesture interaction is the scope context in which the gestures can be used. For example each gesture has only one corresponding command for each application window. Mojo gesture has an interesting solution to this, which addresses this to some extent, by using floating click-through controls called charms, which allow an additional gesture context for each Charm control. Note that holding down buttons while moving the mouse can be awkward and requires some practice, since the downwards action increases friction for the horizontal motion. An optical mouse would be less susceptible to changes in behavior than a ball mouse with increased friction because the sensor does not rely on mechanical contact to sense movement; a touchpad provides no added friction with all its buttons held down with a thumb. However, it was also argued that muscular tension resulting from holding down buttons could be exploited in [[user interface design]] as it gives constant feedback that the user is in a temporary state, or [[Mode (computer interface)|mode]] (Buxton, 1995). == Software == These applications add gestures to any software running on system: === Windows === *[http://silentdevelopment.blogspot.com/2008/04/gesture-magic-10-released.html Gesture Magic] (free/open source) *[http://www.amazingbrass.co.uk/ Brass] via Mime plugin (shareware) *[http://www.handform.net/gmote.php gMote] (freeware) *[http://www.piro.cc/ MauSuji] *[http://www.cityzen451.co.uk/ Mojo Sidekick] (shareware) *[http://www.tcbmi.com/strokeit/ StrokeIt] (free for non-profit use) *[http://powerpro.webeddie.com/ PowerPro] (Freeware - Has a gesture plugin) === Mac OS X === *[http://www.bitart.com/CocoaGestures.html CocoaGestures] *[http://flyingmeat.com/flygesture/ FlyGesture], a freeware application *[http://www.cityzen451.co.uk Mojo Sidekick] *[[Quicksilver (software)|Quicksilver]] has a feature for recognizing mouse gestures *[http://www.donelleschi.com/sapiens/ Sapiens] *[http://stout.hampshire.edu/~bjk02/xGestures/ xGestures] === X11 === *[http://gestikk.reichbier.de/ Gestikk] *[http://kde-apps.org/content/show.php?content=30108 Freehand Gestures] for KDE *[http://to.caltech.edu/manuals/other/fvwm2-2.4.19/fvwm2_33.html Configuring native strokes] in [[FVWM]] *[http://docs.kde.org/development/en/kdebase/userguide/kcontrol-regional-and-accessibility.html KHotkeys] provides native gestures support in [[KDE]] *[http://www.stressbunny.com/wayv/ wayV] *[http://www.cs.bgu.ac.il/~tzachar/xgestures.html xgestures] *[http://freshmeat.net/projects/xstroke/ xstroke] === SkyOS === * [http://www.skyos.org/?q=node/537 SkyOS Mouse Gestures] SkyOS has native support of mouse gestures === Applications === These apps support gestures on their own: *[http://maxthon.neo101.nl/MaxthonGuide/en/ch02.htm Documentation] of mouse gestures in [[Maxthon]]. *[http://www.opera.com/features/mouse/ Documentation] of mouse gestures in [[Opera (web browser)|Opera]]. *[http://www.ysgyfarnog.co.uk/utilities/mousegestures/ Mouse Gestures for Internet Explorer] *[http://www.ie7pro.com/mouse-gesture.html Mouse Gestures for Internet Explorer 7] by [[IE7pro]] *[http://www.altools.com/ALTools/ALToolbar/Features/Mouse-Gestures.aspx Mouse Gestures] in [[ALToolbar]] for Internet Explorer. *[http://optimoz.mozdev.org OptiMoz], [http://perso.wanadoo.fr/marc.boullet/ext/extensions-en.html All-in-One Mouse Gestures] and [http://easygestures.mozdev.org/index.html easyGestures] add mouse gesture and/or pie menu support to Mozilla Firefox. [These are rather old links] *[http://manuals.info.apple.com/en/Motion_2_Gestures_Reference.pdf Reference] of gestures in [[Apple Motion|Motion]]. *[http://wiki.rw-designer.com/Mouse_Gestures_in_Image_Editor Mouse gestures in raster editor] of applications based on RealWorld Designer framework. === Software libraries=== * [http://www.igesture.org iGesture] Open Source Java framework for pen and mouse-based gesture recognition. * [http://www.smardec.com/products/mouse.html Java Swing Mouse Gestures] Open source pure Java library for recognition and processing mouse gestures. * [http://lipitk.sourceforge.net Lipi Toolkit] Open source toolkit that supports recognition of arbitrary pen and mouse-based gestures as well as handwritten characters. * [http://www.etla.net/~willey/projects/libstroke/ LibStroke] is a stroke translation library in C/Java * [http://www.codeplex.com/mousegestures Mouse Gestures for .NET] Open source .NET component for mouse gestures recognition ==See also== *[[Computer accessibility]] *[[Drag-and-drop]] *[[Pie menu]] ==References== * Buxton, W. A. (1995). [http://www.billbuxton.com/chunking.html "Chunking and phrasing and the design of human-computer dialogues"] in ''Human-Computer interaction: Toward the Year 2000'', R. M. Baecker, J. Grudin, W. A. Buxton, and S. Greenberg, Eds. Morgan Kaufmann Publishers, San Francisco, CA, 494-499. ==External links== [[Category:User interface techniques]] [[de:Mausgeste]] [[fr:Mouvement de la souris]] [[ko:마우스 제스처]] [[it:Mouse gesture]] [[hu:Egérmozdulat]] [[ja:マウスジェスチャー]] [[pl:Gesty myszy]] [[pt:Gesto no mouse]] [[ru:Жесты мышью]] [[zh:鼠标手势]]