Activate Numpad inside the touchpad with top right corner switch or F8 key

Overview

Asus touchpad numpad driver

Without % = symbols With % = symbols
without % = symbols with % = symbols

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

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

  • M433IA (with % and = symbols)
  • TM420 (with % and = symbols)
  • UM433DA (with % and = symbols)
  • UX425EA (with % and = symbols)
  • UX425JA (with % and = symbols)
  • UX434FA (with % and = 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)
  • UX333FA (without extra symbols)
  • UX325EA (with % and = symbols)
  • X412DA (without extra symbols)

Install required packages

sudo aptitude install libevdev2 i2c-tools
sudo modprobe i2c-dev
sudo i2cdetect -l

You need to install the python libevdev package, run install.sh and reboot (or start the service).

sudo pip3 install libevdev
sudo chmod +x ./install.sh
sudo ./install.sh

To turn on/off numpad, tap top right corner touchpad area or F8 key.

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. (David/magellan-2000, Pilot6/hanipouspilot, Julian Oertel /clunphumb and so many others. GG!)

Comments
  • Asus zenbook ubuntu os 5.10

    Asus zenbook ubuntu os 5.10

    hello, when i run the command i've:

    i2c-3 i2c i915 gmbus dpb I2C adapter i2c-1 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-6 i2c i915 gmbus dpd I2C adapter i2c-4 i2c i915 gmbus dpc I2C adapter i2c-2 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-0 smbus SMBus I801 adapter at efa0 SMBus adapter i2c-7 i2c AUX A/port A I2C adapter i2c-5 i2c i915 gmbus misc I2C adapter

    I would like to know what to choose and where exactly to change the name in the .py?

    And then the command that could work with the new name and number?

    I just bought this laptop and I removed windows but everything works except the num pad (touch pad work)

    Thank you for your work and your time.

    opened by gravitydeep 29
  • Support for Asus Zenbook Flip 13 UX363EA-IH74T

    Support for Asus Zenbook Flip 13 UX363EA-IH74T

    Hi, I have the laptop mentioned in the title. It has the exact same touchpad layout and seems to support a numpad within the touchpad (in Windows). Would it be possible to add support for this laptop in your code? I tested with the existing code on Arch, but I can not get this to work reliably in its current form. Attached the output showing the devices. Thanks.

    Hendrik-Jan

    opened by hjheins 23
  • ux393e backlight

    ux393e backlight

    Hi!

    I've an issue with asus ux393e.

    Your script is works correctly on my mashine, but touchpad backlight is not working. Do you have some ideas how to fix it?

    opened by KaktusOnFire 19
  • Activate the numpad on Fn+F8 instead of F8

    Activate the numpad on Fn+F8 instead of F8

    Event though the shortcut is under the F8 key, it should activate on Fn+F8, and not on F8. On devices that have the Fn-Lock, if the Lock is active, pressing F8 will not activate the numpad as would be expected.

    opened by fmorato 13
  • OS boot error on ASUS ROG STRIX 15 (ubuntu 20.04, 5.8.0)

    OS boot error on ASUS ROG STRIX 15 (ubuntu 20.04, 5.8.0)

    After install on ASUS ROG STRIX 15 (G532LWS) Ubuntu does not boot to login screen. Can boot only console mode.

    /proc/bus/input/devices

    I: Bus=0018 Vendor=04f3 Product=315e Version=0100
    N: Name="ELAN1405:00 04F3:315E Touchpad"
    P: Phys=i2c-ELAN1405:00
    S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-3/i2c-ELAN1405:00/0018:04F3:315E.0001/input/input20
    U: Uniq=
    H: Handlers=mouse2 event17 
    B: PROP=1
    B: EV=1b
    B: KEY=e520 30000 0 0 0 0
    B: ABS=2e0800000000003
    B: MSC=20
    

    If necessary, I can provide additional information.

    opened by gitrequests 13
  • [UM425UAZ / Mint] Failed so load at start up

    [UM425UAZ / Mint] Failed so load at start up

    I just installed it on my new UM425UAZ laptop and it mostly works with the only issues being Fn+F8 not enabling the numpad. The top right on the touchpad enables the numpad no issues.

    Is their anyway to make the driver load up at start up? I can start the service it manually with "sudo service asus_touchpad_numpad start" But when starting it again the brightness of the touchpad goes back to lv1 instead of where I left it(in my case Lv3)

    While the Fn+F8 issue does not bother me, it might be an issue for someone else. Have confirmed the issue mentioned in #52

    Is it possible to rebind the "Calculator" key when the numpad is disabled.

    When using the numpad in windows, you require a 1second hold of the numpad button to turn the numpad on, this would be nice to have here as well to prevent accidental activation

    Thank you.

    opened by IGrayfoxI 11
  • Pressing top left corner starts calculator, pressing top right corner enters equals sign

    Pressing top left corner starts calculator, pressing top right corner enters equals sign

    Hello,

    on my UM425IA using m433ia layout, pressing top left corner starts the calculator, whereas pressing the top right corner enters the equals sign, but only when enabling the numpad. Under Windows, one has to hold the top right corner to enable the numpad and swipe out the top left corner to start the calculator, which arguably reduces the chance of accidental activation. Would it be possible to implement similar behaviour for linux?

    opened by belegdol 8
  • TouchPad not highlited (ZenBook UX425EA_UX425EA)

    TouchPad not highlited (ZenBook UX425EA_UX425EA)

    Hi, i have next laptop image

    tried all installation options but i have next issue: Numpad not highlighted(it just dark like turned off), but if i press right top corner i can write numbers like numpad is working properly. Can you please direct me where i can find part of code which response for highlight of touch bar? Tried to find by myself but with no result. image

    opened by AntonSh23 6
  • ux363ea

    ux363ea

    new value of mesh for asus ux363ea

    xx = [0.232,0.410,0.588,0.768] yy = [0.343,0.553,0.763]

            try:
                # first row
                if y < yy[0] * maxy:
                    if x < xx[0] * maxx:
                        value = EV_KEY.KEY_KP7
                    elif x < xx[1] * maxx:
                        value = EV_KEY.KEY_KP8
                    elif x < xx[2] * maxx:
                        value = EV_KEY.KEY_KP9
                    elif x < xx[3] * maxx:
                        value = EV_KEY.KEY_KPSLASH
                    else:
                        value = EV_KEY.KEY_BACKSPACE
                # second row
                elif y < yy[1] * maxy:
                    if x < xx[0] * maxx:
                        value = EV_KEY.KEY_KP4
                    elif x < xx[1] * maxx:
                        value = EV_KEY.KEY_KP5
                    elif x < xx[2] * maxx:
                        value = EV_KEY.KEY_KP6
                    elif x < xx[3] * maxx:
                        value = EV_KEY.KEY_KPASTERISK
                    else:
                        value = EV_KEY.KEY_BACKSPACE
                # third row
                elif y < yy[2] * maxy:
                    if x < xx[0] * maxx:
                        value = EV_KEY.KEY_KP1
                    elif x < xx[1] * maxx:
                        value = EV_KEY.KEY_KP2
                    elif x < xx[2] * maxx:
                        value = EV_KEY.KEY_KP3
                    elif x < xx[3] * maxx:
                        value = EV_KEY.KEY_KPMINUS
                    else:
                        value = EV_KEY.KEY_5
                # last row
                else :
                    if x < xx[0] * maxx:
                        value = EV_KEY.KEY_KP0
                    elif x < xx[1] * maxx:
                        value = EV_KEY.KEY_KPDOT
                    elif x < xx[2] * maxx:
                        value = EV_KEY.KEY_KPENTER
                    elif x < xx[3] * maxx:
                        value = EV_KEY.KEY_KPPLUS
                    else:
                        value = EV_KEY.KEY_KPEQUAL
    
    enhancement 
    opened by vb42ch 6
  • Traceback y not defined

    Traceback y not defined

    Hi, I don't have the traceback available. But in the code I found something that looked wrong.

    In /usr/bin/asus_touchpad_numpad.py there looks to me (and my traceback at computer startup), that x and y could be undefined:

          # During tap #
          if finger == 1:
              finger = 2
              try:
                  # first row
                  if y < 0.25 * maxy:
    

    if not these have been matched:

            # Get x position #
            if e.matches(EV_ABS.ABS_MT_POSITION_X):
                x = e.value
                continue
            # Get y position #
            if e.matches(EV_ABS.ABS_MT_POSITION_Y):
                y = e.value
                continue
    

    Default values for x and y maybe could help, or an indicator if this has happened.

    Also while at it, the try-catch-case this is in looks like it is only used for the last rows, so try could be moved there instead.

    opened by martininsulander 5
  • [UM425 / Ubuntu] The backlight is not working Zenbook UM425

    [UM425 / Ubuntu] The backlight is not working Zenbook UM425

    The Numpad is working, but the backlight doesn't. I have tried manually enabling it by this command: i2ctransfer -f -y " + device_id + " w13@0x15 0x05 0x00 0x3d 0x03 0x06 0x00 0x07 0x00 0x0d 0x14 0x03 0x01 0xad with correct "device_id" and it doesn't work.

    Also, I have tried @kawaegle script for testing the backlight, and the result is the same with different values.

    I think that enabling backlight in the UM425 has another register address, and I need to send some other I2C data. How can I find exactly this I2C sequence?

    opened by anton-voronko 5
  • UX3402Z

    UX3402Z

    Hello, I am contacting you because my keyboard is not available. I have the new asus zenbook 14 oled (ux3402z). I would like to know if it is possible to have the keyboard available too? I would like to know if it is possible to get it? Romain

    opened by r-schmitz11 0
  • Very minor note, brightness status in comment is false

    Very minor note, brightness status in comment is false

    Very minor note,

    Line 187 in asus_touchpad.py is written as:

    # status 1 = min bright
    # status 2 = middle bright
    # status 3 = max bright
    

    It should be 0, 1 and 2

    opened by axkibe 0
  • Confirming UM425QA :+1:

    Confirming UM425QA :+1:

    I just wanted to report that the numpad on an Asus Zenbook 14 UM425QA is working perfecly with the m433ia.py layout. You may add it to the "tested and working" section in the readme.

    A BIG BIG THANK YOU to all contributors for this.

    opened by eldelacajita 1
  • remove the spawn of calculator

    remove the spawn of calculator

    it's annoying so I remove it i guess the original code was great when we touch the brightness button twice without the numlock but on my case (and maybe a lot of user case) the calculator just spawn randomly

    opened by kawaegle 0
  • Changing the on/off key press time period

    Changing the on/off key press time period

    Is it possible to change the time needed to press the on/off key? by default the driver switches the keypad on/off as you tap on the calculator logo on the top right side. i would like to press it for 1 second in order to activate it.

    opened by faramarzQ 0
