Touch Events

From W3C Wiki

This is a page for keeping track of notes on one or more specifications for client-side script APIs and events for pen-tablet devices, multi-touch inputs, and gestures. These specifications are intended to define an advanced pointing-device interface, to expose distinct features of specific devices such as pen/tablet inputs and multi-touch trackpads, including gesture-based events.

This is very rough first draft, pulling items from email discussions. It is by no means complete, and is intended to serve as a template for other people to add more information.

Use Cases

  • Pinching to zoom into a map
  • Dragging an element from one place to another
  • Rotating an element manually
  • Multiple people using a device simultaneously
  • Chording on a software keyboard
  • list more here

Requirements

  • Should reuse existing API wherever possible
  • Must include pressure sensitivity
  • Must include low-level APIs for position and movement
  • Must include multi-touch
  • May include high-level gestures, including but not limited to:
    • swipe
    • pinch
    • twist
  • Should consider mapping to legacy events for backwards compatibility with legacy content, if possible (e.g. "swipe left" might have left-arrow key event as default action)
  • May include accelerometer / shaking API
  • Must consider accessibility concerns (note that gesture events have the potential to improve accessibility)
  • May include a way to distinguish between multiple people using a device simulataneously

Notes

Proposals

Other Resources

In no particular order...