python tool to manage wacom tablet keybindings
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
Sebastian Lohff 4833016d47
Initial commit
před 5 roky
fynncom Initial commit před 5 roky
.gitignore Initial commit před 5 roky
README.md Initial commit před 5 roky
fynncom.yaml.example Initial commit před 5 roky
requirements.txt Initial commit před 5 roky
setup.py Initial commit před 5 roky

README.md

Fynncomm - Wacom configuration for Fynn's tablet

This is a quick and dirty wacon configuration tool - basically a glorified shellscript with a config in python.

Features:

  • freely configure ALL the buttons
  • quickly change between different button profiles
  • change button mappings based on wheel led status

Installation

$ pip install git+https://git.someserver.de/seba/fynnwacom/

Configuration

An example configuration can be found in the git repository.

For Fynncom to find the correct device a name and a usb id has to be configured. The name can be found in xinput list and is just the part of the device wihout a Pen/Pad suffix, e.g. for Wacom Intuos5 touch M Pen stylus the name would be Wacom Intuos5 touch M. The usbid can be found with lsusb | grep -i wacom and looks something like 056a:0027.

Available buttons can be found with xev. In the mappings section of the config multiple profiles can be defined. Inside a profile a device that matches any of the existing wacom inputs has to be defined, e.g. pen, pad or touch. Inside this "subinterface" a mapping from button codes to keycodes can be defined. Single characters are automatically prefixed with "key".

To get the wheel to change functionality (effectively applying the wheel mappings from the configuration file), button 1 should be mapped to a shortcut for your windowmanager to launch fynncom.

Autoconfig on login

The easiest way is to call fynncom from the commandline after the tablet has been plugged in.

Another possibility would be to create a systemd oneshot service that is triggered by a Udev rule.

Udev rule to trigger the service in /etc/udev/rules.d/81-fynncom.rules:

ACTION=="add", SUBSYSTEM=="hid", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="0027", \
    TAG+="systemd", ENV{SYSTEMD_WANTS}="fynncom.service"

Systemd service in /etc/systemd/system/fynncom.service:

[Service]
Type=oneshot
Environment="DISPLAY=:0"
ExecStartPre=/bin/sleep 2
User=YOUR_USER
Group=YOUR_USERS_GROUP
ExecStart=path/to/fynncom -c path/to/fynncomm/fynncom.yaml

Don't forget to reload systemd with systemctl daemon-reload.