Owner
Mohamed Badaoui
Tech Lead https://linktr.ee/mohamed.badaoui Stay in touch! LinkedIn : http://linkedin.badaoui.fr Twitter : http://twitter.badaoui.fr
Mohamed Badaoui
Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED.

RPie-keyboard-game Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED. Randem LED (general output) is lit up on rasberrypi rand

Shawn Dowling 1 Oct 24, 2021
Home Assistant component to handle key atom

KeyAtome Home Assistant component to handle key atom, a Linky-compatible device made by Total/Direct-Energie. Installation Either use HACS (default),

null 18 Dec 21, 2022
Fully Automated YouTube Channel ▶️with Added Extra Features.

Fully Automated Youtube Channel ▒█▀▀█ █▀▀█ ▀▀█▀▀ ▀▀█▀▀ █░░█ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀▄ █░░█ ░░█░░ ░▒█░░ █░░█ █▀▀▄ █▀▀ █▄▄▀ ▒█▄▄█ ▀▀▀▀ ░░▀░░ ░▒█░░ ░▀▀▀ ▀▀▀░

sam-sepiol 249 Jan 2, 2023
A simple script useful to switch from Dashlane to Bitwarden by converting the password file to the right format.

A simple script useful to switch from Dashlane to Bitwarden by converting the password file to the right format.

