A tiny GTK utility for Linux that turns one physical mouse click into many.
For each button (left, right, middle) you flip a switch and choose a count N;
when you press that button once, Multiclick fires N clicks. Handy as a
turbo / rapid-fire helper for games, testing, or any repetitive clicking.
- Read raw button presses straight from the mouse with
python-evdev. - Inject the extra clicks through XTEST via
xdotool. Because XTEST events are invisible to evdev, the synthetic clicks never retrigger the tool (no feedback loop). - Remember your settings in a small JSON config file.
How it works: a physical press is click #1. For an enabled button with count
N, Multiclick schedules the remainingN − 1clicks, spaced 20 ms apart.
- Linux running an X11 session (uses
xdotool/xinput; Wayland is not supported). python3with PyGObject / GTK 3- python-evdev
- xdotool (injects the extra clicks)
- xinput (detects whether your mouse is connected)
Install the dependencies:
# Debian / Ubuntu / Zorin / Mint
sudo apt install python3-gi gir1.2-gtk-3.0 python3-evdev xdotool xinput
# Fedora
sudo dnf install python3-gobject gtk3 python3-evdev xdotool xinput
# Arch
sudo pacman -S python-gobject gtk3 python-evdev xdotool xorg-xinputReading raw events from /dev/input/* requires membership in the input
group. Add yourself once, then log out and back in:
sudo usermod -aG input "$USER"If Multiclick shows "Permission needed" while a button is enabled, this is why.
git clone https://github.com/azzamalmutairi/multiclick.git
cd multiclick
python3 multiclick.pyOptionally put it on your PATH so the desktop launcher and multiclick
command work from anywhere:
install -Dm755 multiclick.py ~/.local/bin/multiclickMulticlick targets a mouse by its name. List the devices X can see:
python3 multiclick.py --list-devicesPick the line matching your mouse and save it:
python3 multiclick.py --set-device "Your Mouse Name"Other ways to select the device (highest priority first):
--device "Your Mouse Name"— for a single runMULTICLICK_DEVICE="Your Mouse Name"— environment variable- the
devicefield in the config file (set by--set-device) - a built-in fallback (
PixArt Gaming Mouse)
Settings are stored as JSON at:
${XDG_CONFIG_HOME:-~/.config}/multiclick/config.json
Example:
{
"device": "PixArt Gaming Mouse",
"buttons": {
"left": { "enabled": false, "count": 5 },
"right": { "enabled": false, "count": 5 },
"middle": { "enabled": true, "count": 7 }
}
}Counts are clamped to the range 2–50. Changes made in the window are saved immediately.
Toggle the switches off (or press Stop all) to stop multiplying, or just close the window to quit — everything reverts to normal clicking.
multiclick.desktop runs the multiclick command (install it on your PATH
as shown above). To install the launcher for your user:
install -Dm644 multiclick.desktop ~/.local/share/applications/multiclick.desktopIf you prefer not to add multiclick to your PATH, edit the Exec= line to
point at the script, e.g. Exec=python3 /full/path/to/multiclick.py.
أداة صغيرة على لينكس (X11) تحوّل ضغطة واحدة إلى عدة ضغطات. لكل زر (يسار،
يمين، أوسط) تفعّل المفتاح وتختار العدد، فتصبح الضغطة الواحدة عدة ضغطات — مفيدة
كـ«تيربو / ضغط سريع». تقرأ الأداة أحداث الأزرار عبر python-evdev وتُطلق
الضغطات الإضافية عبر xdotool، وتحفظ الإعدادات في
~/.config/multiclick/config.json. حدّد ماوسك باسمه عبر
--list-devices ثم --set-device. قد تحتاج لإضافة مستخدمك إلى مجموعة input:
sudo usermod -aG input "$USER".
MIT — see LICENSE.