<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><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#c4">Comment # 4</a>
              on <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">bug 99800</a>
              from <span class="vcard"><a class="email" href="mailto:peter.hutterer@who-t.net" title="Peter Hutterer <peter.hutterer@who-t.net>"> <span class="fn">Peter Hutterer</span></a>
</span></b>
        <pre>You're not misinterpreting it, that's pretty much the suggestion. But one of
the things we disagree on is that I think it's required to have different e.g.
AXIS events since anything from an automated source is slightly different than
the hardware. My argument is that the decision whether the two are the same or
not should be done in the compositor where we have more contextual information
about what to handle and where.

libinput's API is stable and well-documented (and not that big if you leave out
the configuration bits), so even emulating the same behaviour from some other
library would be trivial. But above all, pushing this to the compositor really
makes it possible to be a lot more flexible in what data to accept. libinput is
severely restricted there, not least because it doesn't have any config files
to instruct it what to use (so you'd be relying on the compositor there again).

>From personal experience, it certainly feels like every shortcut I've ever
taken with input drivers has come back and bitten me in an inconvenient place.
That's one reason I'm very cautious.

---

Technical bits: the udev device may be null, correct. but I think callers
started 'relying' on extra information. e.g libinput won't tell you whether a
device is a mouse or touchpad but you can get that information from udev. Not
having a udev device is not a killer, but affects how your device is handled.

Absolute events won't work either because you cannot rely on windows being in
the correct place at any time. Works better than relative, but it's no
guarantee and any change to the compositor may break things. Again - an
argument for being in the compositor where you can influence things.

Regarding the specific issue, look at <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - RFE: extra option to define the vdist/hdist for scrolling event"
   href="show_bug.cgi?id=92772">Bug 92772</a>, that may help.</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>