null 3 May 6, 2022
ConnectLearn is an easy to use and deploy Open-Source Project meant to make it easier for the right students to find the right teachers online.

ConnectLearn ConnectLearn is an easy to use and deploy Open-Source Project meant to make it easier for the right students to find the right teachers o

Aditya 5 Oct 24, 2021
This utility lets you draw using your laptop's touchpad on Linux.

FingerPaint This utility lets you draw using your laptop's touchpad on Linux. Pressing any key or clicking the touchpad will finish the drawing

Wazzaps 95 Dec 17, 2022
Official Repsoitory for "Activate or Not: Learning Customized Activation." [CVPR 2021]

CVPR 2021 | Activate or Not: Learning Customized Activation. This repository contains the official Pytorch implementation of the paper Activate or Not

null 184 Dec 27, 2022
Activate exitlag trial accounts

Exitlag Account Activator Activate exitlag trial accounts (unlimited trial accounts) ⭐ If you want to support me, follow me on github and star the pro

Benjamin 173 Nov 10, 2022
Corner-based Region Proposal Network

Corner-based Region Proposal Network CRPN is a two-stage detection framework for multi-oriented scene text. It employs corners to estimate the possibl

xhzdeng 140 Nov 4, 2022
Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation

This is the official implementation of "Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation". For more details, please

