AndyFilter / YeetMouse

A fork of a fork of the Linux mouse driver with acceleration. Now with GUI and some other improvements!
GNU General Public License v2.0
19 stars 1 forks source link
acceleration linux mouse mouseaccel rawccel

** Running the GUI *** Prerequisites:

*** Building To build, go to the gui directory =cd gui/= and run =make=

** Starting Keep in mind that the program needs to be run with sudo privileges*. To run, simply use =sudo -E ./YeetMouseGui=

** Arch/Manjaro Since the maintainer of =LEETMOUSE= is an Arch and Manjaro user, a =PKGBUILD= has been written for seamless integration into pacman.

Installation

+begin_src sh

Create the PKGBUILD, copy associated files and run makepkg

./scripts/build_arch.sh

Run pacman on the created package

sudo pacman -U pkg/build/leetmouse*.zst

+end_src

All your mice should now be bound to this driver. They will also automatically bind to it after a reboot. If this did not work, run =sudo /usr/lib/udev/leetmouse_manage bind_all=

Uninstallation

+begin_src sh

sudo pacman -R leetmouse-driver-dkms

+end_src

All your mice should now be bound to the generic usbhid driver again.

** NixOS Please refer to [[nix/][NixOS instructions]].

** Other distros Other distributions' package-managers are not yet supported and thus need a manual installation. However Debian based systems are planned. The installation is not yet very polished but eventually will become so.

Installation

Determine the current version of this module by examining the variable =DKMS_VER= in the =Makefile=. It can be e.g. 0.9.0 Run the following commands to build and install the kernel module

+begin_src sh

Install the driver and activate the dkms module

sudo make setup_dkms && sudo make udev_install sudo dkms install -m leetmouse-driver -v 0.9.0 # Enter the version you determined from the Makefile earlier in here

+end_src

(Or you can use the built-in install script like so: =sudo ./install.sh=).

All your mice should now be bound to this driver. They will also automatically bind to it after a reboot. If this did not work, run =sudo /usr/lib/udev/leetmouse_manage bind_all= If this still does not work, there is a major problem

Uninstallation

You again need to know the =version= as described above for the installation

+begin_src sh

Unbind all mice from the driver

sudo /usr/lib/udev/leetmouse_manage unbind_all

Uninstall the driver

sudo dkms remove -m leetmouse-driver -v 0.9.0 sudo make remove_dkms && sudo make udev_uninstall

+end_src

(Or you can use the built-in uninstall script like so: =sudo ./uninstall.sh=).

Unplug and replug your mouse or reboot to have your mice bound back to the generic usbhid.

+BEGIN_HTML

Instruction Fixed-Point / FPU Mop/s ns/op Clock cycles/op
Multiplication Fixed-Point 64 542.905367 1.911 7.029038
Fixed-Point 64 (128bit) 540.682695 1.913 7.012462
FPU (double) 788.524105 1.29 4.722532
Division Fixed-Point 64 (Precise) 91.446419 11.299 41.756461
Fixed-Point 64 (128bit) 203.819151 5.097 18.797924
FPU (double) 188.035704 5.392 19.879064
Exponent Fixed-Point 64 66.550845 15.561 57.525454
Fixed-Point 64 (Fast) 92.775366 11.285 41.702182
FPU (double) 116.396443 8.741 32.276506
Sqrt Fixed-Point 64 (Precise) 18.059895 57.307 211.97892
Fixed-Point 64 64.558792 15.675 57.956097
FPU (double) 133.474534 7.9 29.179384
Pow Fixed-Point 64 31.81294 32.221 119.111214
Fixed-Point 64 (Fast) 40.524527 26.043 96.310556
FPU (double) 77.804544 17.113 63.251944
Log Fixed-Point 64 51.117073 21.033 77.768302
Fixed-Point 64 (Fast) 61.341951 16.638 61.497848
FPU (double) 53.326065 19.876 73.491065

+END_HTML

**** /More in-depth performance and precision analysis can be found [[Performance.md][here]]/.