All Projects → mohamed-badaoui → asus-touchpad-numpad-driver

mohamed-badaoui / asus-touchpad-numpad-driver

Licence: other
Activate Numpad inside the touchpad with top right corner switch

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to asus-touchpad-numpad-driver

gnome-gesture-improvements
Touchpad gesture improvements for GNOME on Wayland/X11
Stars: ✭ 53 (-73.89%)
Mutual labels:  touchpad
funcd
Daemon for functional keys (works without X11)
Stars: ✭ 14 (-93.1%)
Mutual labels:  touchpad
ASUS-TUF-Z390M-Pro-Gaming-Hackintosh
ASUS TUF Z390M-Pro Gaming (Wifi) Hackintosh [BIOS, Drivers, Kexts, Config.plist]
Stars: ✭ 25 (-87.68%)
Mutual labels:  asus
Libinput Gestures
Actions gestures on your touchpad using libinput
Stars: ✭ 3,212 (+1482.27%)
Mutual labels:  touchpad
ryzen-hackintosh
My hackintosh files & hardware info 
Stars: ✭ 19 (-90.64%)
Mutual labels:  asus
gestures
Outdated page, see GitLab link:
Stars: ✭ 21 (-89.66%)
Mutual labels:  touchpad
Asuswrt Merlin.ng
Third party firmware for Asus routers (newer codebase)
Stars: ✭ 3,400 (+1574.88%)
Mutual labels:  asus
NumPad
Number Pad (inspired by Square)
Stars: ✭ 81 (-60.1%)
Mutual labels:  numpad
ASUS-F455LD-i5-4210u
This is my laptop's backup of CLOVER EFI bootloader.
Stars: ✭ 44 (-78.33%)
Mutual labels:  asus
asusctl
Daemon and tools to control your ASUS ROG laptop. Supersedes rog-core.
Stars: ✭ 39 (-80.79%)
Mutual labels:  asus
Touchegg
Linux multi-touch gesture recognizer
Stars: ✭ 2,241 (+1003.94%)
Mutual labels:  touchpad
Hackintosh-ASUS-A455LF-Notebook
EFI Folder for ASUS A455LF-WX039D Notebook Series with Clover/OpenCore Legacy or UEFI
Stars: ✭ 27 (-86.7%)
Mutual labels:  asus
OpenCore-ASUS-ROG-MAXIMUS-XI-HERO
OpenCore configuration for ASUS ROG MAXIMUS XI HERO
Stars: ✭ 29 (-85.71%)
Mutual labels:  asus
eRCaGuy dotfiles
.bashrc file, terminal prompt that shows current git branch, Arduino setup, Eclipse setup, git diff with line numbers, helpful scripts, improved Linux productivity, etc.
Stars: ✭ 84 (-58.62%)
Mutual labels:  touchpad
g14control
A small tray app to control Asus Zephyrus G14 power options
Stars: ✭ 31 (-84.73%)
Mutual labels:  asus
AbsoluteTouch
Turns your Synaptics touchpad into a tablet. Kind of.
Stars: ✭ 32 (-84.24%)
Mutual labels:  touchpad
asus-fan
Kernel module to get/set (both) fan speed(s) on ASUS Zenbooks
Stars: ✭ 92 (-54.68%)
Mutual labels:  asus
windows-touchpad
Make use of touchpad for handwriting in Windows
Stars: ✭ 30 (-85.22%)
Mutual labels:  touchpad
aura-sdk
ASUS's Aura Sync Node.js bindings
Stars: ✭ 44 (-78.33%)
Mutual labels:  asus
cAndroid
cAndroid is tool for control your PC by Android phone
Stars: ✭ 23 (-88.67%)
Mutual labels:  touchpad

Asus touchpad numpad driver