Pengyuan Lyu 309 Dec 6, 2022
Logo hitting the corner == best feeling ever!

Bouncing DVD logo - Pygame A little ride back to the 90s. Ah good ol' time! Didn't we all wait for the logo to hit the corners? Best feeling ever!! I

Hoang Nguyen 3 May 25, 2022
It is a Blender Tool which can convert the Object Data Attributes in face corner to the UVs or Vertex Color.

Blender_ObjectDataAttributesConvertTool It is a Blender Tool which can convert the Object Data Attributes in face corner to the UVs or Vertex Color. D

Takeshi Chō 2 Jan 8, 2022
A simple, transparent, open-source key logger, written in Python, for tracking your own key-usage statistics.

A simple, transparent, open-source key logger, written in Python, for tracking your own key-usage statistics, originally intended for keyboard layout optimization.

Ga68 56 Jan 3, 2023
Key Cast - Cast your key presses and mouse clicks on the screen, while casting your favorite application on the screen. Better than the rest.

Key Cast Screen cast your keyboard and mouse clicks in style Project Homepage » View Demo · Report Bug · Request Feature Table of Contents Introductio

Mehul Singh Teya 13 Dec 23, 2022
A program will generate a eth key pair that has the public key that starts with a defined amount of 0

ETHAdressGenerator This short program will generate a eth key pair that has the public key that starts with a defined amount of 0 Requirements Python

null 3 Nov 19, 2021
Key Logger - Key Logger using Python

Key_Logger Key Logger using Python This is the basic Keylogger that i have made

Mudit Sinha 2 Jan 15, 2022
Scrap-mtg-top-8 - A top 8 mtg scraper using python

Scrap-mtg-top-8 - A top 8 mtg scraper using python

null 1 Jan 24, 2022
Spotify Top Lists - get the current top lists of a user from the Spotify API and display them in a Flask app

Spotify Top Lists This is a simple script that will get the current top lists of a user from the Spotify API and display them in a Flask app. Requirem

Yasin 0 Oct 16, 2022