A mouse gesture library written soley in javascript with power and flexiblity to mould itself for you. Implemented on Mootools following the Object Oriented standards. Library is aimed to set out a future framework for mouse guesters for any browser including modern mobile devices. Check out the video below showing moousture working on iPad:

Its based on simplicity. Three major concepts.

  • A probe, which probes the pointing device. Currently there is a Moousture.MouseProbe (P.S. It already supports iPhone).
  • A monitor, which tests the stability of probed device on given intervals and accordingly notifies Moousture events (onStable, onUnstable, onMove).
  • A Moousture recorder class that records the mouse movements and invoke the guesture object passed to it.
  • Each class allows you to tune the way gestures for yourself. For example:

    Creates Monitor which polls probe position after every 20ms and allows error of 2px to be ignored (not causing to trigger any event)

    Creates a mouse probe for entire document. Note the power you have to probe any DOM object

    Creates a Moousture event class that can keep track of maxSteps mouse movements at maximum. A gesture movment with movements less that minSteps would be simply ignored.

    Its super easy!

  • Create a guesture matcher, currently there are only two gesture objects Moousture.LevenMatcher, and Moousture.ReducedLevenMatcher.

  • function ccwCircle(error){

    if(error >= 0.6)

    return ;

    ...

    }

    Create your own gestures

    Above image gives you all the power to make your own gestures. So for example one can make a gesture for letter W as [1, 7, 1, 7]. This gesture registration is even more simple.

    matcherObj.addGesture([1, 7, 1, 7], wGuessed);

    Moousture 1.0

    Moousture 2.0 Pre-beta

    In case of bugs, wishlist, issues please report to Issue tracker