[PATCH libinput tablet] tablet: add get_time_usec() for tablets, switch to usec
Peter Hutterer
peter.hutterer at who-t.net
Mon Aug 3 21:10:16 PDT 2015
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/evdev-tablet.c | 16 ++++++++--------
src/libinput-private.h | 6 +++---
src/libinput.c | 14 ++++++++++----
src/libinput.h | 9 +++++++++
src/libinput.sym | 1 +
5 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c
index 2904fbb..851d49d 100644
--- a/src/evdev-tablet.c
+++ b/src/evdev-tablet.c
@@ -107,7 +107,7 @@ static void
tablet_process_absolute(struct tablet_dispatch *tablet,
struct evdev_device *device,
struct input_event *e,
- uint32_t time)
+ uint64_t time)
{
enum libinput_tablet_axis axis;
@@ -316,7 +316,7 @@ get_delta(enum libinput_tablet_axis axis, double current, double old)
static void
tablet_check_notify_axes(struct tablet_dispatch *tablet,
struct evdev_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool)
{
struct libinput_device *base = &device->base;
@@ -478,7 +478,7 @@ static void
tablet_process_key(struct tablet_dispatch *tablet,
struct evdev_device *device,
struct input_event *e,
- uint32_t time)
+ uint64_t time)
{
switch (e->code) {
case BTN_TOOL_PEN:
@@ -521,7 +521,7 @@ static void
tablet_process_relative(struct tablet_dispatch *tablet,
struct evdev_device *device,
struct input_event *e,
- uint32_t time)
+ uint64_t time)
{
enum libinput_tablet_axis axis;
@@ -551,7 +551,7 @@ static void
tablet_process_misc(struct tablet_dispatch *tablet,
struct evdev_device *device,
struct input_event *e,
- uint32_t time)
+ uint64_t time)
{
switch (e->code) {
case MSC_SERIAL:
@@ -779,7 +779,7 @@ tablet_get_tool(struct tablet_dispatch *tablet,
static void
tablet_notify_button_mask(struct tablet_dispatch *tablet,
struct evdev_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
const unsigned char *buttons,
unsigned int buttons_len,
@@ -805,7 +805,7 @@ tablet_notify_button_mask(struct tablet_dispatch *tablet,
static void
tablet_notify_buttons(struct tablet_dispatch *tablet,
struct evdev_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
enum libinput_button_state state)
{
@@ -864,7 +864,7 @@ sanitize_tablet_axes(struct tablet_dispatch *tablet)
static void
tablet_flush(struct tablet_dispatch *tablet,
struct evdev_device *device,
- uint32_t time)
+ uint64_t time)
{
struct libinput_tool *tool =
tablet_get_tool(tablet,
diff --git a/src/libinput-private.h b/src/libinput-private.h
index 69ed26e..d9ba7d2 100644
--- a/src/libinput-private.h
+++ b/src/libinput-private.h
@@ -432,7 +432,7 @@ touch_notify_frame(struct libinput_device *device,
void
tablet_notify_axis(struct libinput_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
unsigned char *changed_axes,
double *axes,
@@ -441,7 +441,7 @@ tablet_notify_axis(struct libinput_device *device,
void
tablet_notify_proximity(struct libinput_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
enum libinput_tool_proximity_state state,
unsigned char *changed_axes,
@@ -449,7 +449,7 @@ tablet_notify_proximity(struct libinput_device *device,
void
tablet_notify_button(struct libinput_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
double *axes,
int32_t button,
diff --git a/src/libinput.c b/src/libinput.c
index 3557b8f..46578fe 100644
--- a/src/libinput.c
+++ b/src/libinput.c
@@ -130,7 +130,7 @@ struct libinput_event_tablet {
uint32_t button;
enum libinput_button_state state;
uint32_t seat_button_count;
- uint32_t time;
+ uint64_t time;
double axes[LIBINPUT_TABLET_AXIS_MAX + 1];
double deltas[LIBINPUT_TABLET_AXIS_MAX + 1];
double deltas_discrete[LIBINPUT_TABLET_AXIS_MAX + 1];
@@ -1022,6 +1022,12 @@ libinput_event_tablet_get_proximity_state(struct libinput_event_tablet *event)
LIBINPUT_EXPORT uint32_t
libinput_event_tablet_get_time(struct libinput_event_tablet *event)
{
+ return us2ms(event->time);
+}
+
+LIBINPUT_EXPORT uint64_t
+libinput_event_tablet_get_time_usec(struct libinput_event_tablet *event)
+{
return event->time;
}
@@ -1841,7 +1847,7 @@ touch_notify_frame(struct libinput_device *device,
void
tablet_notify_axis(struct libinput_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
unsigned char *changed_axes,
double *axes,
@@ -1876,7 +1882,7 @@ tablet_notify_axis(struct libinput_device *device,
void
tablet_notify_proximity(struct libinput_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
enum libinput_tool_proximity_state proximity_state,
unsigned char *changed_axes,
@@ -1910,7 +1916,7 @@ tablet_notify_proximity(struct libinput_device *device,
void
tablet_notify_button(struct libinput_device *device,
- uint32_t time,
+ uint64_t time,
struct libinput_tool *tool,
double *axes,
int32_t button,
diff --git a/src/libinput.h b/src/libinput.h
index 212ee35..d983455 100644
--- a/src/libinput.h
+++ b/src/libinput.h
@@ -1544,6 +1544,15 @@ libinput_event_tablet_get_time(struct libinput_event_tablet *event);
/**
* @ingroup event_tablet
*
+ * @param event The libinput tablet event
+ * @return The event time for this event in microseconds
+ */
+uint64_t
+libinput_event_tablet_get_time_usec(struct libinput_event_tablet *event);
+
+/**
+ * @ingroup event_tablet
+ *
* Return the type of tool type for a tool object
*
* @param tool The libinput tool
diff --git a/src/libinput.sym b/src/libinput.sym
index 1529547..8480024 100644
--- a/src/libinput.sym
+++ b/src/libinput.sym
@@ -191,6 +191,7 @@ LIBINPUT_TABLET_SUPPORT {
libinput_event_tablet_get_tool;
libinput_event_tablet_get_x_transformed;
libinput_event_tablet_get_y_transformed;
+ libinput_event_tablet_get_time_usec;
libinput_tool_get_serial;
libinput_tool_get_tool_id;
libinput_tool_get_type;
--
2.4.3
More information about the wayland-devel
mailing list