Where
Make sure to have these dependencies installed on your machine:
curl
, git
, make
, dkms
, and the linux headers in /lib/modules/
You might also, and you probably don't, have to install gcc
or clang
depending on with which your distro's kernel was built.
curl -fsSL https://www.maccel.org/install.sh | sudo sh
git clone https://github.com/Gnarus-G/maccel
cd maccel
makepkg -si
Run modprobe maccel
after installing or add modprobe_on_install=true
to your dkms
config file (usually located at /etc/dkms/framework.conf) to automatically modprobe after installing
a dkms module.
Optionally, add yourself to the maccel group using usermod -aG maccel $USER
after installing,
if you want to run maccel
without running as root.
sh /opt/maccel/uninstall.sh
Or
curl -fsSL https://www.maccel.org/uninstall.sh | sudo sh
CLI to control the parameters for the maccel driver
Usage: maccel [COMMAND]
Commands:
tui Open the Terminal UI to manage the parameters and see a graph of the sensitivity
set Set the value for a parameter of the maccel driver
get Get the values for parameters of the maccel driver
completion Generate a completions file for a specified shell
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
One should disable the acceleration done by default in some distros, e.g. by xset
or libinput
.
Full Guide
Here is Breakdown of why and how I ended up making this
You want to make sure that /lib/modules/
is not empty. For example mine looks like this:
total 0
drwxr-xr-x 1 root root 114 Jan 29 17:59 .
drwxr-xr-x 1 root root 159552 Jan 29 22:39 ..
drwxr-xr-x 1 root root 10 Jan 29 17:59 6.6.14-1-lts
drwxr-xr-x 1 root root 12 Jan 29 17:59 6.7.0-zen3-1-zen
drwxr-xr-x 1 root root 494 Jan 29 17:59 6.7.2-arch1-1
drwxr-xr-x 1 root root 494 Jan 31 21:54 6.7.2-zen1-1-zen
You want to find headers that match your kernel as represented by
uname -r
On an arch based distro you search for the available headers with
pacman -Ss linux headers
The version matters, it must match the version with which the kernel was built.
For example you might encounter such an error:
And you'll have to find a version of gcc
that matches. This will be more or less annoying
depending on your distro and/or how familiar you are with it.
- https://lwn.net/Kernel/LDD3/
- https://www.kernel.org/doc/html/latest/input/index.html
- https://github.com/a1xd/rawaccel/blob/master/doc/Guide.md
- https://github.com/Skyl3r/leetmouse/blob/master/driver/accel.c
- https://sourceforge.net/p/fixedptc/code/ci/default/tree/
- https://github.com/torvalds/linux/blob/master/drivers/input/evdev.c
- https://github.com/freedesktop-unofficial-mirror/evtest/blob/master/evtest.c
- https://docs.kernel.org/input/input-programming.html
- https://www.kernel.org/doc/Documentation/input/input.txt
- https://docs.kernel.org/driver-api/input.html
- https://linux-kernel-labs.github.io/refs/heads/master/labs/device_drivers.html
- https://www.youtube.com/watch?v=oX9ZwMQL2f4
- https://gist.github.com/fstiehle/17fca11d7d1b4c2b8dfd982e1cf39caf
First off, I apreciate you. Now here are some guidelines:
Subject line:
- First letter is capitalized
- Imperative tense (e.g. "Add ...", not "Added ..." or "Adds ...")
- Include as much detail as you can.