summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ui/input.h1
-rw-r--r--ui/input.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/include/ui/input.h b/include/ui/input.h
index c6f50c2440..28afc45c04 100644
--- a/include/ui/input.h
+++ b/include/ui/input.h
@@ -41,6 +41,7 @@ void qemu_input_queue_btn(QemuConsole *src, InputButton btn, bool down);
void qemu_input_update_buttons(QemuConsole *src, uint32_t *button_map,
uint32_t button_old, uint32_t button_new);
+bool qemu_input_is_absolute(void);
int qemu_input_scale_axis(int value, int size_in, int size_out);
InputEvent *qemu_input_event_new_move(InputEventKind kind,
InputAxis axis, int value);
diff --git a/ui/input.c b/ui/input.c
index fd2293b399..01991cb2c0 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -181,6 +181,14 @@ void qemu_input_update_buttons(QemuConsole *src, uint32_t *button_map,
}
}
+bool qemu_input_is_absolute(void)
+{
+ QemuInputHandlerState *s;
+
+ s = qemu_input_find_handler(INPUT_EVENT_MASK_REL | INPUT_EVENT_MASK_ABS);
+ return (s != NULL) && (s->handler->mask & INPUT_EVENT_MASK_ABS);
+}
+
int qemu_input_scale_axis(int value, int size_in, int size_out)
{
if (size_in < 2) {