<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - IBM Scrollpoint mouse: libinput mouse scrolling speed insanely fast"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=106036#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - IBM Scrollpoint mouse: libinput mouse scrolling speed insanely fast"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=106036">bug 106036</a>
              from <span class="vcard"><a class="email" href="mailto:peter.ganzhorn@gmail.com" title="peter.ganzhorn@gmail.com">peter.ganzhorn@gmail.com</a>
</span></b>
        <pre>Thanks for the details, I think I understood how it should/can be done.
I added the following:

90-libinput-model-quirks.hwdb:
libinput:mouse:b0003v04B3p3100*
libinput:mouse:b0003v04B3p3103*
libinput:mouse:b0003v04B3p3105*
libinput:mouse:b0003v04B3p3108*
libinput:mouse:b0003v04B3p3109*
libinput:mouse:b0003v17EFp6049*
 LIBINPUT_MODEL_SCROLLPOINT=1

evdev.h:
added EVDEV_MODEL_SCROLLPOINT = (1 << 31), to enum evdec_device_model

evdec.c:
added MODEL(SCROLLPOINT), to model_map in evdev_read_model_flags()


which should make me able to add a quirk to fallback_process_relative().
For quick testing I just added
        if (device->model_flags & EVDEV_MODEL_SCROLLPOINT) { /* PGZH */
                if (e->code == REL_WHEEL || e->code == REL_HWHEEL ) {
                        if ( e->value < 16 ) e->value=1;
                        if ( e->value < 32 && e->value >= 16 ) e->value=2;
                        if ( e->value < 63 && e->value >= 32 ) e->value=4;
                        if ( e->value == 63 ) e->value=8;
                }
        }

before e->code is evaluated and e->value is added to the dispatch->wheel.xy
values.

I assumed the value range to be in between 0 and 63 since this is what I see in
evemu-record.
Is this assumption correct? With the outlined changes and replacment of my
libinput.so (.10.13.0 and symlinks to .so.10 and .so of course) after building
and putting the 90-libinput-model-quirks.hwdb into /lib/udev/hwdb I don't
notice any change. Also setting e->value=1 in any case does not change
anything, so something must still be wrong.
Is the assumed range of e->value wrong (and how can I determine the correct
range easily if required) or what could still be wrong here?</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>