<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Some way to inject automated libinput events?"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99800">99800</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Some way to inject automated libinput events?
</td>
</tr>
<tr>
<th>Product</th>
<td>Wayland
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>All
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>libinput
</td>
</tr>
<tr>
<th>Assignee</th>
<td>wayland-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ryan.hendrickson@alum.mit.edu
</td>
</tr></table>
<p>
<div>
<pre>I can think of three broad use cases for having a way to generate fake input
events for applications: productivity automation, GUI testing, and mapping
input devices that libinput doesn't/shouldn't support, like joypads. For some
forms of input, like keyboard key presses, the evdev interface is sufficient
for this; automation tools can create a new evdev device and provide key
presses and button clicks. But for input events that libinput creates out of
lower-level evdev data--I'm thinking of multitouch gestures and scrolling in
particular--simulating these events from evdev data is not only a major pain,
but also relies on the internal details of how libinput decides to interpret
pressure and motion this week.
I don't know enough about the Wayland arch design to have an opinion on how
this should work, other than that there should be some way for programs,
possibly with elevated privilege, to generate events that libinput can forward
verbatim to Wayland/any other libinput host, especially events like smooth
scrolling and gestures.
(Background: I mentioned three use cases above, but the third is the one that
really brought me here. I like using a gamepad as an input device in X, and
while I don't expect libinput to handle gamepads in general (given the
explicitly low-configuration design that you guys seem to favor), I do want to
be able to write a daemon that listens for joystick input and generates
libinput events. And particularly--this is something that xf86-input-joystick
doesn't do--I'd love for one of the analog thumbsticks to generate smooth
scrolling events like two-finger swipes do, instead of discrete events like old
mouse wheels.)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>