You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.2 KiB
63 lines
2.2 KiB
# 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
|
|
|
|
```shell
|
|
# python3 based pip is required (check with pip --version)
|
|
$ pip install git+https://git.someserver.de/seba/fynncom/
|
|
```
|
|
|
|
## 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`.
|
|
|