Skip to main content

Port 6 Touch SDK

Project description

Touch SDK py

PyPI PyPI - Downloads PyPI - License Discord

Connects to Port 6 Touch SDK compatible Bluetooth devices – like this Wear OS app.

There is also a web SDK and a Unity SDK.

See for more info.


pip install touch-sdk

Example usage

from touch_sdk import Watch

class MyWatch(Watch):
    def on_tap(self):

watch = MyWatch()


All callback functions should be methods in the class that inherits Watch, like in the example above.

An optional name string in the constructor will search only for devices with that name (case insensitive).

watch = MyWatch('fvaf')

Tap gesture

def on_tap(self):


def on_sensors(self, sensors):
    print(sensors.acceleration) # (x, y, z)
    print(sensors.gravity) # (x, y, z)
    print(sensors.angular_velocity) # (x, y, z)
    print(sensors.orientation) # (x, y, z, w)
    print(sensors.magnetic_field) # (x, y, z), or None if unavailable
    print(sensors.magnetic_field_calibration) # (x, y, z), or None if unavailable

Touch screen

def on_touch_down(self, x, y):
    print('touch down', x, y)

def on_touch_up(self, x, y):
    print('touch up', x, y)

def on_touch_move(self, x, y):
    print('touch move', x, y)

def on_touch_cancel(self, x, y):
    print('touch cancel', x, y)

Rotary dial

def on_rotary(self, direction):
    print('rotary', direction)

Outputs +1 for clockwise and -1 for counter-clockwise.

Back button

def on_back_button(self):
    print('back button')

Called when the back button is pressed and released. Wear OS does not support separate button down and button up events for the back button.


The trigger_haptics(intensity, length) method can be used to initiate one-shot haptic effects on the watch. For example, to drive the haptics motor for 300 ms at 100% intensity on watch, call watch.trigger_haptics(1.0, 300).

Unexplainable bugs

Sometimes turning your device's Bluetooth off and on again fixes problems – this has been observed on Linux, Mac and Windows. This is unideal, but those error states are hard to reproduce and thus hard to fix.


python3 -m pylint src --rcfile=.pylintrc

Adding pylint to pre-commit

echo 'python3 -m pylint src --rcfile=.pylintrc -sn' > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

Project details

Download files

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

Source Distribution

touch_sdk-0.6.2.tar.gz (11.3 kB view hashes)

Uploaded Source

Built Distribution

touch_sdk-0.6.2-py3-none-any.whl (14.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page