Same as bug #79056 but for mice. The pointer acceleration uses device-specific input data to apply acceleration. That data is resolution-dependent, the deltas provided by a low-resolution mouse are less than the ones provide by a high-resolution mouse. This causes high-resolution mice to max out the pointer acceleration quickly, effectively running at maximum acceleration at all times. The main difficulty here is: devices do not allow detection of the actual resolution, maintaining a database of all devices with a non-standard resolution is going to be difficult. Even unclear if it's possible at all, what if devices share USB IDs? Good suggestions welcome.
Patches leading up to 79898da377ba58857be0bd104de694eb1e66f41f allow for a DPI setting on the device now, currently always the default.
At some point I do think we'll need some manner of DPI configuration API - I have a mouse here with a three way switch (a real physical switch on the bottom of the mouse) between 450, 1800, 3500 dpi. I think ideally the mythical udev database of mice and their DPI would enumerate all 3, and libinput would allow selecting one of the pre-defined ones? Since that infrastructure doesn't exist today, I'm not sure how to proceed.
libinput's config APIs are for run-time changes of user-specific settings. I don't think DPI really falls into that category, it's a HW property, even when it's variable. So it looks like we need _some_ API to change it (udev properties?), I'm not yet convinced that a proper API is needed. What could work for those devices is to mark them as variable resolution and pick one resolution as the default. This also replicates the functionality as advertised by the vendor that changing the resolution changes the speed of the mouse. Maybe something like LIBINPUT_MOUSE_DPI="800" for a normal mouse and LIBINPUT_MOUSE_DPI="v800" for variable resolution.
As of 3c7e3a19735b64eaa7937035d026b62c5fccbf5c, libinput assumes a default of 1000dpi and reads the actual dpi from the udev property if available. See the udev hwdb file for more info http://cgit.freedesktop.org/systemd/systemd/tree/hwdb/70-mouse.hwdb
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.