<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>