Created by Chase Douglas and last modified
Get this branch:
bzr branch lp:~oif-team/grail/cooperate-with-xi2.1
Members of Open Input Framework Team can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Open Input Framework Team

Recent revisions

110. By Chase Douglas

Add in time boundaries for recognition

50 ms: Minimum time waiting for touch configuration to settle before
         flushing touch events to X. We don't want a two finger gesture
         triggering X events for the first finger before the second finger

200 ms: Maximum time for touches to begin a gesture. If no gesture is
         found within this time period, the events are flushed to X.

If after 50 ms there are no possible gestures for the number of active
touches, the events are immediately flushed to X.

If events are flushed to X, no more gesture recognition is possible until
all touches are lifted. Likewise, if any gesture is recognized, no events
may be flushed to X until all touches are lifted.

109. By Chase Douglas

Remove pointer emulation, X will handle it

108. By Chase Douglas

Small compilation warning fixes

Found by using -Wall -Werror

107. By Henrik Rydberg

Bump to v1.0.18

The grail symbols are intact and abi compatible, whereas the remaining
symbols, which should not really be present, have all been
removed. Since the remaining symbols represent the actual official
API, this is not considered an ABI breakage.

106. By Henrik Rydberg

Only export the intended grail symbols

In the making of grail1, the intention was never that the
gin, gru and touch symbols be exported. Rectify this by adding
an explicit symbols file used during linking.

105. By Henrik Rydberg

Replace touch logic with utouch frame engine

The original grail uses an internal touch framework and exports some
touch information as extended attributes to gesture events. This was
never quite the intention, but rather to expose gestures and touches
on a similar footing, such that grail can be input agnostic. This
patch starts off by replacing the internal touch framework with the
utouch-frame engine.

104. By Henrik Rydberg

Prepare for queued event handling

The current grail operates via callbacks. In order to make grail work
as a pipe, where input and output can be controlled externally, add
the missing event queue for gestures, and align the code to simplify a

103. By Henrik Rydberg

Move test program to tools directory

The current test programs are tools rather than automatic tests. To
conform better to the the usage of "make check", move the current
tools over the appropriate directory. Also drop the grail-touch
program, as it will be replaced by the utouch-frame package.

102. By Henrik Rydberg

grail v1.0.17

101. By Henrik Rydberg

Use a unified pointer emulation model

The existing kernel MT devices together use a handful of different
pointer emulation strategies, each with its own subtlety. This creates
a problem for grail, which needs to rebuild pointer emulation during
gesture recognition; relying on the correct pointer information to be
available at the right time becomes almost impossible.

This patch implements a common pointer emulation model for grail,
following a strategy recently discussed on LKML. This resolves the
problems stemming from different emulation strategies, and results
in a common pointer emulation experience for all devices.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.