Package Details: libinput-epp 1.31.1-1

Git Clone URL: https://aur.archlinux.org/libinput-epp.git (read-only, click to copy)
Package Base: libinput-epp
Description: Replaces Adaptive acceleration with Windows' Enhance Pointer Precision
Upstream URL: https://gitlab.freedesktop.org/tehabstract/libinput-epp
Licenses: MIT
Conflicts: libinput
Provides: libinput, libinput.so
Submitter: tehabstract
Maintainer: tehabstract
Last Packager: tehabstract
Votes: 2
Popularity: 0.27
First Submitted: 2025-10-16 22:52 (UTC)
Last Updated: 2026-04-05 14:03 (UTC)

Dependencies (14)

Required by (239)

Sources (1)

Latest Comments

ahiq21 commented on 2025-12-25 17:27 (UTC)

I appreciate the quick response either way :) Everything works now!

tehabstract commented on 2025-12-25 01:19 (UTC)

@ahiq21 Sorry about that I was creating a script to auto update it, and tested live.

Although I did absolutely zero testing for touchpads, I see split logic in libinput for touchpads and mice, your touchpad is probably enumerated as a mouse. Shouldn't be an issue Windows uses exactly the same curve for both mouse and touchpad (maybe sensitivity is different).

ahiq21 commented on 2025-12-25 00:11 (UTC)

Thank you so much for creating this package! The differing touchpad acceleration curves between Linux and Windows had been one of my biggest roadblocks from completely switching to Linux, and this completely removes that <3

I'm unable to build the new update recently though; see the log below:

[12/289] Compiling C object libinput.so.10.13.0.p/src_filter-touchpad.c.o
[13/289] Compiling C object libinput.so.10.13.0.p/src_filter-epp.c.o
FAILED: [code=1] libinput.so.10.13.0.p/src_filter-epp.c.o 
cc -Ilibinput.so.10.13.0.p -I. -I../libinput-epp-1.30.1 -I../libinput-epp-1.30.1/include -I/usr/include/libevdev-1.0 -I/usr/include/libwacom-1.0 -I/usr/include/gudev-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -Wno-error=deprecated-declarations -Wno-unused-parameter -Wmissing-prototypes -Wstrict-prototypes -Wundef -Wlogical-op -Wpointer-arith -Wuninitialized -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough -Wredundant-decls -Wincompatible-pointer-types -Wformat=2 -Wno-missing-field-initializers -Wmissing-declarations -fvisibility=hidden -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto -fPIC -pthread -MD -MQ libinput.so.10.13.0.p/src_filter-epp.c.o -MF libinput.so.10.13.0.p/src_filter-epp.c.o.d -o libinput.so.10.13.0.p/src_filter-epp.c.o -c ../libinput-epp-1.30.1/src/filter-epp.c
../libinput-epp-1.30.1/src/filter-epp.c:216:26: error: initialization of ‘struct normalized_coords (*)(struct motion_filter *, const struct device_float_coords *, void *, uint64_t,  enum filter_scroll_type)’ {aka ‘struct normalized_coords (*)(struct motion_filter *, const struct device_float_coords *, void *, long unsigned int,  enum filter_scroll_type)’} from incompatible pointer type ‘struct normalized_coords (*)(struct motion_filter *, const struct device_float_coords *, void *, uint64_t)’ {aka ‘struct normalized_coords (*)(struct motion_filter *, const struct device_float_coords *, void *, long unsigned int)’} [-Wincompatible-pointer-types]
  216 |         .filter_scroll = accelerator_filter_noop_epp,
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libinput-epp-1.30.1/src/filter-epp.c:216:26: note: (near initialization for ‘accelerator_interface_epp.filter_scroll’)
../libinput-epp-1.30.1/src/filter-epp.c:167:1: note: ‘accelerator_filter_noop_epp’ declared here
  167 | accelerator_filter_noop_epp(struct motion_filter *filter,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
[14/289] Linking static target libquirks.a
[15/289] Compiling C object libinput.so.10.13.0.p/src_filter-touchpad-x230.c.o
[16/289] Compiling C object libinput.so.10.13.0.p/src_filter-mouse.c.o
[17/289] Compiling C object libinput.so.10.13.0.p/src_filter-tablet.c.o
[18/289] Compiling C object libinput.so.10.13.0.p/src_filter-touchpad-flat.c.o
[19/289] Compiling C object libinput.so.10.13.0.p/src_filter-trackpoint.c.o
[20/289] Compiling C object libinput.so.10.13.0.p/src_filter-trackpoint-flat.c.o
[21/289] Compiling C object libinput.so.10.13.0.p/src_libinput-plugin.c.o
[22/289] Compiling C object libinput.so.10.13.0.p/src_libinput.c.o
../libinput-epp-1.30.1/src/libinput.c: In function ‘libinput_config_accel_create’:
../libinput-epp-1.30.1/src/libinput.c:4426:9: warning: enumeration value ‘LIBINPUT_CONFIG_ACCEL_PROFILE_EPP’ not handled in switch [-Wswitch]
 4426 |         switch (profile) {
      |         ^~~~~~
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /var/tmp/pamac-build-cactus/libinput-epp/src/build
==> ERROR: A failure occurred in build().
    Aborting...

Please let me know if you need any additional information from me! I'm using Manjaro, if that is important to note.