<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><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> changed
          <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Combined Keyboard+Mouse+Touchpad device problems"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99914">bug 99914</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Assignee</td>
           <td>wayland-bugs@lists.freedesktop.org
           </td>
           <td>peter.hutterer@who-t.net
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Product</td>
           <td>Wayland
           </td>
           <td>xorg
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Component</td>
           <td>libinput
           </td>
           <td>Input/libinput
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">QA Contact</td>
           <td>
                
           </td>
           <td>xorg-team@lists.x.org
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Combined Keyboard+Mouse+Touchpad device problems"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99914#c10">Comment # 10</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Combined Keyboard+Mouse+Touchpad device problems"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=99914">bug 99914</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>(In reply to Gergely Nagy from <a href="show_bug.cgi?id=99914#c9">comment #9</a>)
<span class="quote">> (In reply to Peter Hutterer from <a href="show_bug.cgi?id=99914#c7">comment #7</a>)

> > for all absolute events, libinput scales it based on the abs min/max values.
> > without BTN_TOOL_FINGER, the device won't be recognised as touchpad and
> > default to absolute pointer (similar to e.g. VM virtual mouse). That should
> > work with libinput, but the libinput xorg driver (should) ignore the abs
> > events then, it can only handle one type of pointer. once you add
> > BTN_TOOL_FINGER it'll be a touchpad and you'll lose the rel bits (and key
> > bits).

> Yeah, the abs events are ignored, that's why I tried to hack the xorg driver
> a bit, to at least let it through.

> So, if I understand correctly, if I separated the rel & abs mouse stuff,
> into two different nodes, then both of them should work? (Assuming the
> absolute mouse part reports itself properly)</span >

yes. This is more of an X problem than a libinput problem because, well, 30
years ago a device couldn't be a pointer and a touchscreen at the same time ;)
that's stereotyping it of course, but at least it's more fun than the real
reasons

if you look at the xf86-input-libinput code you'll notice we split devices with
keyboard & pointer on the same node into two X devices and route the events
accordingly. same reason, basically.

<span class="quote">> > so the device is detected, but xf86-input-libinput cannot handle both
> > relative and absoluute at the same time. That's a known bug, I tried to fix
> > that the other way but aside from your device there isn't really a true need
> > for it right now :)

> There are two keyboards in the making with this firmware (the Shortcut[0],</span >

haha, I thought Shortcut was just a leftover like "ToBeFilledIn" :)

<span class="quote">> and the Keyboardio Model 01[1]), with hopefully more to follow. If you think
> it would be worth it, I can try digging into xf86-input-libinput, to try and
> add support for both abs and rel devices. If not, then I'll try to make the
> firmware report the two parts as two nodes.</span >

I only worked on this a couple of days ago but didn't finish it. Please
continue from here, it has most of the infrastructure in place but needs the
actual testing and detail work:
<a href="https://github.com/whot/xf86-input-libinput/tree/wip/split-absrel-pointers">https://github.com/whot/xf86-input-libinput/tree/wip/split-absrel-pointers</a>


<span class="quote">> Understood. So, it appears this is not a libinput thing, but an
> xf86-input-libinput limitation. And there are two options going forward:

> - Report the keyboard+mouse parts as one device, absmouse as another, and
> hope for the best.</span >

for general compatilibity, this is the best option

<span class="quote">> - Improve xf86-input-libinput to handle the rel+abs on the same node case.

> Either way, this issue is not with libinput, and can be closed, I suppose.
> Thanks a lot for your help, it's much clearer now how this whole thing
> works! I'll experiment with both options, and if it comes to that, will open
> an issue on xf86-input-libinput.</span >

don't worry about it, I'll just reassign this one.</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>