<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wl_fixed is not precise enough for high dpi mice"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=85715#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - wl_fixed is not precise enough for high dpi mice"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=85715">bug 85715</a>
              from <span class="vcard"><a class="email" href="mailto:jadahl@gmail.com" title="Jonas Ådahl <jadahl@gmail.com>"> <span class="fn">Jonas Ådahl</span></a>
</span></b>
        <pre>(In reply to Pekka Paalanen from <a href="show_bug.cgi?id=85715#c1">comment #1</a>)
<span class="quote">> Can we fix this by just changing from wl_fixed_t type to double in Weston
> for computing and storing the pointer location, or does the rounding to zero
> happen already in libinput?</span >

Libinput works with double's internally so nothing should have been shaved off.

<span class="quote">> 
> This is actually a very good issue to notice *before* we stabilized the
> pointer-lock Wayland protocol extension, because it raises the question
> whether wl_fixed_t is appropriate for the relative motion events or do we
> need a more precise value type.</span >

If deltas and coordinates in wl_fixed_t is enough for clients to work properly,
we could just cut off the left over fraction from converting from double to
wl_fixed_t and append it to the next event. This would fix the issue of small
movements being dropped. What it wouldn't fix is clients receiving these small
movements, and to fix that we either need a new larger data type in the Wayland
wire protocol, or have a non-fraction and fraction values as separate ints or
something.</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>