Giter Club home page Giter Club logo

libwacom's Introduction

Overview

libwacom is a library to identify graphics tablets and their model-specific features. It provides easy access to information such as "is this a built-in on-screen tablet", "what is the size of this model", etc.

The name libwacom is historical - it was originally developed for Wacom devices only but now supports any graphics tablet from any vendor.

libwacom does not make a tablet work. libwacom is merely a database with a C library wrapper for information about a tablet. It has no effect on whether that tablet works.

libwacom is currently used by GUI toolkits (GNOME, KDE, others?) to map built-in tablets to the correct screen and by libinput to determine configuration options such as the left-handed settings. SVG layout files are used to describe tablet visually.

Adding tablet descriptions to libwacom

A common indicator that a device is not supported by libwacom is that it works normally in a GNOME session, but the device is not correctly mapped to the screen.

Use the libwacom-list-local-devices tool to list all local devices recognized by libwacom. If your device is not listed, but it is available as an event device in the kernel (see /proc/bus/input/devices) and in the X session (see xinput list), the device is missing from libwacom's database. Use the libwacom-list-devices tool to list all known devices and verify the tablet is not in that list.

To add support for a new tablet to libwacom git:

  1. Create a new tablet definition file. See data/wacom.example in the source for a guideline on how to add a new tablet. For an installed version of libwacom, see the existing data files (e.g. /usr/share/libwacom/cintiq-13hd.tablet)
  2. A new tablet description is enabled by adding and installing a new file with a .tablet suffix. Once installed the tablet is part of libwacom's database, no rebuild is necessary
  3. The tablet is then available through libwacom-list-local-devices

You must update udev after installing the file, see below.

To add support for a tablet to an installed libwacom

If the system-provided libwacom does not include a .tablet file, it is possible to "backport" that .tablet file to the system-provided libwacom.

libwacom 1.10 and newer

Copy the .tablet file into /etc/libwacom and run the libwacom-update-db tool. Copy the tablet's .svg layout file to /etc/libwacom/layouts.

$ cp my-tablet-file-from-upstream.tablet /etc/libwacom/
$ cp my-tablet-file-layout.svg /etc/libwacom/layouts/
$ libwacom-update-db /etc/libwacom

The tool will take care of updating udev, the hwdb, etc.

libwacom 1.9 and earlier

For versions of libwacom <= 1.9, the file must be copied to /usr/share/libwacom. It may be overwritten on updates.

You must update udev after installing the file. The simplest (and broadest) way to do this is outlined below:

# create the hwdb file
$ cat <EOF > /etc/udev/hwdb.d/66-libwacom.hwdb
# WARNING: change "Your Device Name" to the actual name of your device
libwacom:name:Your Device Name*:input:*
 ID_INPUT=1
 ID_INPUT_TABLET=1
 ID_INPUT_JOYSTICK=0

libwacom:name:Your Device Name Pad:input:*
 ID_INPUT_TABLET_PAD=1

# Use this if the device is an external tablet
libwacom:name:Your Device Name Finger:input:*
 ID_INPUT_TOUCHPAD=1

# Use this if the device is a screen tablet
libwacom:name:Your Device Name Finger:input:*
 ID_INPUT_TOUCHSCREEN=1

EOF
$ systemd-hwdb --update

Now disconnect and reconnect the device and it should be detected by libwacom.

API Documentation

The API documentation is available at https://linuxwacom.github.io/libwacom/

libwacom's People

Contributors

2talltech avatar aesarab avatar alenaksu avatar bentiss avatar cosimoc avatar frohro avatar garnacho avatar hadess avatar hellcp avatar jbeich avatar jigpu avatar joaquimrocha avatar joseexposito avatar joshua-dickens avatar leachleach avatar luyatshimbalanga avatar lyude avatar mattie20 avatar mjkim0727 avatar ofourdan avatar p-atr avatar pepper-jelly avatar pinglinux avatar pre-commit-ci[bot] avatar shapeshifter499 avatar skomra avatar soupglasses avatar vchlum avatar whot avatar xyene avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libwacom's Issues

Intuos Pro 2 naming inconsistency

I have written a GUI for configuring wacom tablets (https://github.com/tb2097/wacom-gui) and noted an inconsistency between how xsetwacom and libwacom-data report the Intuos Pro 2 tablets.

PTH-660
xsetwacom: Wacom Intuos Pro M
libwacom-data: Wacom Intuos Pro 2 M

PTH-860
xsetwacom: Wacom Intuos Pro L
libwacom-data: Wacom Intuos Pro 2 L

This minor change would help to bring consistency between device reporting.

Lenovo Yoga 720 13

Hi, Gnome's settings/wacom tablet doesn't detect a stylus or tablet, I've attached the sysinfo output here, hope that helps.

sysinfo.GumyasC18w.tar.gz

Please let me know if any other info is required, would be happy to help and test [if someone is willing to guide me through it].

Huion H610 Pro evtest output

I saw FIXME comment in libwacom/data/huion-h610-pro.tablet, so here's evtest output for old Huion H610 Pro (2048 pressure levels). Values seems to match, if you need any other testing, feel free to let me know.

Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x256c product 0x6e version 0x111
Input device name: "HUION PenTablet Pad"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 256 (BTN_0)
Event code 257 (BTN_1)
Event code 258 (BTN_2)
Event code 259 (BTN_3)
Event code 260 (BTN_4)
Event code 261 (BTN_5)
Event code 262 (BTN_6)
Event code 263 (BTN_7)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:

Support for Graphire 2?

Hello,
Using Ubuntu GNOME 17.04 (GNOME 3.24). I have an old USB Wacom Graphire 2 tablet which works fine on Ubuntu but is not recognized by the system Wacom Tablet settings tool. Looking at the files here, I see that there are .tablet profiles for Graphire, Graphire 3 and Graphire 4. I assume this is why my tablet is not recognized? or is it supposed to use the graphire-usb.tablet, or even the generic.tablet?

If the tablet is indeed unsupported, is there a way to add it?

EDIT: as a test, I tried to create a graphire2.tablet in /usr/share/libwacom with the following and it seems to work, at least partly:

# Wacom
# Graphire 2
# ET-0405A-U
#
# Button Map:
# (A=1, B=2, C=3, ...)
#
#      *----------------------*
#      |                      |
#      |                      |
#      |                      |
#      |        TABLET        |
#      |                      |
#      |                      |
#      |                      |
#      *----------------------*
#

[Device]
Name=Wacom Graphire 2
DeviceMatch=usb:056a:0011
Class=Graphire
Width=5
Height=4

[Features]
Stylus=true
Buttons=0

The tablet is now seen in the Wacom Tablet tool, in the "Tablet" tab. But nothing is seen in the "Stylus" one, not sure it's normal (i.e. is it for newer/professional tablets that have advanced styluses or something?).

Wacom one medium no more recognized

Hello,
My Wacom one medium tablet was not recognized on both of my computers under Ubuntu 16.04.
Although I'm not a developer, I tried to fix that by building the drivers from the sources you are providing because i can't wait any longer a built-in version in Ubuntu. Your explanations were very helpful for a non professional like me, thank you so much for that.
Unfortunately, on both computers, my tablet is still not recognized. BUT more than that, on my old Packard Bell EasyNote, it actually DID work for a while yesterday at night, just after the upgrading of the drivers, but it is not working anymore this morning. I've done nothing in the meantime, except to shutdown the computer.
I'm attaching the logs you asked for on another similar topic.
By the way, if this is not the best place to get help for a grassroots user like me, could you please tell me were i can get this kind of advanced help, because i'd really love to use my Wacom tablet and on "general" Ubuntu forums, people there can't help much more than by saying to look here.
Regards
sysinfo.LKtj9xwr3T.tar.gz

Documentation update?

I'm going through the install procedure listed here https://github.com/linuxwacom/libwacom/wiki and ran into some dependencies that needed to be installed before the build would work, namely (for lubuntu 18.04): autoconf and libtool. Once those were installed everything worked fine for me. Thanks for your effort in maintaining this!

Cintiq Pro 2 24/ExpressKey Remote naming inconsistency

This is a similar issue to the one found in #64 with the values from xsetwacom not matching those provided by libwacom; I have implemented a hack to get around it for now: [[tb2097/wacom-gui/issues/26]]

Fixes required:
data/ek-remote.tablet:
15 - Name=Wacom ExpressKey Remote
15 + Name=Wacom Express Key Remote

data/cintiq-pro-24-p.tablet:
30 - Name=Wacom Cintiq Pro 24 P
30 + Name=Wacom Cintiq Pro 24

data/cintiq-pro-24-pt.tablet:
30 - Name=Wacom Cintiq Pro 24 PT
30 + Name=Wacom Cintiq Pro 24

Surface Pro pen/stylus NTRIG does not rotate

Hello, on the Jakeday kernel git (kernel to adapt Linux to Microsoft Surface Pro), an .deb version of libwacom has been proposed to support the NTRIG stylus.

In my case (Debian 10, kernel 4.19, libwacom-0.32 deb file), I didn't install the Jakeday kernel, only the libwacom.deb. And unfortunately, if the stylus is properly taken into account, when the screen rotates in portrait or reverse landscape mode, the stylus retains its original orientation (e. g. in portrait, if I move the stylus to the right, the cursor goes up).

We think that a script or an adjustment of the.deb is necessary to take into account the stylus rotation, but we don't have the knowledge to implement it.

Do you think you can help us solve this problem, please?

In any case, thank you for your help.

tablet file for the Turcom TS-6610

The TS-6610 is just a re-branded Huion H610. Basically identical in every way (even the same IDs), but different enough that the Huion's .tablet file doesn't pick it up. I modified a copy of the Huion's file to change or erase the device/vendor names and that seems to do the trick.

libwacom picks it up perfectly and the settings mostly work. The "Left-Handed Orientation" checkbox doesn't work so I set that to false. The "Tracking Mode" dropdown also doesn't work but I don't know how to make that disappear.

# TS-6610
#

[Device]
Name=Turcom TS-6610
DeviceMatch=usb:256c:006e
Class=Bamboo
Width=10
Height=6
IntegratedIn=
Layout=huion-h610-pro.svg
Styli=0xffffd;

[Features]
Stylus=true
Reversible=true
Touch=false
Buttons=8

[Buttons]
Left=A;B;C;D;E;F;G;H
# FIXME: This needs to be verified by someone with an actual device
EvdevCodes=0x100;0x101;0x102;0x103;0x104;0x105;0x106;0x107```

Graphics Tablet Settings Automatically close

I have Ubuntu 18.04 using Cinnamon Desktop. I have tried to follow steps to install libwacom. Once I've installed and logged out of Ubuntu and relogged back in, the Graphics Tablet Settings Automatically close every time I try to open it. By the way, I recently bought Wacom CTL-4100 tablet.

Thinkpad Pen Pro is not recognized by libwacom

Device name
Thinkpad Pen Pro on a Thinkpad X1 Yoga 3rd Gen (Wacom ISDv4 5146)

Device model identifier
SD60M68133 (only number I could find)

udevadm info output
➜ ~ udevadm info /sys/class/input/event7
P: /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1/0003:056A:5146.0002/input/input16/event7
N: input/event7
S: input/by-id/usb-Wacom_Co._Ltd._Pen_and_multitouch_sensor-if01-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:10:1.1-event-mouse
E: DEVLINKS=/dev/input/by-id/usb-Wacom_Co._Ltd._Pen_and_multitouch_sensor-if01-event-mouse /dev/input/by-path/pci-0000:00:14.0-usb-0:10:1.1-event-mouse
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1/0003:056A:5146.0002/input/input16/event7
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=174
E: ID_INPUT_TABLET=1
E: ID_INPUT_WIDTH_MM=309
E: ID_MODEL=Pen_and_multitouch_sensor
E: ID_MODEL_ENC=Pen\x20and\x20multitouch\x20sensor
E: ID_MODEL_ID=5146
E: ID_PATH=pci-0000:00:14.0-usb-0:10:1.1
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_10_1_1
E: ID_REVISION=0003
E: ID_SERIAL=Wacom_Co._Ltd._Pen_and_multitouch_sensor
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=Wacom_Co._Ltd.
E: ID_VENDOR_ENC=Wacom\x20Co.\x2cLtd.
E: ID_VENDOR_ID=056a
E: LIBINPUT_DEVICE_GROUP=3/56a/5146:usb-0000:00:14.0-10
E: LIBINPUT_FUZZ_00=4
E: LIBINPUT_FUZZ_01=4
E: MAJOR=13
E: MINOR=71
E: SUBSYSTEM=input
E: USEC_INITIALIZED=18289453

Apps doesn't recognize Trust Flex Graphics Tablet stylus buttons

Hello!

I trying to use Trust Flex Graphics Tablet with Krita, but find that I can not remap stylus buttons to Krita functions such as eraser and pop-up palette. According to @whot

pad buttons being BTN_FORWARD and BTN_EXTRA is not that uncommon, a client should be able to handle this. You will need a libwacom patch adding EvdevCodes to the tablet data file for this though

(source)

It's seems like it should be possible to somehow solve this issue in libwacom? If so, is there examples of patches that add EvdevCodes and how I can write one myself?

Add support for Surface Go

Ok this tablet appears to have similar issues to #70 another tablet I own. Below are a ton of logs I took of this system.

Current issue is that if the pen is tilted to far over to any side it triggers the eraser even though the pen tip is against the screen. This makes it impossible to write or draw.

System setup

Surface Go
4GB RAM
64GB Storage
400GB Micro SD Card
Antergos (Arch Linux fork) installed to Micro SD with bootloader installed to internal storage.
No Windows of any kind installed. No dual-booting

Xorg Configuration

60-wacom.conf.txt This is the configuration for the stylus, without it eraser functionality does not work at all. This configuration is in use no matter what combination of drivers and kernel changes I used. Saved to /etc/X11/xorg.conf.d/60-wacom.conf

Mainline Kernel + Mainline libwacom drivers

Mainline everything, these logs were taken with the provided kernel and libwacom drivers supplied by the official Arch Linux repository.

uname.txt
xinput.txt

Taken with script from https://github.com/linuxwacom/wacom-hid-descriptors
sysinfo.Y7tzrKBUX8.tar.gz

Logs taken with evemu-record
evemu-devices.txt
evemu-describe_dev-input-event13.txt
evemu-describe_dev-input-event14.txt
pen_prox-no-touch-ID13.log
pen_prox-no-touch-ID14.log
pen_prox-no-touch-long-ID13.log
pen_prox-no-touch-long-ID14.log
pen_prox-no-touch-quick-ID13.log
pen_prox-no-touch-quick-ID14.log
pen_touch-ID13.log
pen_touch-ID14.log
pen_touch-long-ID13.log
pen_touch-long-ID14.log
pen_touch-quick-ID13.log
pen_touch-quick-ID14.log
rubber_prox-no-touch-ID13.log
rubber_prox-no-touch-ID14.log
rubber_prox-no-touch-long-ID13.log
rubber_prox-no-touch-long-ID14.log
rubber_prox-no-touch-quick-ID13.log
rubber_prox-no-touch-quick-ID14.log
rubber_touch-ID13.log
rubber_touch-ID14.log
rubber_touch-long-ID13.log
rubber_touch-long-ID14.log
rubber_touch-quick-ID13.log
rubber_touch-quick-ID14.log

Logs taken with hid-record from https://gitlab.freedesktop.org/libevdev/hid-tools
devices.txt
pen_prox-no-touch.log
pen_prox-no-touch-long.log
pen_prox-no-touch-quick.log
pen_touch.log
pen_long-touch.log
pen_quick-touch.log
rubber_prox-no-touch.log
rubber_prox-no-touch-long.log
rubber_prox-no-touch-quick.log
rubber_touch.log
rubber_long-touch.log
rubber_quick-touch.log
side_button-hover-no-touch.log
side_button-pen-touch.log

Mainline kernel + libwacom patches from @qzed

These logs were taken with the mainline kernel as provided by Arch Linux but I tried the patches from user @qzed https://github.com/qzed/libwacom-surface

uname.txt
xinput.txt

Taken with script from https://github.com/linuxwacom/wacom-hid-descriptors
sysinfo.sh0Yu9n3Hv.tar.gz

Logs taken with evemu-record
evemu-devices.txt
evemu-describe_dev-input-event11.txt
evemu-describe_dev-input-event12.txt
pen_prox-no-touch-ID11.log
pen_prox-no-touch-ID12.log
pen_prox-no-touch-long-ID11.log
pen_prox-no-touch-long-ID12.log
pen_prox-no-touch-quick-ID11.log
pen_prox-no-touch-quick-ID12.log
pen_touch-ID11.log
pen_touch-ID12.log
pen_touch-long-ID11.log
pen_touch-long-ID12.log
pen_touch-quick-ID11.log
pen_touch-quick-ID12.log
rubber_prox-no-touch-ID11.log
rubber_prox-no-touch-ID12.log
rubber_prox-no-touch-long-ID11.log
rubber_prox-no-touch-long-ID12.log
rubber_prox-no-touch-quick-ID11.log
rubber_prox-no-touch-quick-ID12.log
rubber_touch-ID11.log
rubber_touch-ID12.log
rubber_touch-long-ID11.log
rubber_touch-long-ID12.log
rubber_touch-quick-ID11.log
rubber_touch-quick-ID12.log

Logs taken with hid-record from https://gitlab.freedesktop.org/libevdev/hid-tools
devices.txt
pen_prox-no-touch.log
pen_prox-no-touch-long.log
pen_prox-no-touch-quick.log
pen_touch.log
pen_touch-long.log
pen_touch-quick.log
rubber_prox-no-touch.log
rubber_prox-no-touch-long.log
rubber_prox-no-touch-quick.log
rubber_touch.log
rubber_touch-long.log
rubber_touch-quick.log
side_button-hover-no-touch.log
side_button-pen-touch.log

@jakeday kernel patches + mainline libwacom drivers

These logs where taken with a patched kernel using patches from @jakeday, https://github.com/jakeday/linux-surface But built with helper script from @dmhacker, https://github.com/dmhacker/arch-linux-surface
The libwacom drivers and packages are from the official Arch Linux repository.

uname.txt
xinput.txt

Taken with script from https://github.com/linuxwacom/wacom-hid-descriptors
sysinfo.WHc5RONH8s.tar.gz

Logs taken with evemu-record
evemu-devices.txt
evemu-describe_dev-input-event11.txt
evemu-describe_dev-input-event12.txt
pen_prox-no-touch-ID11.log
pen_prox-no-touch-ID12.log
pen_prox-no-touch-long-ID11.log
pen_prox-no-touch-long-ID12.log
pen_prox-no-touch-quick-ID11.log
pen_prox-no-touch-quick-ID12.log
pen_touch-ID11.log
pen_touch-ID12.log
pen_touch-long-ID11.log
pen_touch-long-ID12.log
pen_touch-quick-ID11.log
pen_touch-quick-ID12.log
rubber_prox-no-touch-ID11.log
rubber_prox-no-touch-ID12.log
rubber_prox-no-touch-long-ID11.log
rubber_prox-no-touch-long-ID12.log
rubber_prox-no-touch-quick-ID11.log
rubber_prox-no-touch-quick-ID12.log
rubber_touch-ID11.log
rubber_touch-ID12.log
rubber_touch-long-ID11.log
rubber_touch-long-ID12.log
rubber_touch-quick-ID11.log
rubber_touch-quick-ID12.log

Logs taken with hid-record from https://gitlab.freedesktop.org/libevdev/hid-tools
devices.txt
pen_prox-no-touch.log
pen_prox-no-touch-long.log
pen_prox-no-touch-quick.log
pen_touch.log
pen_touch-long.log
pen_touch-quick.log
rubber_prox-no-touch.log
rubber_prox-no-touch-long.log
rubber_prox-no-touch-quick.log
rubber_touch.log
rubber_touch-long.log
rubber_touch-quick.log
side_button-hover-no-touch.log
side_button-pen-touch.log

@jakeday kernel patches + libwacom patches from @qzed

I tried a combination of the patches from @jakeday, https://github.com/jakeday/linux-surface with helper script from @dmhacker, https://github.com/dmhacker/arch-linux-surface and the libwacom patches from @qzed, https://github.com/qzed/libwacom-surface

uname.txt
xinput.txt

Taken with script from https://github.com/linuxwacom/wacom-hid-descriptors
sysinfo.6YYPdnPBOD.tar.gz

Logs taken with evemu-record
evemu-devices.txt
evemu-describe_dev-input-event09.txt
evemu-describe_dev-input-event10.txt
pen_prox-no-touch-ID09.log
pen_prox-no-touch-ID10.log
pen_prox-no-touch-long-ID09.log
pen_prox-no-touch-long-ID10.log
pen_prox-no-touch-quick-ID09.log
pen_prox-no-touch-quick-ID10.log
pen_touch-ID09.log
pen_touch-ID10.log
pen_touch-long-ID09.log
pen_touch-long-ID10.log
pen_touch-quick-ID09.log
pen_touch-quick-ID10.log
rubber_prox-no-touch-ID09.log
rubber_prox-no-touch-ID10.log
rubber_prox-no-touch-long-ID09.log
rubber_prox-no-touch-long-ID10.log
rubber_prox-no-touch-quick-ID09.log
rubber_prox-no-touch-quick-ID10.log
rubber_touch-ID09.log
rubber_touch-ID10.log
rubber_touch-long-ID09.log
rubber_touch-long-ID10.log
rubber_touch-quick-ID09.log
rubber_touch-quick-ID10.log

Logs taken with hid-record from https://gitlab.freedesktop.org/libevdev/hid-tools
devices.txt
pen_prox-no-touch.log
pen_prox-no-touch-long.log
pen_prox-no-touch-quick.log
pen_touch.log
pen_touch-long.log
pen_touch-quick.log
rubber_prox-no-touch.log
rubber_prox-no-touch-long.log
rubber_prox-no-touch-quick.log
rubber_touch.log
rubber_touch-long.log
rubber_touch-quick.log
side_button-hover-no-touch.log
side_button-pen-touch.log

Tablet does not get recognized correctly (Lenovo LT1423p)

Not sure where to report, but I have a Lenovo LT1423p, which is an external display using the DisplayLink protocol and comes with both a capacitive touch as wacom EMR based digitzer. The digitizer and touch input work, but I am unable to configure (and/or calibrate) the digitzer from Gnome's control center as it states "No stylus found" and "No tablet detected"... while the "Test Your Settings" allows for stokes with pressure sensitivity.

image

Can't draw and zoom in X1 Yoga gen 3 (2018)

Hi,
I have X1 Yoga Gen 3(2018) and install Manjaro KDE on it. I already install libwacom and xf86-input-wacom package, but pen can't draw, just have default function like finger. I read troubleshooting but don't know how to fix it.
Also I can't zoom in the touch screen by pinch in, pinch out. And touch screen seem like a little bit delay, inaccuracy for me(scrolling not smooth as touchpad).
Here is my command, if you want to know more information, let me know.

libwacom-list-local-devices
[Device]
Name=Wacom Serial Tablet WACf004
DeviceMatch=serial:0000:0000;
Class=ISDV4
Width=0
Height=0
IntegratedIn=Display;System;
Styli=0xfffff;0xffffe;

[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=false
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=0

Thank you!

Support for Huion WH1409?

If I had a better idea of how to find the info I need, I'd make the .tablet file myself; unfortunately, digging through what info I did get from the sysinfo script didn't help me much.
I have included it-- thanks a bunch, if you happen to get it working.
sysinfo.UTEF4Bvs3a.tar.gz

Acer Switch SA5-271P

Hi there,
I just wanted to preface (and apologise) my request with admitting that I (really) tried to create a .tablet file and make heads or tails from the output from syslog.sh. Here's the output: sysinfo.w2eKVXTjLQ.tar.gz

I'm sorry but I ran into lots of uncertainties in the process...
I also looked at the file created by @Curious-Octopus on issue #33 but I think that's missing some details.

Some more info that might help with configuring the file:

  • The device in question is a touchscreen with stylus. Screen has 4 buttons, stylus has 2 buttons
  • At present, both are not recognised by Wacom. Despite this:
    • Touchscreen works, all 4 buttons work as expected (suspend, volume up/down, Windows)
    • Stylus works although had to tweak xinput's Coordinate Transformation Matrix when it's rotated 90/180/270 degrees
    • One button on the stylus was recognised as a left mouse-click.

Device name
I believe the touchscreen is ELAN 5515
The PC is model SA5-271P running Ubuntu GNOME 18.10, the stylus is model ACS-032

Device model identifier
Unclear :( I tried to figure out the bus however I found a few mentions of PCI in the logs, however the other ELAN files say it's I2C. I also could not find the identifier in the kernel log.

udevadm info output
This is not present in both my udevadm output files.

This is the best I came up with:

[Device]
Name=ELAN 5515
DeviceMatch=??? pci:04F3:2339 or i2c:04F3:2339
PairedIDs=??? should I have this for the pen?
Class=???
IntegratedIn=Display
Styli=???

[Features]
Stylus=true
Reversible=true
Touch=true
Buttons=4

[Buttons]
Left=A;B;C;D
??? should there be definition of the two stylus buttons?

I'm happy to try again with a bit of guidance.
Thank you

new tablet file for CTE-660

the tablet works but does not
show up in GNOME's configuration panel

Device name
CTE-660

bamboo-one-m.tablet

[Device]
Name=Wacom CTE-660
DeviceMatch=usb:056a:006b
Class=Bamboo
Width=8
Height=5

[Features]
Stylus=true

Add Toshiba Portege X20W-D Convertible and Toshiba TruPen

Hello, I created a model description file (libwacom/data) for the Toshiba Portege X20W-D Convertible and Toshiba TruPen.

The isdv4-502a.tablet file (unfortunately as .txt, because .tablet could not be uploaded): isdv4-502a.txt

# Toshiba Portege X20W-D Convertible and Toshiba TruPen

[Device]
Name=Wacom ISDv4 50a2
DeviceMatch=usb:056a:50a2
Class=ISDV4
Width=11
Height=6
IntegratedIn=Display;System

[Features]
Stylus=true
Touch=true
Buttons=0

This is the output from: sudo lsusb | grep Wacom

Bus 001 Device 002: ID 056a:50a2 Wacom Co., Ltd

I added Class=ISDV4 to the description file, although it does not appear in the above output.
I did this based on the previously added convertibles.

After moving the isdv4-502a.tablet to /usr/share/libwacom/ the device appears in the gnome-settings panel under wacom tablets.

Add Monitor EDID to the data files

g-s-d/gnome-control-center/mutter have heuristics to pick the right monitor for the various tablet devices. For external devices that's guesswork anyway but for internal devices we could make their life a lot simpler by just providing some monitor information that we know matches the device. This should make it possible to reliably identify Cintiqs to their respective monitor.

cc @bentiss because he came up with this idea.

cc @garnacho, @jigpu

Problems with Wacom Bamboo stylus

Just updated my PC from the last LTS Ubuntu distro to 18.04LTS, and the stylus on my Wacom Wireless Bamboo tablet immediately lost all button function.

The system seems to be tracking the stylus itself, as moving it over the pad causes the cursor to move around the screen, but touching the stylus to the pad and/or clicking the button on the stylus body gets no response.

The touchpad function on the tablet itself, on the other hand, responds to finger drags and taps as cursor movement and clicks, respectively. The A/B buttons at the foot of the tablet do not respond, same as the stylus buttons. Deets as follows:

Tablet Model: Wacom Bamboo Pad (Wireless), CTH-300/K
System: Ubuntu 18.04.1 LTS, 64-bit

Devices > Wacom Tablet: Displays "No stylus found / Please move your stylus to the proximity of the tablet to configure it" and doesn't respond to stylus cursor movement in that area. Tablet > Wacom Bamboo Pad Wireless > Tracking Mode is "Tablet (absolute)". Trying to use "Map Buttons..." to set the A/B tablet buttons doesn't work; they display on screen for mapping but don't respond to being pressed.

libwacom-list-local-devices:
One point I noticed: Libwacom lists the tablet stylus as 0xfffff;0xffffe, which are the codes for a default standard stylus and a stylus with an eraser. The stylus for the Bamboo Pad doesn't have an eraser or a rocker button, and should be set as type 0xffffd. Not sure if this means it's related to this bug or not.

[Device]
Name=Wacom Bamboo Pad Wireless
DeviceMatch=usb:056a:0319;
Class=Bamboo
Width=4
Height=3
IntegratedIn=
Layout=bamboo-pad.svg
Styli=0xfffff;0xffffe;

[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=true
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=2
[Buttons]
Left=
Right=
Top=
Bottom=A;B;
Touchstrip=
Touchstrip2=
OLEDs=
Ring=
Ring2=
EvdevCodes=0x110;0x111;
RingNumModes=0
Ring2NumModes=0
StripsNumModes=0

---------------------------------------------------------------
[Device]
Name=Wacom Bamboo Pad Wireless
DeviceMatch=usb:056a:0319;
Class=Bamboo
Width=4
Height=3
IntegratedIn=
Layout=bamboo-pad.svg
Styli=0xfffff;0xffffe;

[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=true
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=2
[Buttons]
Left=
Right=
Top=
Bottom=A;B;
Touchstrip=
Touchstrip2=
OLEDs=
Ring=
Ring2=
EvdevCodes=0x110;0x111;
RingNumModes=0
Ring2NumModes=0
StripsNumModes=0

---------------------------------------------------------------

xinput --list:
Also lists an eraser that isn't there

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0	id=9	[slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0	id=10	[slave  pointer  (2)]
⎜   ↳ Wacom Wireless Bamboo PAD Pen stylus    	id=11	[slave  pointer  (2)]
⎜   ↳ Wacom Wireless Bamboo PAD Finger touch  	id=15	[slave  pointer  (2)]
⎜   ↳ Wacom Wireless Bamboo PAD Pen eraser    	id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0	id=8	[slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0	id=13	[slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v7.0	id=14	[slave  keyboard (3)]

xinput props:
Noted that there are far more buttons listed than the stylus actually has.

    /usr/share/libwacom$ xinput --list-props "Wacom Wireless Bamboo PAD Pen stylus"
Device 'Wacom Wireless Bamboo PAD Pen stylus':
	Device Enabled (139):	1
	Coordinate Transformation Matrix (141):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (270):	0
	Device Accel Constant Deceleration (271):	1.000000
	Device Accel Adaptive Deceleration (272):	1.000000
	Device Accel Velocity Scaling (273):	10.000000
	Device Node (262):	"/dev/input/event5"
	Wacom Tablet Area (299):	0, 0, 10690, 6680
	Wacom Rotation (300):	0
	Wacom Pressurecurve (301):	0, 0, 100, 100
	Wacom Serial IDs (302):	793, 1, 2, 0, 0
	Wacom Serial ID binding (303):	0
	Wacom Pressure Threshold (304):	26
	Wacom Sample and Suppress (305):	2, 4
	Wacom Enable Touch (306):	1
	Wacom Hover Click (307):	1
	Wacom Enable Touch Gesture (308):	0
	Wacom Touch Gesture Parameters (309):	0, 0, 250
	Wacom Tool Type (310):	"STYLUS" (292)
	Wacom Button Actions (311):	"Wacom button action 0" (312), "Wacom button action 1" (313), "Wacom button action 2" (314), "None" (0), "None" (0), "None" (0), "None" (0), "Wacom button action 3" (315)
	Wacom button action 0 (312):	1572865
	Wacom button action 1 (313):	1572866
	Wacom button action 2 (314):	1572867
	Wacom button action 3 (315):	1572872
	Wacom Pressure Recalibration (316):	1
	Wacom Panscroll Threshold (317):	1209
	Device Product ID (263):	1386, 793
	Wacom Debug Levels (318):	0, 0

xinput test "Wacom Wireless Bamboo PAD Pen stylus":

Pen movement:

motion a[0]=7676 a[1]=3667 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7663 a[1]=3660 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7656 a[1]=3650 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7657 a[1]=3642 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7669 a[1]=3637 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
motion a[0]=7688 a[1]=3635 a[2]=0 a[3]=0 a[4]=0 a[5]=-900 
(etc.)

Pen "click"/touch:

motion a[0]=7658 a[1]=3641 a[2]=31164 a[3]=0 a[4]=0 a[5]=-900 

Pen button click: No noticeable response


If anyone has any ideas on how to proceed, I'd appreciate it. I'd like to try to remove the extra button mapping, reassign libwacom's styli code for the tablet, and/or find out exactly what the button action codes correspond to, but I'm having difficulty finding information on how to do any of that. (And I'd rather not kill what little functionality I still have.)

I've also had issues with assigning persistent settings to this tablet in the past, though I'm not sure if that has anything to do with what's going on now.

Acer Spin 5

Good day. I am trying to add support for my Acer Spin 5's Pen(2 in 1 pc). However I have an issue. I cannot edit the stylus. One button acts as a middle mouse. The other seems blank. Stylus settings won't detect a stylus. Tablet is detected though.

[Device]
Name=ELAN Touchscreen Pen Pen (0)
DeviceMatch=usb:04f3:2560
IntegratedIn=Display;System

[Features]
Stylus=true
Touch=false
Buttons=0
[Device]
Name=ELAN Touchscreen Pen Pen (0)
DeviceMatch=usb:04f3:2560
IntegratedIn=Display;System
Styli=0xfffff;0xffffe

[Features]
Stylus=true
Reversible=false
Touch=false
TouchSwitch=false
Ring=false
Ring2=false
NumStrips=0
Buttons=2

Add support for multiple devices from wacom-hid-descriptors

At least the following tablet PCs need support added to libwacom:

  • Dell XPS 13 9365
    • 0018:056a:4831
    • Touch: 29.38 cm x 16.52 cm (11752x6608)
    • Pen: 29.376 cm x 16.524 cm (29376x16524)
  • HP EliteBook x360 1030 G2
    • 0018:056a:481a
    • Touch: 29.38 cm x 16.52 cm (11752x6608)
    • Pen: 29.376 cm x 16.524 cm (29376x16524)
  • Dell Latitude 5285
    • 0018:056a:484c
    • Touch: 25.92 cm x 17.28 cm (10368x6912)
    • Pen: 25.920 cm x 17.280 cm (25920x17280)
  • Lenovo ThinkPad Yoga 720
    • i2c?:056a:50f8
    • Touch: 344x194mm
    • Pen: 344x194mm
  • Lenovo ThinkPad Yoga 260 (Version C)
    • usb:056a:5090
    • Touch: 27.65 cm x 15.55 cm (11060x6220)
    • Pen: 27.648 cm x 15.552 cm (27648x15552)

Trying to include Wacom BambooFun 4x5 Pad (CTE-450)

I'm trying to create the .tablet file for old Bamboo Fun 4x5 as it was detected and operational by Linux but missing from the gnome-control-center and libwacom. I started from the already existing "bamboo-0fg-s-p.tablet" file, which seems to be a very similar tablet but with code MTE-450 and a stylus with no rubber.
I created a new file, modified the values for Name and DeviceMatch according to the output of evtest (Name=Wacom BambooFun 4x5 Pad, DeviceMatch=usb:056a:0017) and copied that new file to /usr/share/libwacom.
After that libwacom detects my tablet, but it shows twice the same info (libwacom-list-local-devices.txt). I don't know if that's normal or not, but the problems I have right now are:

  • gnome-control-center doesn't show any stylus, so I can't configure buttons. I didn't add any stylus to the Styili parameter in .tablet file, the same of the others bamboo tablets.
  • gnome-control-center does shows the also shows the tablet, but when I try to map the buttons they are not correctly detected: when I click the button A, it detects button D; when I click B, nothing happens; when I click C, it detects A; and when I click D, it detects C.

Of course, I checked the key codes using evtest clicking each button and I could confirm the that the codes for the MTE-450 models are correct for the CTE-450 (keys_pad.txt, keys_stylus.txt).

  • Button A = 278 (0x116)
  • Button B = 277 (0x115)
  • Button C = 272 (0x110)
  • Button D = 273 (0x111)

I don't know what I'm doing wrong. Any help will be appreciated because I really want to be able to use this tablet. I included here the .tablet I've created (bamboo-0fg-s-p-alt.tablet.txt, extension .txt is only for github allow me to upload the file).

In case it's needed I'm using Arch Linux with:

  • Kernel 4.19.2-arch1-1-ARCH
  • Gnome 3.20.2
  • libwacom 0.32-1

Wacom One Small not recognized

On Ubuntu 18.04 Wacom One (CTL-672) is not being recognized by Ubuntu.

lsusb | grep Wacom gives Bus 001 Device 006: ID 056a:037b Wacom Co., Ltd

Support for Wireless Bamboo Pad

I'm trying to add the .tablet configuration file for the Wacom Wireless Bamboo Pad, since it is currently not listed in usr/share/libwacom (but it is listed here)

This is the output when I run sudo cat /proc/bus/input/devices :

I: Bus=0003 Vendor=056a Product=0319 Version=0110
N: Name="Wacom Wireless Bamboo PAD Pen"
P: Phys=usb-0000:00:14.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:056A:0319.002D/input/input117
U: Uniq=
H: Handlers=mouse0 event6 
B: PROP=1
B: EV=b
B: KEY=c03 0 0 0 0 0
B: ABS=1000003

I: Bus=0003 Vendor=056a Product=0319 Version=0110
N: Name="Wacom Wireless Bamboo PAD Finger"
P: Phys=usb-0000:00:14.0-1/input3
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.3/0003:056A:0319.0030/input/input127
U: Uniq=
H: Handlers=mouse2 event17 
B: PROP=1
B: EV=b
B: KEY=e420 30000 0 0 0 0
B: ABS=260800000000003

I am unsure how to find the right button positions and stylus ID. Any help with making the file / adding support for this would be much appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.