Skip to content
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Control any web object remotely using Javascript is a javascript library that can be used to control webpages remotely using gestures on a touch device. It supports the following gestures:

  • Tap
  • Hold
  • Swipe


Here are some cool ways you can use

Slideshow Presentation

A slideshow that uses to switch slides. Check it out

Soundcloud Player

A Soundcloud player that uses to change tracks and control playback. Check it out


It's PacMan! Check it out

Want to add your site? Contact us via Email


A step by step guide on how to use

$ git clone

  • Import jquery and import in your project:

<script type="text/javascript" src=""></script>

  • Control! Create a new Remotes object with the preview API key:

var Remotes = new Remoats("1234567890");

Now, on every gesture that is performed on the remote touch device creates an event, and you'll receive a callback object with information on the gesture.

You can add event handler by using the 'on' method, and remove them using the 'off' method.

Remotes.on( "gesture-name", function(event){ // Handle your business });

A single event can have mutliple handlers associated with it. To remove an event handler, you must pass the event-name and the same callback function you wish to unbind, like so: "gesture-name", function(event){ // Handle your business }); currently supports the following touch events/gestures:

    .on("swipe-left", ...)      // A touch and swipe in the leftward direction
    .on("swipe-right", ...)     // A touch and swipe in the rightward direction
    .on("swipe-up", ...)        // A touch and swipe in the upward direction
    .on("swipe-down", ...)      // A touch and swipe in the downward direction
    .on("tap", ...)             // A quick tap/touch and release
    .on("hold", ...)            // A touch lasting at least 500ms in one location
    .on("release", ...);        // Fired when a 'Hold' event touch ends

The event object:

All gesture events provide:

  • position.x: X co-ordinate of the gesture starting touch (px)
  • position.y: Y co-ordinate of the gesture starting touch (px)
  • sourceWidth: Width of the source broswer window (px)
  • sourceHeight: Height of the source broswer window (px)


Host: Google Chrome Browser ( currently requires the installation of a Google Chrome Extension) Client: Touch device browser must be able to support websockets and touch events

Known touch device (mobile) browsers supporting websockets:

  • iOS 4.2 and above
  • Firefox for Android
  • Chrome for Android
  • Google Chrome 5 and above
  • Firefox
  • Safari 5
  • IE 10 and above

Client Touch Compatibility

Tap Hold Swipe
Internet Explorer 8 X X X
Internet Explorer 9 X X X
Firefox 11 X X X
Opera 11 X X X
Chrome 16 X X X
Safari 5 X X X
iPad iOS 5 X X X
iPhone iOS 5 X X X
Android 4
Default browser X X X
Android 3
Default browser X X X
Android 2
Default browser X X X
Firefox 10 X X X
Opera Mobile 12 X X X
Opera Mini 6.5 X
Opera Mini 7.0 X
Windows Phone 7.5 X
Kindle Fire X X X
Nokia N900 - Firefox 1.1 X

On a desktop browser the mouse can be used to simulate touch events with one finger. On Android 2 (and 3?) doesn't support multi-touch events, so there's no transform callback on these Android versions. Firefox 1.1 (Nokia N900) and Windows Phone 7.5 doesnt support touch events, and mouse events are badly supported.

Not all gestures are supported on every device. This matrix shows the support we have tested. This is ofcourse far from extensive. If you've tested on a different device, please let us know.

Further notes

Created by Philip Nuzhnyy. Contributions by Timothée Boucher and Matt Campbell

Add your feature suggestions and bug reports on Github.

Something went wrong with that request. Please try again.