Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

a small utility to assist in setting usage modes of laptop-tablet devices

Project description


a small utility to assist in setting usage modes of laptop-tablet devices


  • automatic palm rejection when using stylus
  • automatic disable/enable of touchpad and nipple when device toggled between laptop and tablet states
  • manual control of display orientation and input devices


This utility requires X11.

sudo apt install python-qt5
sudo pip install python_spin

To set up globally a Linux desktop launcher with icon, execute the following:

sudo wget --content-disposition -N -P /usr/share/icons/

sudo wget --content-disposition -N -P /usr/share/applications/

quick start

This utility can be run in its default graphical mode or in a non-graphical mode. The graphical mode is engaged by running


while the non-graphical mode is engaged by using the option --no_GUI:

spin --no_GUI

There are other options which are described by spin --help.

By default, this utility disables the touchscreen on detecting the stylus in proximity and it changes between the laptop and tablet modes on detecting toggling between the laptop and tablet usage configurations. These default behaviours are provided by both the graphical and non-graphical modes of this utility. This utility should be initiated in the laptop usage configuration.


computer model operating system and setup comment
ThinkPad S1 Yoga Ubuntu 16.04 (X11, Unity) working
ThinkPad S120 Yoga Ubuntu 16.04 (X11, Unity) working
ThinkPad Yoga 14 Ubuntu 16.04 (X11, Unity) possibly working with some reduced functionality
ThinkPad Yoga P40 Ubuntu 16.04 (X11, Unity) possibly working

acceleration control

There is an experimental acceleration control included which is deactivated by default. It can be activated by selecting the appropriate button in the graphical mode.


Under consideration is state recording in order to avoid execution of unnecessary commands and better handling of subprocesses.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python_spin, version 2018.8.7.2245
Filename, size File type Python version Upload date Hashes
Filename, size python_spin-2018.8.7.2245.tar.gz (9.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page