Draw Using Your Laptop Touchpad To Sign PDFs And More With FingerPaint


FingerPaint is a simple tool for Linux that allows drawing using the laptop's touchpad. It supports all X11 desktop environments and GNOME with Wayland.

The most obvious use for this tool is to digitize your signature to sign PDF documents, but you can also use it to enter complex characters or to... doodle.

The application needs to run from the command line, in order to specify various parameters, but once you run it, a GUI is displayed which shows what you're drawing on the laptop touchpad in real time.

You can customize the draw line color (--line-color COLOR; default is black) and thickness (--line-thickness THICKNESS; default is 6), change the generated image background color (--background COLOR) or use a dark theme for the generated image (--dark; it defaults to a light background), and more. Specify the output file path with --output drawing.png or -o drawing.png. There is one feature I wish FingerPaint had, which is currently missing - a way to undo the last line drawn.

Related: Turn Your Tablet Or Phone Into A Graphic Tablet / Touch Screen For Your Desktop With Weylus

To use FingerPaint and draw with your finger on the laptop touchpad with the defaults (light image background, etc.), and generate an image in the current directory called drawing.png, open a terminal and run:

fingerpaint -o drawing.png

After you run this, the FingerPaint drawing GUI is displayed (see screenshot at the top of the article), and you can start drawing on the touchpad. Press any key or click anywhere inside the FingerPaint drawing window to finish drawing and save the drawing.png file.

Let's say you want to change the draw line color from black to blue, and thickness from 6 to 4, and save the file as paint.png. In that case, we need to run FingerPaint like this:

fingerpaint --line-color blue --line-thickness 4 -o paint.png

You might also like: How To Get The Numpad Embedded Into The Touchpad Of Some ASUS Laptops To Work On Linux

This is a video recorded by the FingerPaint developer, showing this tool in action:

Install FingerPaint

Arch Linux / Manjaro can install FingerPaint from AUR: FingerPaint for any X11 desktop | FingerPaint for GNOME Wayland

On any Linux distribution, you can install FingerPaint from PyPI

Before using the instructions below to install FIngerPaint, make sure that ~/.local/bin is in your PATH (if it's not, add if [ -d "$HOME/.local/bin" ]; then PATH="$HOME/.local/bin:$PATH"; fi to your ~/.profile file and source the file or restart your session by logging out and back in).

With that out of the way, let's install the dependencies from the repositories (below, you'll find commands to install the dependencies on Debian / Ubuntu based Linux distributions and Fedora; note that the package names can vary from distro to distro):

  • Debian / Ubuntu / Pop!_OS / Linux Mint, etc.
sudo apt install python3-pip python3-evdev python3-pyudev python3-pil python3-tk xinput

  • Fedora:
sudo dnf install python3-pip python3-evdev python3-pyudev python3-pillow python3-tkinter xinput

Now you can install FingerPaint from PyPI (use this on any Linux distribution):

python3 -m pip install --upgrade --user fingerpaint

I've added --upgrade to the command, so you can use the same command to both install it for the first time and upgrade the package.

Run it using like I mentioned above, e.g. opening a terminal and typing fingerpaint -o drawing.png (or the full path to the executable if you don't have ~/.local/bin in your PATH: ~/.local/bin/fingerpaint -o drawing.png). Type fingerpaint -h to see all the available options.

You might also be interested in: GNOME: How To Disable The Touchpad When A Mouse Is Plugged In And While Typing