[RFC/PATCH] Pointer barrier events (XI 2.3)

Peter Hutterer peter.hutterer at who-t.net
Thu Dec 6 22:25:04 PST 2012

This is the protocol and client-side for the proposed XI 2.3 extension for
pointer barrier events and barrier release requests. This feature adds two
- if a pointer hits a barrier, events are sent to selected clients
- a client may "release" the pointer, allowing it to pass through the
  barrier with the next movement.

This enables two distinct user-visible features:
- hot corners/edges that respond to pushing against them (GNOME3 wants this)
- ad-hoc transparent barriers, so that depending on the speed of the
  pointer the user can move through the barrier (Unity wants this)

Potential/current issues:
- grab behaviour is different to other events
- loss of predictable pointer acceleration across a barrier. In my tests, I
  have not found this to be noticable
- device-specific release has not yet been implemented
- one of the passive grab tests currently fails

For a full view of the
development history plus server and tests see the following repos:

git://people.freedesktop.org/~whot/inputproto.git :barriers
git://people.freedesktop.org/~whot/libXi.git :barriers
git://people.freedesktop.org/~whot/xserver.git :barriers
git://people.freedesktop.org/~whot/xorg-integration-tests.git :barriers

Many thanks to Jasper and Chris, who did most of the work here.

I think this is a valuable addition to 1.14, unless someone can find
significant issues with the protocol as it is proposed here. Should we merge
this for 1.14, I do reserve the right to disable this feature in the server
before the release, unless we have a credible client-side implementation.
We've learned the lesson with smooth scrolling that a server-implementation
only is not good enough.

Comments appreciated.


More information about the xorg-devel mailing list