I have often encountered problems with the touchpad in Kali Linux. This problem could be either on tapping (tapping the touchpad) or with scrolling with two-finger.
I have come across the following 3 fixes. At least one of them should work for you.
Fix 1: Easiest – GUI setting
This fix requires no fancy commands. You just have to go to Mouse & Touchpad settings and make appropriate changes. To go to the settings, you can either-
- Press the Windows key (on the lower bottom, Ctrl key, Function key, Windows key, Alt key), and type the mouse in the search bar that shows up.
- Click the activities button on the top left, and type the mouse in the search bar that shows up.
You can check the tap to click and two-finger scroll options and your problem is solved.
Then you have to use the next fixes, as the Mouse and Touchpad settings are useless for you.
Fix 2: Tapping and reverse Scroll
If you are able to scroll just fine, but your touchpad is not registering the taps, then just type this command into the terminal:
This should enable tapping for you.
In my case, I had scrolling working without any problems, but I prefer natural scrolling, and that option wasn’t there for me in mouse & touchpad settings. However, if you type synclient into the terminal, you see something like this:
You can quickly notice the VertScrollDelta (delta usually refers to the rate of change, here speed of scrolling) parameter which for me is set to 114. I decided to check if making it -114 would make it scroll at the same speed but in the opposite direction.
To test that, I tried the following command:
And turns out I was right and it did reverse the direction of scrolling.
These changes that we made aren’t persistent, and the synclient setting would revert to default every time you start your system again. There are many solutions to this, one of which includes editing files in
/usr/share/X11/xorg.conf.d/. However, these files tend to get overwritten and we have to deal with a lot of other messes to fix that behavior.
Instead, we will use a very simple solution, and just run the above two commands on system startup.
Add the commands to the startup
Step 1: Navigate to the .config directory
Step 2: Check if autostart folder exists
Step 3: If it doesn’t exist, create the folder. If it exists, skip this step
Step 4: Navigate to autostart folder
Step 5: Use your favorite text editor [vim v/s/ sublime text?] (or cat ). I’m using LeapPad to make things look less intimidating.
Step 6: A LeapPad window will pop up. Paste one of the following into the window and then save and then close LeapPad.
If you are logged in as root (probably the case)
[Desktop Entry] Name=MyScript Type=Application Exec=/root/script.sh
If you are logged in as another user (if you created a non-super user account)
[Desktop Entry] Name=MyScript Type=Application Exec=/home/<name here>/script.sh
Note 1: To find the <name here> in the second case, just navigate to home (cd ~) and find the present working directory (pwd)
Note 2: (If you’re curious why I didn’t use ~ and instead made two different scripts for root and other users) Exec=~/script.sh didn’t work for me. Maybe it does work in general, and there was some other factor in play for me, or maybe it isn’t supposed to work at all. Not sure. Any comments in this regard are welcome.
Step 7: Change directory to home.
Step 8: Create a file called script.sh
Step 9: Paste the following code into it. Then save.
synclient tapbutton1=1 #To enable tapping synclient VertScrollDelta=-114 #To reverse direction of scroll
PS: Paste only the lines required by you.
Step 10: Make it executable
chmod 777 script.sh or chmod a+x script.sh
Restart Kali and see if your tapping and reverse scroll are still working. If not, go through the steps again and see what you missed. Everything is case sensitive so you have to be very careful in that regard.
If typing the commands into the terminal worked for you, but automation by adding the commands to startup didn’t, then here is one simple troubleshooting tip to isolate the problem.
Open a terminal and type
If your tapping/reverse scrolling is working fine now, then your script is fine, but the autostart directory content is not. Recheck steps 1 to 6.
If your tapping/reverse scrolling isn’t working fine, then your script is flawed. Recheck steps 7 to 10.
Fix 3: modprobe method
I found out about this method here. It did fix a few things for me, but as the second reply on the thread, what happened with me was,
Earlier my scroll was working and the tap to click wasn’t, After running the commands, Tap to click started working and the two-finger scroll stopped working.
Also, even when my scroll was working it wasn’t a natural scroll and that’s a bit inconvenient for me. So, Fix 2 above was the best fit for me. However, I’ve included this fix because it seems to work with most people. So here it is-
Step 1: Open a terminal.
Step 2: Type the following command. Your mouse pointer will stop working after typing the first command and will resume continuing working (hopefully with the touchpad problems solved) after the second.
modprobe -r psmouse modprobe psmouse proto=imps
Follow these steps:
Step 1: Navigate to the required directory
Step 2: Open text editor
Step 3: Paste this
options psmouse proto=imps
Step 4: Save and exit
Restart and see if the changes are persistent.
Again, I reiterate, this method is based on a fix I found on Kali Forums, and you should read further there if you are facing any problems.
That said, if you are facing any problems, then feel free to comment. If you followed the guide but had to do something a bit different to get it working, then also comment, as it may help others.