Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaronsegura/wacom_profile
Control ring and button actions in linux based on ring mode for Wacom Intuos Pro tablets.
https://github.com/aaronsegura/wacom_profile
artists linux wacom
Last synced: 3 months ago
JSON representation
Control ring and button actions in linux based on ring mode for Wacom Intuos Pro tablets.
- Host: GitHub
- URL: https://github.com/aaronsegura/wacom_profile
- Owner: aaronsegura
- Created: 2017-11-05T23:49:29.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-31T15:41:22.000Z (almost 2 years ago)
- Last Synced: 2024-08-17T07:28:43.315Z (5 months ago)
- Topics: artists, linux, wacom
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wacom_profile
This python script will allow you to control the modes of your Wacom Intuos Pro tablet touch ring in linux by clicking the button in the middle of the ring.
Installation
------------$ python -mpip install wacom_profile
Make sure you have `xsetwacom` installed in your operating system.
Usage
-----
wacom_profile [-h] [-c /path/to/file.ini] [-p PROFILE] [-d]Handle Wacom Intuos Pro 5 ring function swapping. You know, for kids.
optional arguments:
-h, --help show this help message and exit
-c /path/to/file.ini Configuration File. Default $HOME/.wacomProfile
-p PROFILE Profile to execute.
-d Debug - Crank up the outputConfig File Format
------------------Default location is $HOME/.wacomProfile
Configuration is in argparse/INI format. The only required section is `[defaults]` and the only required option is `device_id`. This `device_id` can be found by running `lsusb` and copying the ID from the output there. See the example config.cfg file.
You must also supply at least one stanza for each profile you want to create.
[defaults]
device_id = XXXX:XXXXProfiles
--------Profiles are defined in the config file in the section headers. For example:
[krita:0]
AbsWheelDown = Button +4
AbsWheelUp = Button +5
Button 2 = key +ctrl +shift +z
Button 8 = key +ctrl +z
Button 9 = key +ctrlThis section header defines the actions that will be taken when `-p krita` is passed and the LED is in position 0 (upper-left corner).
LED Positions:
0 - Upper-left
1 - Upper-right
2 - Lower-right
3 - Lower-leftButtons:
Button 2 - Upper top button
Button 3 - Middle top Button
Button 8 - Lower top ButtonButton 9 - Upper bottom button
Button 10 - Middle bottom button
Button 11 - Lower bottom buttonTouchRing Actions:
AbsWheelUp - Scroll Up
AbsWheelDown - Scroll DownYou don't have to define all LED positions. No action will be taken if you select a mode that isn't defined.
Valid options in each section are either buttons or touchring actions. If you define a blank action (eg, "`button 1 = `"), that item is reset to tablet defaults.
See the example config.cfg for a working example.
If no profile is provided on the command line with -p, the script will look for a profile called "defaults".
Just Turrible
-------------
* Unpredictable results if using multiple tablets. Do people even do that?
* USB Stuff is mostly untested in most situations. It worked once for me, so it might work for you. Submit a bug if not.
* Only works on Linux.
* Uses `lsusb` and `sysfs` to get LED status. Anyone willing to help port over to pyusb, if possible, would be appreciated.