Celeb Glow
updates | March 07, 2026

Enabling touchpad tapping after installing dwm on Arch Linux

I installed Arch Linux and dwm window manager. But the tapping of touchpad doesn't work.

I know how to enable the tapping; I find the id of my touchpad, using this command:

~ xinput --list
Virtual core pointer id=2 [master pointer (3)] ↳ Elan Touchpad id=10 [slave pointer (2)]

I can see that the id is 10. Then I can list its properties:

~ xinput --list-props 10
Device 'Elan Touchpad': Device Enabled (172): 1 libinput Tapping Enabled (307): 0

Here I can see that property of tapping with the id of 307 is not set to 1, so it's not enabled, I can enable it with this command:

xinput --set-prop 10 307 1

And it works. Now I wanted to write a script to automate this process, so I don't have to do it everytime I reboot. I wrote this script:

#!/bin/bash
touchpad_id=$(xinput --list | awk '/Touchpad/ {print $5}' | tr -d 'id=')
tapping_id=$(xinput --list-props $touchpad_id | awk '/libinput Tapping Enabled \(/ {print $4}' | tr -d '():')
# Enable Tapping
xinput --set-prop $touchpad_id $tapping_id 1

And this script works when I run it in the terminal (using ./touchpad_click.sh).

Next, I modified the dwm source code to run a script everytime it starts. I added the below function between the run(void) and scan(void) functions of dwm.c:

void
runAutostart(void) { system("~/.dwm/autostart.sh &");
}

Added its header:

static void runAutostart(void);

And called the function in main(), right before calling run():

scan();
runAutostart();
run();

And then compiled the dwm.c file with sudo make install. Compiled successfully.

And then wrote this script, autostart.sh:

#!/bin/bash
# Enable Tapping for Touchpad
./touchpad_click.sh

And put both autostart.sh and touchpad_click.sh in the ~/.dwm directory. I also made sure to give both files execute permission:

chmod +x autostart.sh touchpad_click.sh

And I verify that by:

~ ls -lhA
-rwxr-xr-x 1 amir amir 63 Feb 25 18:07 autostart.sh
-rwxr-xr-x 1 amir amir 259 Feb 25 18:07 touchpad_click.sh

Now the problem is that it doesn't work, and when I terminate dwm by Shift+Alt+Q shortcut, or when I reboot the system, the tapping of the touchpad is disabled. How can I fix this?

1

1 Answer

I think you don't need to build dwm youself and write a special script which setup xinput properties. You can just use Xorg configuration file instead:

Create a file /etc/X11/xorg.conf.d/30-touchpad.conf that contains this:

Section "InputClass" Identifier "touchpad catchall" Driver "libinput" Option "Tapping" "on"
EndSection

and restart Xorg.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy