README.md 6.32 KB
Newer Older
Valeriy Malov's avatar
Valeriy Malov committed
1
2
KDE Wacom support
=================
3
4
5
6

This module implements a GUI for the Wacom Linux Drivers and extends it
with profile support to handle different button / pen layouts per profile.

Valeriy Malov's avatar
Valeriy Malov committed
7
For hardware support have a look at https://linuxwacom.github.io/
8

Valeriy Malov's avatar
Valeriy Malov committed
9
10
11
12
13
14
15
Configuration can be located in System Settings → Input devices → Tablets

Easy profile switching is supported via hotkeys or a small plasma applet in tray notification area.
In addition, a daemon running in the background helps with hotplug support.

Hardware support
----------------
16

17
All tablets can be set up as long as they are found with the wacom kernel module.
Jörg Ehrichs's avatar
Jörg Ehrichs committed
18
19

Check with
Valeriy Malov's avatar
Valeriy Malov committed
20
21
22

    $ xsetwacom list devices

Valeriy Malov's avatar
Valeriy Malov committed
23
if your device is correctly recognized first. If it dosn't show up there, we can't configure it.
24

Valeriy Malov's avatar
Valeriy Malov committed
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Installation
------------

Wacom support in KDE is a separate component and might be not installed by default.
Package usually goes by name `wacomtablet` or `kcm-wacomtablet`.

On Kubuntu, the package should be avaliable in Kubuntu Experimental PPA.

More or less full list of distributions including the package should be avaliable at:

* https://repology.org/metapackage/wacomtablet/versions
* https://repology.org/metapackage/kcm-wacomtablet/versions

Staring the module
------------------

Background daemon should be started automatically each time you log in.

You can enable or manually start the service via System Settings → Startup and Shutdown → Background services.

Adding missing tablet devices
-----------------------------

If your device is not recognized by this program, but you can set it up via the xsetwacom driver,
run Wacom Tablet Finder (`kde_wacom_tabletfinder`), desribe your device and click `Save`, and restart Wacom tablet service (see above).
50

Valeriy Malov's avatar
Valeriy Malov committed
51
Please send your device description (file `~/.config/tabletdblocalrc`) to the bugtracker, so it will be added in future versions.
52

Valeriy Malov's avatar
Valeriy Malov committed
53
54
Reporting bugs
--------------
55

Valeriy Malov's avatar
Valeriy Malov committed
56
57
58
59
https://bugs.kde.org/enter_bug.cgi?product=wacomtablet

Building & manual installation
==============================
Valeriy Malov's avatar
Valeriy Malov committed
60

61
62
Run-time dependencies:
* X11 wacom tablet driver (xserver-xorg-input-wacom), including the xsetwacom tool, version 0.20 or higher
Valeriy Malov's avatar
Valeriy Malov committed
63
* libwacom. Highly recommended to have version 0.29 or higher for support of consumer-grade tablets with quirky buttons.
Valeriy Malov's avatar
Valeriy Malov committed
64
65

Build dependencies on Debian/Ubuntu:
Valeriy Malov's avatar
Valeriy Malov committed
66
67
68
69
70
71
* g++
* cmake
* extra-cmake-modules
* gettext
* libqt5x11extras5-dev
* qtdeclarative5-dev
Valeriy Malov's avatar
Valeriy Malov committed
72
73
74
75
76
77
78
79
80
81
* libkf5coreaddons-dev
* libkf5i18n-dev
* libkf5dbusaddons-dev
* libkf5globalaccel-dev
* libkf5config-dev
* libkf5xmlgui-dev
* libkf5notifications-dev
* plasma-framework-dev
* kdoctools-dev
* libxi-dev
Valeriy Malov's avatar
Valeriy Malov committed
82
* libwacom-dev
83

Valeriy Malov's avatar
Valeriy Malov committed
84
85
You can install them by running:

Valeriy Malov's avatar
Valeriy Malov committed
86
    $ apt install g++ cmake extra-cmake-modules gettext libqt5x11extras5-dev qtdeclarative5-dev libkf5coreaddons-dev libkf5i18n-dev libkf5dbusaddons-dev libkf5globalaccel-dev libkf5config-dev libkf5xmlgui-dev libkf5notifications-dev plasma-framework-dev kdoctools-dev libxi-dev libwacom-dev
Valeriy Malov's avatar
Valeriy Malov committed
87

Valeriy Malov's avatar
Valeriy Malov committed
88
89
Building from source
--------------------
90

Valeriy Malov's avatar
Valeriy Malov committed
91
92
93
This is *not* a recommended way to use this application. Installing it manually creates files untracked by your pacakge manager.
This can cause everyone problems later on. Please contact your distribution's maintainers to package it instead.

Valeriy Malov's avatar
Valeriy Malov committed
94
95
96
97
    $ mkdir build
    $ cd build
    $ cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
    $ make
98

99
Manual installation (this *will* litter in your system):
Valeriy Malov's avatar
Valeriy Malov committed
100

Valeriy Malov's avatar
Valeriy Malov committed
101
    $ make install
Valeriy Malov's avatar
Valeriy Malov committed
102

Valeriy Malov's avatar
Valeriy Malov committed
103
104
Running without installing
--------------------------
Jörg Ehrichs's avatar
Jörg Ehrichs committed
105

Valeriy Malov's avatar
Valeriy Malov committed
106
This is not intended for daily use, but for people who want to test developer builds.
107

Valeriy Malov's avatar
Valeriy Malov committed
108
Running KCM component:
109

Valeriy Malov's avatar
Valeriy Malov committed
110
    $ QT_PLUGIN_PATH=src/kcmodule/ kcmshell5 wacomtablet
111

Valeriy Malov's avatar
Valeriy Malov committed
112
Running KDED component:
113

Valeriy Malov's avatar
Valeriy Malov committed
114
115
    $ ln -s kf5 src/
    $ kquitapp5 kded5 && QT_PLUGIN_PATH=$PWD kded5
Valeriy Malov's avatar
Valeriy Malov committed
116

Valeriy Malov's avatar
Valeriy Malov committed
117
Running tablet finder:
Valeriy Malov's avatar
Valeriy Malov committed
118

Valeriy Malov's avatar
Valeriy Malov committed
119
    $ src/tabletfinder/kde_wacom_tabletfinder
Valeriy Malov's avatar
Valeriy Malov committed
120
121
122
123
124

Running unit tests
==================

First, configure the build to include tests by enabling BUILD_TESTING:
125

Valeriy Malov's avatar
Valeriy Malov committed
126
127
128
129
    $ mkdir build
    $ cd build
    $ cmake ../ -DBUILD_TESTING=ON
    $ make
130

Valeriy Malov's avatar
Valeriy Malov committed
131
Then, run the tests with:
132

Valeriy Malov's avatar
Valeriy Malov committed
133
    $ ctest
134
135
136

or a single one via

Valeriy Malov's avatar
Valeriy Malov committed
137
138
    $ cd autotests/common/property
    $ ./Test.Common.Property
139

Valeriy Malov's avatar
Valeriy Malov committed
140
you can find the test results in `Testing/Temporary/LastTest.log`
141

Valeriy Malov's avatar
Valeriy Malov committed
142
Manually adding missing tablet devices
Valeriy Malov's avatar
Valeriy Malov committed
143
======================================
144

Valeriy Malov's avatar
Valeriy Malov committed
145
146
147
This method shouldn't really be used anymore unless you've encountered problems with kde_wacom_tabletfinder

### Step 1) Get real internal Tablet name ###
148
149
150
151

xsetwacom list dev

for my Wacom Bamboo:
Jörg Ehrichs's avatar
Jörg Ehrichs committed
152
153
154
155
Wacom Bamboo eraser ERASER
Wacom Bamboo cursor CURSOR
Wacom Bamboo pad PAD
Wacom Bamboo     STYLUS
156

Valeriy Malov's avatar
Valeriy Malov committed
157
### Step 2) Then you need the Tablet ID ###
158
159
160
161
162
163

xsetwacom get "Wacom Bamboo" tabletid

for my Wacom Bamboo:
101

Valeriy Malov's avatar
Valeriy Malov committed
164
### Step 3) Transform it into Hexadecimal ###
165
166
167

For my Wacom Bamboo: 0065

Valeriy Malov's avatar
Valeriy Malov committed
168
### Step 4) Add a new section into either ~/.config/tabletdblocalrc or the right datafile in /usr/share/wacomtablet/data/ ###
169
170
171
172
173
174
175
176
177
178
179
180

for the Wacom Bamboo the right file is: wacom_devicelist

Add a new entry

for my Wacom Bamboo:

[0065]
model=MTE_450        # try to google for it but not used right now
layout=bl_6          # can be empty if no button layout is available that exists (see images dir)
name=Wacom Bamboo    # name as found above
padbuttons=4         # available buttons on the pad
Jörg Ehrichs's avatar
Jörg Ehrichs committed
181
wheel=no
182
183
touchring=yes
touchstripl=no
Jörg Ehrichs's avatar
Jörg Ehrichs committed
184
185
186
187
188
189
touchstripr=no
hwbutton1=1          # these mag the physical button numbers to what the XServer likes to name them
hwbutton2=2          # see below for more information
hwbutton3=3
hwbutton4=8

Valeriy Malov's avatar
Valeriy Malov committed
190
### hwbuttonX explanantion ###
Jörg Ehrichs's avatar
Jörg Ehrichs committed
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211

Kernels >= 2.6.38 renamed the buttons for some reason.

xsetwacom does not work with the pysical hardware button numbers 1-X
but rather with the real numbers as seen by the XServer

In case you run into trouble with the buttons do the following:
* deinstall the kded/kcm ;)
* disconnect/reconnect the tablet
* run xev in the terminal
* move the mouse over the new window
* press the hardware buttons and write down what button xev sees

and now update the wacom_device list accordingly

for the new Pen & touch tablets before the kernel 2.6.38 we got
hwbutton1=1
hwbutton2=2
hwbutton3=3
hwbutton4=8

Jörg Ehrichs's avatar
Jörg Ehrichs committed
212
for kernels >= 2.6.38 we get
Jörg Ehrichs's avatar
Jörg Ehrichs committed
213
214
215
216
hwbutton1=3
hwbutton2=8
hwbutton3=9
hwbutton4=1
Valeriy Malov's avatar
Valeriy Malov committed
217
218
219
220
221
222
223
224
225

Releasing new version
=====================

Checklist for developers:

* Bump main package version in: `CMakeLists.txt`
* Bump applet version in: `src/applet/package/metadata.desktop`
* Follow https://community.kde.org/ReleasingSoftware