Click-lock accessibility tool for Linux (Ubuntu 24.04 LTS)
Quick Drag provides click-lock (drag-lock) functionality similar to Windows' ClickLock feature, enabling users with motor disabilities, RSI, or other conditions to perform drag operations without continuously holding the mouse button.
Many users with motor disabilities, arthritis, RSI, or tremors find it difficult or painful to:
- Hold down a mouse button while moving the mouse (drag operations)
- Perform precise click-and-drag selections
- Use drag-and-drop interfaces
Windows has solved this with ClickLock. Linux deserves the same.
Quick Drag fills this accessibility gap:
- Hold the left mouse button for a configurable duration (default: 500ms)
- Release - the button stays "locked" in the pressed state
- Move the mouse to drag without holding the button
- Click again to release the lock
# Download the latest release
wget https://github.com/owenpkent/linux-quickdrag/releases/download/v1.0.0/quickdrag_1.0.0_all.deb
# Install
sudo dpkg -i quickdrag_1.0.0_all.deb
# Install dependencies if needed
sudo apt-get install -f# Install dependencies
sudo apt install python3-xlib python3-gi gir1.2-gtk-3.0
# Clone the repository
git clone https://github.com/owenpkent/linux-quickdrag.git
cd linux-quickdrag
# Run
python3 run.pyquickdrag
# or
python3 run.pyThis launches the settings window where you can:
- Adjust hold threshold (100-2000ms)
- Start/Stop the service
- View real-time status and debug log
# Default 500ms threshold
python3 src/quickdrag.py
# Custom threshold
python3 src/quickdrag.py --threshold 750
# With debug logging
python3 src/quickdrag.py --debugSettings are stored in ~/.config/quickdrag/config.json:
{
"threshold_ms": 500,
"debug": false
}- OS: Ubuntu 24.04 LTS (or compatible Debian-based distribution)
- Display Server: X11 (Wayland support planned)
- Python: 3.10+
- Dependencies:
python3-xlib,python3-gi,gir1.2-gtk-3.0
| Document | Description |
|---|---|
| INTEGRATION.md | Ubuntu/GNOME accessibility integration plan |
| TECHNICAL.md | Technical architecture and implementation details |
| CONTRIBUTING.md | Contribution guidelines |
| CHANGELOG.md | Version history |
- Core click-lock functionality (X11)
- GTK3 settings GUI
- Configuration persistence
- System tray indicator
- Systemd user service for auto-start
- Wayland support via libinput/uinput
- GNOME Settings integration
- Audio/visual feedback on lock activation
| Feature | Windows ClickLock | Linux Quick Drag |
|---|---|---|
| Activation | Hold for configurable time | Hold for configurable time |
| Release | Click again | Click again |
| Configuration | Control Panel → Mouse | GUI or config file |
| Threshold | Slider | 100-2000ms numeric |
| Visual feedback | Cursor change | Status in GUI |
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
MIT License - See LICENSE for details.
- Inspired by Windows ClickLock accessibility feature
- Built for the Linux accessibility community
- Part of efforts to improve Ubuntu accessibility
- Mousetweaks - GNOME mouse accessibility
- Onboard - On-screen keyboard for Ubuntu
Made with ❤️ for accessibility
