<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#c5">Comment # 5</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:ppaalanen@gmail.com" title="Pekka Paalanen <ppaalanen@gmail.com>"> <span class="fn">Pekka Paalanen</span></a>
</span></b>
        <pre>(In reply to Derek Foreman from <a href="show_bug.cgi?id=85715#c3">comment #3</a>)
<span class="quote">> Actually, I think even normalized, with the most ridiculous mouse I've seen
> (8200dpi) it's still like .049 units per "dot" without the accel curve's
> intervention.  If I'm doing my math right we're good to 102400DPI before we
> can't represent a dot in the absence of an accel curve.  I don't think
> anyone will argue a need for that.  It won't be me in any event.

> Storing doubles internally and sending wl_fixed over the wire seems like it
> should be a solution to me.</span >

I missed something. Why don't you see a problem with relative motion, when you
filed this bug in the first place? Assuming both would use wl_fixed_t.

Or was the comment not about relative motion events?

(In reply to Jonas Ã…dahl from <a href="show_bug.cgi?id=85715#c2">comment #2</a>)
<span class="quote">> 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.</span >

I'd rather not go mangling the event data like this. I can't explain it, but it
feels "dirty". You do not deliver all of a physical (raw) event, but let it
somehow affect following events, that is, the physical vs. protocol events are
not exactly N:1. I can't give an example when that matters. I do expect, that
not all clients will linearly accumulate the relative motion. They could do
something else, like control a 3D-rotation where the order of operations
matters. I just have a feeling that "carrying fractions over" will shoot
someone's foot in the future.

<span class="quote">> 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.</span >

Yeah. Let's go with this. For instance, int32_t for integer part plus uint32_t
for fractional part. It takes the same amount of bytes as a double. It's
simple. It's obvious. It's not surprising.</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>