A Linux utility to enable/disable touchscreen functionality via the system tray.
- Toggle touchscreen functionality with a single click
- System tray integration for easy access
- Auto-detection of touchscreen devices
- Supports multiple touchscreen devices
- Restores touchscreen functionality on exit
- Linux system with systemd
- Python 3.x with PyQt6
- D-Bus
- libsystemd
- sdbus-c++
cd driver_daemon
mkdir build && cd build
cmake ..
make
sudo make install
sudo systemctl daemon-reload
sudo systemctl enable driver_daemon
sudo systemctl start driver_daemon
python3 tray.py
To start automatically on login, add tray.py
to your desktop environment's startup applications.
- Left-click on the tray icon to toggle touchscreen functionality on/off
- Right-click to access the menu:
- Change device: Select a different touchscreen device
- Quit: Exit the application (touchscreen will be re-enabled)
NoTouchScreen consists of two main components:
-
System Tray Application (Python/PyQt6): Provides the user interface and communicates with the driver daemon.
-
Driver Daemon (C++): Runs with elevated privileges to modify the touchscreen driver state via sysfs.
Communication between these components is handled via D-Bus, providing secure privileged operations without requiring the GUI application to run as root.
# For the daemon
sudo apt install cmake libsystemd-dev libsdbus-c++-dev pkg-config
# For the tray application
pip install PyQt6 dbus-python
Then follow the installation instructions above.
This project is licensed under the GNU General Public License v3 or later - see the LICENSE file for details.