diff options
author | John Stultz <john.stultz@linaro.org> | 2012-02-03 03:19:07 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-02-03 03:24:58 -0500 |
commit | a80b83b7b8456e9b475346c2e01d7e210883208c (patch) | |
tree | fb05acce28923e0e62b1b13cd39b9e1eee9bd0ae /include/linux/input.h | |
parent | 4065d1e7b2164cff4af57b58fac887df2fe75d2a (diff) |
Input: add infrastructure for selecting clockid for event time stamps
As noted by Arve and others, since wall time can jump backwards, it is
difficult to use for input because one cannot determine if one event
occurred before another or for how long a key was pressed.
However, the timestamp field is part of the kernel ABI, and cannot be
changed without possibly breaking existing users.
This patch adds a new IOCTL that allows a clockid to be set in the
evdev_client struct that will specify which time base to use for event
timestamps (ie: CLOCK_MONOTONIC instead of CLOCK_REALTIME).
For now we only support CLOCK_MONOTONIC and CLOCK_REALTIME, but
in the future we could support other clockids if appropriate.
The default remains CLOCK_REALTIME, so we don't change the ABI.
Signed-off-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Daniel Kurtz <djkurtz@google.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'include/linux/input.h')
-rw-r--r-- | include/linux/input.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/input.h b/include/linux/input.h index 3862e32c4eeb..177261ea6f52 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -129,6 +129,8 @@ struct input_keymap_entry { | |||
129 | 129 | ||
130 | #define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */ | 130 | #define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */ |
131 | 131 | ||
132 | #define EVIOCSCLOCKID _IOW('E', 0xa0, int) /* Set clockid to be used for timestamps */ | ||
133 | |||
132 | /* | 134 | /* |
133 | * Device properties and quirks | 135 | * Device properties and quirks |
134 | */ | 136 | */ |