Without % = symbols With % = symbols With % = symbols (but incompatible with the non-universal version)
Model/Layout = ux433fa Model/Layout = m433ia Model/Layout = ux581l
without % = symbols with % = symbols model ux581

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models. When running the script, use as an argument one of the strings ux433fa or m433ia or `ux581l to select the layout that fits your touchpad. You can inspect the different layouts here.

This python driver has been tested and works fine for these asus versions at the moment:

  • M433IA (with % and = symbols)
  • R424DA (without extra symbols)
  • ROG Strix G15 2021
  • S413DA (with % and = symbols)
  • TM420 (with % and = symbols)
  • UM425I (with % and = symbols)
  • UM425IA (with % and = symbols)
  • UM425UA (with % and = symbols)
  • UM431DA (without extra symbols)
  • UM433DA (with % and = symbols)
  • UX425EA (with % and = symbols)
  • UX425JA (with % and = symbols)
  • UX434FA (with % and = symbols)
  • UX463FL (with % and = symbols)
  • UX463FA (with % and = symbols)
  • UM462DA (without extra symbols)
  • UX433 (without extra symbols)
  • UX431F (without extra symbols)
  • UX393 (with % and = symbols)
  • UX371E (With % and = symbols)
  • UX362-FA (without extra symbols)
  • UX363EA (with % and = symbols)
  • UX363JA (with % and = symbols)
  • UX333FA (without extra symbols)
  • UX325EA (with % and = symbols)
  • UM325UA (with % and = symbols)
  • X412DA (without extra symbols)
  • UX581L (with % and = symbols)
  • Zephyrus S GX701 (with % and = symbols)

Install required packages

  • Debian / Ubuntu / Linux Mint / Pop!_OS / Zorin OS:
sudo apt install libevdev2 python3-libevdev i2c-tools git
  • Arch Linux / Manjaro:
sudo pacman -S libevdev python-libevdev i2c-tools git
  • Fedora:
sudo dnf install libevdev python-libevdev i2c-tools git
  • NixOS:

Add these to your /etc/nixos/configuration.nix:

# i2c for https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver
hardware.i2c.enable = true;
systemd.services.asus-touchpad-numpad = {
  description = "Activate Numpad inside the touchpad with top right corner switch";
  documentation = ["https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver"];
  path = [ pkgs.i2c-tools ];
  script = ''
    cd ${pkgs.fetchFromGitHub {
      owner = "mohamed-badaoui";
      repo = "asus-touchpad-numpad-driver";
      # These needs to be updated from time to time
      rev = "d80980af6ef776ee6acf42c193689f207caa7968";
      sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
    }}
    # In the last argument here you choose your layout.
    ${pkgs.python3.withPackages(ps: [ ps.libevdev ])}/bin/python asus_touchpad.py ux433fa
  '';
  # Probably needed because it fails on boot seemingly because the driver
  # is not ready yet. Alternativly, you can use `sleep 3` or similar in the
  # `script`.
  serviceConfig = {
    RestartSec = "1s";
    Restart = "on-failure";
  };
  wantedBy = [ "multi-user.target" ];
};

Then enable i2c

sudo modprobe i2c-dev
sudo i2cdetect -l

Now you can get the latest ASUS Touchpad Numpad Driver for Linux from Git and install it using the following commands.

git clone https://github.com/mohamed-badaoui/asus-touchpad-numpad-driver
cd asus-touchpad-numpad-driver
sudo ./install.sh

To turn on/off numpad, tap top right corner touchpad area. To adjust numpad brightness, tap top left corner touchpad area.

To uninstall, just run:

sudo ./uninstall.sh

Troubleshooting

To activate logger, do in a console:

LOG=DEBUG sudo -E ./asus_touchpad.py

For some operating systems with boot failure (Pop!OS, Mint, ElementaryOS, SolusOS), before installing, please uncomment in the asus_touchpad.service file, this following property and adjust its value:

# ExecStartPre=/bin/sleep 2

It is an adaptation made thanks to:

For any question, please do not hesitate to follow this tread discussion (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1810183)

Thank you very much to all the contributors, mainly on launchpad, who made this device driver possible. (Kawaegle, David/magellan-2000, Pilot6/hanipouspilot, Julian Oertel /clunphumb, YannikSc and so many others. GG!)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].