From 4f943544e27118c5be636a2b4b80429dac9fb052 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 14 Jul 2020 01:36:15 +0000 Subject: [PATCH] import libwacom-1.1-3.el8 --- SOURCES/0000-lenovo-isdv4-tablets.patch | 1062 +++++++++++++++++ ...pecific-stylus-tests-into-their-own-.patch | 113 ++ ...-WSTYLUS_MOBILE-type-for-AES-devices.patch | 134 +++ ...-Add-multiple-AES-stylus-definitions.patch | 269 +++++ ...-aes-stylus-group-to-all-AES-sensors.patch | 1014 ++++++++++++++++ SPECS/libwacom.spec | 12 +- 6 files changed, 2603 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0000-lenovo-isdv4-tablets.patch create mode 100644 SOURCES/0014-test-Split-EMR-specific-stylus-tests-into-their-own-.patch create mode 100644 SOURCES/0015-Introduce-WSTYLUS_MOBILE-type-for-AES-devices.patch create mode 100644 SOURCES/0016-Add-multiple-AES-stylus-definitions.patch create mode 100644 SOURCES/0017-Add-isdv4-aes-stylus-group-to-all-AES-sensors.patch diff --git a/SOURCES/0000-lenovo-isdv4-tablets.patch b/SOURCES/0000-lenovo-isdv4-tablets.patch new file mode 100644 index 0000000..e7961fd --- /dev/null +++ b/SOURCES/0000-lenovo-isdv4-tablets.patch @@ -0,0 +1,1062 @@ +From bd11d3c9b5b05f02e6307af6424cb1a1f292b555 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Thu, 10 Oct 2019 13:37:39 -0700 +Subject: [PATCH libwacom 01/17] data: Add ISDv4 51BF (Lenovo X1 Yoga 4th) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/61 +Signed-off-by: Jason Gerecke +(cherry picked from commit a804a8013b47db3a5ed723da31806ff5cf7d2662) +--- + data/isdv4-51bf.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-51bf.tablet + +diff --git a/data/isdv4-51bf.tablet b/data/isdv4-51bf.tablet +new file mode 100644 +index 0000000..258825b +--- /dev/null ++++ b/data/isdv4-51bf.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo X1 Yoga 4th-gen ++ ++[Device] ++Name=Wacom ISDv4 51BF ++ModelName= ++DeviceMatch=usb:056a:51bf ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index ff936e6..bb405ea 100644 +--- a/meson.build ++++ b/meson.build +@@ -232,6 +232,7 @@ data_files = [ + 'data/isdv4-50f1.tablet', + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', ++ 'data/isdv4-51bf.tablet', + 'data/isdv4-90.tablet', + 'data/isdv4-93.tablet', + 'data/isdv4-100.tablet', +-- +2.26.2 + +From 266251165ede72e530e0a9a4f4c0763fb0d3df6c Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Mon, 14 Oct 2019 16:21:19 -0700 +Subject: [PATCH libwacom 02/17] data: Add ISDv4 5147 (Lenovo ThinkPad X1 Yoga + 3rd) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/66 +Signed-off-by: Jason Gerecke +(cherry picked from commit 66bc8b1c80b8cc2e24f1aac5dc88fcd1ac563a71) +--- + data/isdv4-5147.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-5147.tablet + +diff --git a/data/isdv4-5147.tablet b/data/isdv4-5147.tablet +new file mode 100644 +index 0000000..9a5a386 +--- /dev/null ++++ b/data/isdv4-5147.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo ThinkPad X1 Yoga (3rd-gen) ++ ++[Device] ++Name=Wacom ISDv4 5147 ++ModelName= ++DeviceMatch=usb:056a:5147 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index bb405ea..0b29588 100644 +--- a/meson.build ++++ b/meson.build +@@ -283,6 +283,7 @@ data_files = [ + 'data/isdv4-5122.tablet', + 'data/isdv4-5128.tablet', + 'data/isdv4-5146.tablet', ++ 'data/isdv4-5147.tablet', + 'data/isdv4-5150.tablet', + 'data/isdv4-5157.tablet', + 'data/isdv4-5158.tablet', +-- +2.26.2 + +From 8270582e2463ccea3ea7f947bed62a7eea3da2bb Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Wed, 23 Oct 2019 10:15:50 -0700 +Subject: [PATCH libwacom 03/17] data: Add ISDv4 50EF (Lenovo YOGA 720-13IKB) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/68 +Signed-off-by: Jason Gerecke +(cherry picked from commit dfb1cad033ddfbcd54b528ef081a73043d4746d0) +--- + data/isdv4-50ef.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-50ef.tablet + +diff --git a/data/isdv4-50ef.tablet b/data/isdv4-50ef.tablet +new file mode 100644 +index 0000000..8bd9650 +--- /dev/null ++++ b/data/isdv4-50ef.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo YOGA 720-13IKB ++ ++[Device] ++Name=Wacom ISDv4 50ef ++ModelName= ++DeviceMatch=i2c:056a:50ef ++Class=ISDV4 ++Width=12 ++Height=6 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index 0b29588..66d5b51 100644 +--- a/meson.build ++++ b/meson.build +@@ -229,6 +229,7 @@ data_files = [ + 'data/isdv4-50b8.tablet', + 'data/isdv4-50db.tablet', + 'data/isdv4-50e9.tablet', ++ 'data/isdv4-50ef.tablet', + 'data/isdv4-50f1.tablet', + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', +-- +2.26.2 + +From 89287da3022c1ae1b37e7bd1a4578d75c3ca3aea Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Wed, 6 Nov 2019 13:28:28 -0800 +Subject: [PATCH libwacom 04/17] data: Add ISDv4 5196 (Lenovo YOGA C930-13IKB) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/69 +Signed-off-by: Jason Gerecke +(cherry picked from commit 5de35272773a29d61f8f4597246c37c3a2a06aff) +--- + data/isdv4-5196.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-5196.tablet + +diff --git a/data/isdv4-5196.tablet b/data/isdv4-5196.tablet +new file mode 100644 +index 0000000..eb5e15f +--- /dev/null ++++ b/data/isdv4-5196.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo YOGA C930-13IKB ++ ++[Device] ++Name=Wacom ISDv4 5196 ++ModelName= ++DeviceMatch=i2c:056a:5196 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index 66d5b51..dd9c8ed 100644 +--- a/meson.build ++++ b/meson.build +@@ -289,6 +289,7 @@ data_files = [ + 'data/isdv4-5157.tablet', + 'data/isdv4-5158.tablet', + 'data/isdv4-5169.tablet', ++ 'data/isdv4-5196.tablet', + 'data/isdv4-e2.tablet', + 'data/isdv4-e3.tablet', + 'data/isdv4-e5.tablet', +-- +2.26.2 + +From f5941dc6977d35b37e2e903a6afa3a248376c1a5 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Mon, 18 Nov 2019 13:41:31 -0800 +Subject: [PATCH libwacom 05/17] data: Add ISDv4 51E2 (Lenovo Yoga C940-14IIL) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/71 +Signed-off-by: Jason Gerecke +(cherry picked from commit bcc1ea808756f848c165fa8b128bb6e709418ec7) +--- + data/isdv4-51e2.tablet | 16 ++++++++++++++++ + meson.build | 1 + + 2 files changed, 17 insertions(+) + create mode 100644 data/isdv4-51e2.tablet + +diff --git a/data/isdv4-51e2.tablet b/data/isdv4-51e2.tablet +new file mode 100644 +index 0000000..363546a +--- /dev/null ++++ b/data/isdv4-51e2.tablet +@@ -0,0 +1,16 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo Yoga C940-14IIL ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/71 ++ ++[Device] ++Name=Wacom ISDv4 51E2 ++ModelName= ++DeviceMatch=i2c:056a:51e2 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index dd9c8ed..154d4ca 100644 +--- a/meson.build ++++ b/meson.build +@@ -234,6 +234,7 @@ data_files = [ + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', + 'data/isdv4-51bf.tablet', ++ 'data/isdv4-51e2.tablet', + 'data/isdv4-90.tablet', + 'data/isdv4-93.tablet', + 'data/isdv4-100.tablet', +-- +2.26.2 + +From 33db07d430f15883d0aa1943f7eaa24105967022 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Mon, 2 Dec 2019 14:25:02 -0800 +Subject: [PATCH libwacom 06/17] data: Add ISDv4 51BE (Lenovo X1 Yoga 4th) + +Second known PID for this tablet PC model. + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/61 +Signed-off-by: Jason Gerecke +(cherry picked from commit 3af58f5cf68b9c637fb78d45775ba5dd51a31951) +--- + data/isdv4-51be.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-51be.tablet + +diff --git a/data/isdv4-51be.tablet b/data/isdv4-51be.tablet +new file mode 100644 +index 0000000..c783a21 +--- /dev/null ++++ b/data/isdv4-51be.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo X1 Yoga 4th-gen ++ ++[Device] ++Name=Wacom ISDv4 51BE ++ModelName= ++DeviceMatch=usb:056a:51be ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index 154d4ca..16c738c 100644 +--- a/meson.build ++++ b/meson.build +@@ -233,6 +233,7 @@ data_files = [ + 'data/isdv4-50f1.tablet', + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', ++ 'data/isdv4-51be.tablet', + 'data/isdv4-51bf.tablet', + 'data/isdv4-51e2.tablet', + 'data/isdv4-90.tablet', +-- +2.26.2 + +From fdff79d18debec4882257ebde60c854da6896196 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Mon, 9 Dec 2019 10:19:20 -0800 +Subject: [PATCH libwacom 07/17] data: Add ISDv4 51AF (Lenovo ThinkPad X390 + Yoga) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/72 +Signed-off-by: Jason Gerecke +(cherry picked from commit e25c9072e5a24075371eaa4073e7be41fe5622c3) +--- + data/isdv4-51af.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-51af.tablet + +diff --git a/data/isdv4-51af.tablet b/data/isdv4-51af.tablet +new file mode 100644 +index 0000000..fff3af8 +--- /dev/null ++++ b/data/isdv4-51af.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo ThinkPad X390 Yoga ++ ++[Device] ++Name=Wacom ISDv4 51af ++ModelName= ++DeviceMatch=usb:056a:51af ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index 16c738c..b5dbc43 100644 +--- a/meson.build ++++ b/meson.build +@@ -233,6 +233,7 @@ data_files = [ + 'data/isdv4-50f1.tablet', + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', ++ 'data/isdv4-51af.tablet', + 'data/isdv4-51be.tablet', + 'data/isdv4-51bf.tablet', + 'data/isdv4-51e2.tablet', +-- +2.26.2 + +From 3c79c9c3e42c0a54bb51b4260fd25665ca0d7dd8 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Mon, 9 Dec 2019 10:00:27 -0800 +Subject: [PATCH libwacom 08/17] data: Add ISDv4 51C4 (Lenovo IdeaPad + FLEX-14API) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/74 +Signed-off-by: Jason Gerecke +(cherry picked from commit 4e8daf4ad784ee2fba768b1292eca1290a350c8a) +--- + data/isdv4-51c4.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-51c4.tablet + +diff --git a/data/isdv4-51c4.tablet b/data/isdv4-51c4.tablet +new file mode 100644 +index 0000000..2fa1bca +--- /dev/null ++++ b/data/isdv4-51c4.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo IdeaPad FLEX-14API ++ ++[Device] ++Name=Wacom ISDv4 51C4 ++ModelName= ++DeviceMatch=i2c:056a:51c4 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index b5dbc43..a7b2bc0 100644 +--- a/meson.build ++++ b/meson.build +@@ -236,6 +236,7 @@ data_files = [ + 'data/isdv4-51af.tablet', + 'data/isdv4-51be.tablet', + 'data/isdv4-51bf.tablet', ++ 'data/isdv4-51c4.tablet', + 'data/isdv4-51e2.tablet', + 'data/isdv4-90.tablet', + 'data/isdv4-93.tablet', +-- +2.26.2 + +From a14e3ee23fe472ad67fc864079ec49cc62b20c0d Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Thu, 13 Feb 2020 17:58:54 -0800 +Subject: [PATCH libwacom 09/17] data: Add ISDv4 51F5 (Lenovo ThinkPad L13 + Yoga) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/83 +Signed-off-by: Jason Gerecke +(cherry picked from commit 4d122f5441bf994265a575490612002dae857ac0) +--- + data/isdv4-51f5.tablet | 16 ++++++++++++++++ + meson.build | 1 + + 2 files changed, 17 insertions(+) + create mode 100644 data/isdv4-51f5.tablet + +diff --git a/data/isdv4-51f5.tablet b/data/isdv4-51f5.tablet +new file mode 100644 +index 0000000..a8205bb +--- /dev/null ++++ b/data/isdv4-51f5.tablet +@@ -0,0 +1,16 @@ ++# this is for the Wacom pen + touchscreen as found in the ThinkPad L13 Yoga ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/83 ++ ++[Device] ++Name=Wacom ISDv4 F1F5 ++ModelName= ++DeviceMatch=usb:056a:51f5 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index a7b2bc0..30c49a0 100644 +--- a/meson.build ++++ b/meson.build +@@ -238,6 +238,7 @@ data_files = [ + 'data/isdv4-51bf.tablet', + 'data/isdv4-51c4.tablet', + 'data/isdv4-51e2.tablet', ++ 'data/isdv4-51f5.tablet', + 'data/isdv4-90.tablet', + 'data/isdv4-93.tablet', + 'data/isdv4-100.tablet', +-- +2.26.2 + +From bf396f155a0a349074a2d10dec75d7994244777c Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Fri, 7 Feb 2020 15:10:56 -0800 +Subject: [PATCH libwacom 10/17] data: Add ISDv4 51B8 (Lenovo ThinkPad X1 Yoga + 4th) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/76 +Signed-off-by: Jason Gerecke +(cherry picked from commit 853c1f5970ec979176f91c10da84a06dd34c62b4) +--- + data/isdv4-51b8.tablet | 15 +++++++++++++++ + meson.build | 1 + + 2 files changed, 16 insertions(+) + create mode 100644 data/isdv4-51b8.tablet + +diff --git a/data/isdv4-51b8.tablet b/data/isdv4-51b8.tablet +new file mode 100644 +index 0000000..fb06081 +--- /dev/null ++++ b/data/isdv4-51b8.tablet +@@ -0,0 +1,15 @@ ++# this is for the Wacom pen + touchscreen as found in the Lenovo X1 Yoga 4th-gen ++ ++[Device] ++Name=Wacom ISDv4 51B8 ++ModelName= ++DeviceMatch=usb:056a:51b8 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index 30c49a0..15acf35 100644 +--- a/meson.build ++++ b/meson.build +@@ -234,6 +234,7 @@ data_files = [ + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', + 'data/isdv4-51af.tablet', ++ 'data/isdv4-51b8.tablet', + 'data/isdv4-51be.tablet', + 'data/isdv4-51bf.tablet', + 'data/isdv4-51c4.tablet', +-- +2.26.2 + +From 01b5fefc73f2601e5096ae196b92eca6b305ea81 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Thu, 12 Mar 2020 10:41:04 -0700 +Subject: [PATCH libwacom 11/17] data: Add several new Lenovo PIDs + +Received information through private bug reports about several new Lenovo +PIDs that were requested for addition. + +Signed-off-by: Jason Gerecke +(cherry picked from commit 8f09492b262fd5b6c7795edf9555eb67d9bd8392) +--- + data/isdv4-51b0.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51b1.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51b2.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51b3.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51b6.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51b7.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51b9.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51ba.tablet | 17 +++++++++++++++++ + data/isdv4-51bb.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51bc.tablet | 22 ++++++++++++++++++++++ + data/isdv4-51bd.tablet | 17 +++++++++++++++++ + data/isdv4-521f.tablet | 22 ++++++++++++++++++++++ + data/isdv4-5221.tablet | 22 ++++++++++++++++++++++ + data/isdv4-5222.tablet | 22 ++++++++++++++++++++++ + meson.build | 14 ++++++++++++++ + 15 files changed, 312 insertions(+) + create mode 100644 data/isdv4-51b0.tablet + create mode 100644 data/isdv4-51b1.tablet + create mode 100644 data/isdv4-51b2.tablet + create mode 100644 data/isdv4-51b3.tablet + create mode 100644 data/isdv4-51b6.tablet + create mode 100644 data/isdv4-51b7.tablet + create mode 100644 data/isdv4-51b9.tablet + create mode 100644 data/isdv4-51ba.tablet + create mode 100644 data/isdv4-51bb.tablet + create mode 100644 data/isdv4-51bc.tablet + create mode 100644 data/isdv4-51bd.tablet + create mode 100644 data/isdv4-521f.tablet + create mode 100644 data/isdv4-5221.tablet + create mode 100644 data/isdv4-5222.tablet + +diff --git a/data/isdv4-51b0.tablet b/data/isdv4-51b0.tablet +new file mode 100644 +index 0000000..2cdf321 +--- /dev/null ++++ b/data/isdv4-51b0.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.wym3nbQqZN ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B0 ++ModelName= ++DeviceMatch=usb:056A:51B0 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51b1.tablet b/data/isdv4-51b1.tablet +new file mode 100644 +index 0000000..557b165 +--- /dev/null ++++ b/data/isdv4-51b1.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.F0GO4PAS9O ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B1 ++ModelName= ++DeviceMatch=usb:056A:51B1 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51b2.tablet b/data/isdv4-51b2.tablet +new file mode 100644 +index 0000000..0f3e7b1 +--- /dev/null ++++ b/data/isdv4-51b2.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.wFZ9uMfoYf ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B2 ++ModelName= ++DeviceMatch=usb:056A:51B2 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51b3.tablet b/data/isdv4-51b3.tablet +new file mode 100644 +index 0000000..4a1aab1 +--- /dev/null ++++ b/data/isdv4-51b3.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.JMUwt4E2Wq ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B3 ++ModelName= ++DeviceMatch=usb:056A:51B3 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51b6.tablet b/data/isdv4-51b6.tablet +new file mode 100644 +index 0000000..ff2ffd7 +--- /dev/null ++++ b/data/isdv4-51b6.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X1 Carbon 7th ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 30937 x 17402 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.soRAtaSZMv ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B6 ++ModelName= ++DeviceMatch=usb:056A:51B6 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51b7.tablet b/data/isdv4-51b7.tablet +new file mode 100644 +index 0000000..93f5450 +--- /dev/null ++++ b/data/isdv4-51b7.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X1 Yoga 4th ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 30935 x 17401 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.6qw5zSXxSq ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B7 ++ModelName= ++DeviceMatch=usb:056A:51B7 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51b9.tablet b/data/isdv4-51b9.tablet +new file mode 100644 +index 0000000..e977672 +--- /dev/null ++++ b/data/isdv4-51b9.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 30927 x 17397 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.pijIZAvdWl ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51B9 ++ModelName= ++DeviceMatch=usb:056A:51B9 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51ba.tablet b/data/isdv4-51ba.tablet +new file mode 100644 +index 0000000..20a6deb +--- /dev/null ++++ b/data/isdv4-51ba.tablet +@@ -0,0 +1,17 @@ ++# Lenovo ++# Known PID, but unknown details (assume similar to other private ++# reports received at the same time: e.g. isdv4-51BB.tablet) ++ ++[Device] ++Name=ISDv4 51BA ++ModelName= ++DeviceMatch=usb:056A:51BA ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51bb.tablet b/data/isdv4-51bb.tablet +new file mode 100644 +index 0000000..2e5c848 +--- /dev/null ++++ b/data/isdv4-51bb.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X1 Yoga 4th ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 30931 x 17399 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.LoFm5ZeX4S ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51BB ++ModelName= ++DeviceMatch=usb:056A:51BB ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51bc.tablet b/data/isdv4-51bc.tablet +new file mode 100644 +index 0000000..fddd9fb +--- /dev/null ++++ b/data/isdv4-51bc.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X1 Yoga 4th ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 30937 x 17402 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.4mulKviG5U ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 51BC ++ModelName= ++DeviceMatch=usb:056A:51BC ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-51bd.tablet b/data/isdv4-51bd.tablet +new file mode 100644 +index 0000000..6d16649 +--- /dev/null ++++ b/data/isdv4-51bd.tablet +@@ -0,0 +1,17 @@ ++# Lenovo ++# Known PID, but unknown details (assume similar to other private ++# reports received at the same time: e.g. isdv4-51BB.tablet) ++ ++[Device] ++Name=ISDv4 51BD ++ModelName= ++DeviceMatch=usb:056A:51BD ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-521f.tablet b/data/isdv4-521f.tablet +new file mode 100644 +index 0000000..91afd3d +--- /dev/null ++++ b/data/isdv4-521f.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.9s9w22c3OD ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 521F ++ModelName= ++DeviceMatch=usb:056A:521F ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-5221.tablet b/data/isdv4-5221.tablet +new file mode 100644 +index 0000000..b70300d +--- /dev/null ++++ b/data/isdv4-5221.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.z6KU8DWk8L ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 5221 ++ModelName= ++DeviceMatch=usb:056A:5221 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/data/isdv4-5222.tablet b/data/isdv4-5222.tablet +new file mode 100644 +index 0000000..b303327 +--- /dev/null ++++ b/data/isdv4-5222.tablet +@@ -0,0 +1,22 @@ ++# Lenovo ThinkPad X13 Yoga ++# Sensor Type: AES ++# Features: Touch (Integrated), Tilt ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.yxQueczf1R ++# https://github.com/linuxwacom/wacom-hid-descriptors/ ++# ++ ++[Device] ++Name=ISDv4 5222 ++ModelName= ++DeviceMatch=usb:056A:5222 ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index 15acf35..e65f7c6 100644 +--- a/meson.build ++++ b/meson.build +@@ -234,7 +234,18 @@ data_files = [ + 'data/isdv4-50f8.tablet', + 'data/isdv4-50fd.tablet', + 'data/isdv4-51af.tablet', ++ 'data/isdv4-51b0.tablet', ++ 'data/isdv4-51b1.tablet', ++ 'data/isdv4-51b2.tablet', ++ 'data/isdv4-51b3.tablet', ++ 'data/isdv4-51b6.tablet', ++ 'data/isdv4-51b7.tablet', + 'data/isdv4-51b8.tablet', ++ 'data/isdv4-51b9.tablet', ++ 'data/isdv4-51ba.tablet', ++ 'data/isdv4-51bb.tablet', ++ 'data/isdv4-51bc.tablet', ++ 'data/isdv4-51bd.tablet', + 'data/isdv4-51be.tablet', + 'data/isdv4-51bf.tablet', + 'data/isdv4-51c4.tablet', +@@ -263,6 +274,7 @@ data_files = [ + 'data/isdv4-515a.tablet', + 'data/isdv4-516b.tablet', + 'data/isdv4-517d.tablet', ++ 'data/isdv4-521f.tablet', + 'data/isdv4-4004.tablet', + 'data/isdv4-4800.tablet', + 'data/isdv4-4806.tablet', +@@ -296,6 +308,8 @@ data_files = [ + 'data/isdv4-5158.tablet', + 'data/isdv4-5169.tablet', + 'data/isdv4-5196.tablet', ++ 'data/isdv4-5221.tablet', ++ 'data/isdv4-5222.tablet', + 'data/isdv4-e2.tablet', + 'data/isdv4-e3.tablet', + 'data/isdv4-e5.tablet', +-- +2.26.2 + +From 403f93c2efadb34fd722a23a6e95e3ffea20a302 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Mon, 23 Mar 2020 12:06:48 -0700 +Subject: [PATCH libwacom 12/17] data: Add ISDv4 509f (Lenovo ThinkPad Yoga + 370) + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/87 +Signed-off-by: Jason Gerecke +(cherry picked from commit 602b596671913bfabe50db319b17c693b0c2a04c) +--- + data/isdv4-509f.tablet | 21 +++++++++++++++++++++ + meson.build | 1 + + 2 files changed, 22 insertions(+) + create mode 100644 data/isdv4-509f.tablet + +diff --git a/data/isdv4-509f.tablet b/data/isdv4-509f.tablet +new file mode 100644 +index 0000000..069f398 +--- /dev/null ++++ b/data/isdv4-509f.tablet +@@ -0,0 +1,21 @@ ++# Lenovo ThinkPad Yoga 370 ++# Sensor Type: AES ++# Features: Touch (Integrated) ++# HW Resolution: 29376 x 16524 (2540 x 2540 lpi) ++# ++# Autogenerated from sysinfo.Mc7vuWOv8R ++# https://github.com/linuxwacom/wacom-hid-descriptors/issues/87#issue-584787327 ++ ++[Device] ++Name=ISDv4 509F ++ModelName= ++DeviceMatch=usb:056A:509F ++Class=ISDV4 ++Width=12 ++Height=7 ++IntegratedIn=Display;System ++ ++[Features] ++Stylus=true ++Touch=true ++Buttons=0 +diff --git a/meson.build b/meson.build +index e65f7c6..a43a1a2 100644 +--- a/meson.build ++++ b/meson.build +@@ -270,6 +270,7 @@ data_files = [ + 'data/isdv4-503f.tablet', + 'data/isdv4-504a.tablet', + 'data/isdv4-509d.tablet', ++ 'data/isdv4-509f.tablet', + 'data/isdv4-513b.tablet', + 'data/isdv4-515a.tablet', + 'data/isdv4-516b.tablet', +-- +2.26.2 + +From 7e51593fda6cc29802e82793d2c9b8175d807984 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Tue, 24 Mar 2020 07:19:53 -0700 +Subject: [PATCH libwacom 13/17] data: Fix ISDv4 5044 + +Fix the incorrect width. Sensor is 27648 units wide with a resolution +of 2540 lpi. + +Ref: https://github.com/linuxwacom/wacom-hid-descriptors/issues/88 +(cherry picked from commit f9555c1f98453f6734991c614e8c74486e24e26a) +--- + data/isdv4-5044.tablet | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/isdv4-5044.tablet b/data/isdv4-5044.tablet +index 0a9551c..7079ca3 100644 +--- a/data/isdv4-5044.tablet ++++ b/data/isdv4-5044.tablet +@@ -8,7 +8,7 @@ Name=Wacom ISDv4 5044 + ModelName= + DeviceMatch=usb:056a:5044 + Class=ISDV4 +-Width=10 ++Width=11 + Height=6 + IntegratedIn=Display;System + +-- +2.26.2 diff --git a/SOURCES/0014-test-Split-EMR-specific-stylus-tests-into-their-own-.patch b/SOURCES/0014-test-Split-EMR-specific-stylus-tests-into-their-own-.patch new file mode 100644 index 0000000..7759a63 --- /dev/null +++ b/SOURCES/0014-test-Split-EMR-specific-stylus-tests-into-their-own-.patch @@ -0,0 +1,113 @@ +From bc47bc6188978bb6fa22b68a2c9e83a0dba22e91 Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Fri, 1 Nov 2019 15:25:42 -0700 +Subject: [PATCH libwacom 14/17] test: Split EMR-specific stylus tests into + their own section + +The ID and eraser tests currently performed by test-stylus-validity +are only relevant to EMR tools. To make implementing tests for AES +tools more clean, lets first move these into their own dedicated +function. + +Signed-off-by: Jason Gerecke +(cherry picked from commit 5092098c68f2d5e6a7935e50efbad99d836135c9) +--- + test/test-stylus-validity.c | 75 ++++++++++++++++++++----------------- + 1 file changed, 40 insertions(+), 35 deletions(-) + +diff --git a/test/test-stylus-validity.c b/test/test-stylus-validity.c +index 6582428..db628cb 100644 +--- a/test/test-stylus-validity.c ++++ b/test/test-stylus-validity.c +@@ -202,6 +202,45 @@ _add_test(const WacomStylus *stylus, GTestDataFunc func, const char *funcname) + #define add_test(stylus, func_) \ + _add_test(stylus, func_, #func_) + ++static void ++setup_emr_tests(const WacomStylus *stylus) ++{ ++ switch (libwacom_stylus_get_id(stylus)) { ++ case 0xffffd: ++ add_test(stylus, test_pressure); ++ add_test(stylus, test_no_distance); ++ add_test(stylus, test_no_tilt); ++ break; ++ case 0x006: ++ case 0x096: ++ case 0x097: ++ add_test(stylus, test_no_pressure); ++ add_test(stylus, test_distance); ++ add_test(stylus, test_no_tilt); ++ break; ++ case 0x007: ++ case 0x017: ++ case 0x094: ++ case 0x806: ++ add_test(stylus, test_no_pressure); ++ add_test(stylus, test_distance); ++ add_test(stylus, test_tilt); ++ break; ++ case 0x021: ++ case 0x8e2: ++ case 0x862: ++ add_test(stylus, test_pressure); ++ add_test(stylus, test_distance); ++ add_test(stylus, test_no_tilt); ++ break; ++ default: ++ add_test(stylus, test_pressure); ++ add_test(stylus, test_tilt); ++ add_test(stylus, test_distance); ++ break; ++ } ++} ++ + static void + setup_tests(const WacomStylus *stylus) + { +@@ -228,41 +267,7 @@ setup_tests(const WacomStylus *stylus) + } + } + +- /* Axes checks */ +- switch (libwacom_stylus_get_id(stylus)) { +- case 0xffffd: +- add_test(stylus, test_pressure); +- add_test(stylus, test_no_distance); +- add_test(stylus, test_no_tilt); +- break; +- case 0x006: +- case 0x096: +- case 0x097: +- add_test(stylus, test_no_pressure); +- add_test(stylus, test_distance); +- add_test(stylus, test_no_tilt); +- break; +- case 0x007: +- case 0x017: +- case 0x094: +- case 0x806: +- add_test(stylus, test_no_pressure); +- add_test(stylus, test_distance); +- add_test(stylus, test_tilt); +- break; +- case 0x021: +- case 0x8e2: +- case 0x862: +- add_test(stylus, test_pressure); +- add_test(stylus, test_distance); +- add_test(stylus, test_no_tilt); +- break; +- default: +- add_test(stylus, test_pressure); +- add_test(stylus, test_tilt); +- add_test(stylus, test_distance); +- break; +- } ++ setup_emr_tests(stylus); + + if (libwacom_stylus_has_eraser(stylus)) + add_test(stylus, test_eraser); +-- +2.26.2 + diff --git a/SOURCES/0015-Introduce-WSTYLUS_MOBILE-type-for-AES-devices.patch b/SOURCES/0015-Introduce-WSTYLUS_MOBILE-type-for-AES-devices.patch new file mode 100644 index 0000000..04e963d --- /dev/null +++ b/SOURCES/0015-Introduce-WSTYLUS_MOBILE-type-for-AES-devices.patch @@ -0,0 +1,134 @@ +From 4604bacdf65d35d000b67b6263114fde17df708d Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Fri, 1 Nov 2019 15:24:03 -0700 +Subject: [PATCH libwacom 15/17] Introduce WSTYLUS_MOBILE type for AES devices + +AES styli are distinct enough from the existing stylus classes to +deserve one of their own. This class is named WSTYLUS_MOBILE both to +reflect the fact that AES sensors are only found on tablet PCs and to +allow the potential inclusion of other similar sensors which may not +use AES tech. + +Stylus test cases are added to cover the future addition of AES styli +to libwacom. + +Signed-off-by: Jason Gerecke +(cherry picked from commit 36a22c884f3439fd72bfc2268afd1c29364ffee8) +--- + libwacom/libwacom-database.c | 2 ++ + libwacom/libwacom.c | 1 + + libwacom/libwacom.h | 1 + + test/test-stylus-validity.c | 32 +++++++++++++++++++++++++++++++- + 4 files changed, 35 insertions(+), 1 deletion(-) + +diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c +index ebc0605..5448b90 100644 +--- a/libwacom/libwacom-database.c ++++ b/libwacom/libwacom-database.c +@@ -98,6 +98,8 @@ type_from_str (const char *type) + return WSTYLUS_PUCK; + if (streq(type, "3D")) + return WSTYLUS_3D; ++ if (streq(type, "Mobile")) ++ return WSTYLUS_MOBILE; + return WSTYLUS_UNKNOWN; + } + +diff --git a/libwacom/libwacom.c b/libwacom/libwacom.c +index c4a50a8..ce66ae2 100644 +--- a/libwacom/libwacom.c ++++ b/libwacom/libwacom.c +@@ -1293,6 +1293,7 @@ libwacom_print_stylus_description (int fd, const WacomStylus *stylus) + case WSTYLUS_STROKE: type = "Stroke"; break; + case WSTYLUS_PUCK: type = "Puck"; break; + case WSTYLUS_3D: type = "3D"; break; ++ case WSTYLUS_MOBILE: type = "Mobile"; break; + default: g_assert_not_reached(); break; + } + +diff --git a/libwacom/libwacom.h b/libwacom/libwacom.h +index 8035e17..8cf6c92 100644 +--- a/libwacom/libwacom.h ++++ b/libwacom/libwacom.h +@@ -159,6 +159,7 @@ typedef enum { + WSTYLUS_STROKE, + WSTYLUS_PUCK, + WSTYLUS_3D, ++ WSTYLUS_MOBILE, + } WacomStylusType; + + /** +diff --git a/test/test-stylus-validity.c b/test/test-stylus-validity.c +index db628cb..849c205 100644 +--- a/test/test-stylus-validity.c ++++ b/test/test-stylus-validity.c +@@ -53,6 +53,7 @@ test_type(gconstpointer data) + case WSTYLUS_STROKE: + case WSTYLUS_PUCK: + case WSTYLUS_3D: ++ case WSTYLUS_MOBILE: + break; + case WSTYLUS_UNKNOWN: + default: +@@ -60,6 +61,14 @@ test_type(gconstpointer data) + } + } + ++static void ++test_mobile(gconstpointer data) ++{ ++ const WacomStylus *stylus = data; ++ ++ g_assert_cmpint(libwacom_stylus_get_type(stylus), ==, WSTYLUS_MOBILE); ++} ++ + static void + test_eraser(gconstpointer data) + { +@@ -202,6 +211,21 @@ _add_test(const WacomStylus *stylus, GTestDataFunc func, const char *funcname) + #define add_test(stylus, func_) \ + _add_test(stylus, func_, #func_) + ++static void ++setup_aes_tests(const WacomStylus *stylus) ++{ ++ add_test(stylus, test_mobile); ++ ++ add_test(stylus, test_pressure); ++ add_test(stylus, test_no_distance); ++ ++ if (libwacom_stylus_get_id(stylus) < 0x8000) { ++ add_test(stylus, test_no_tilt); ++ } else { ++ add_test(stylus, test_tilt); ++ } ++} ++ + static void + setup_emr_tests(const WacomStylus *stylus) + { +@@ -260,6 +284,7 @@ setup_tests(const WacomStylus *stylus) + default: + switch (libwacom_stylus_get_id(stylus)) { + case 0x885: ++ case 0x8051: + add_test(stylus, test_no_buttons); + break; + default: +@@ -267,7 +292,12 @@ setup_tests(const WacomStylus *stylus) + } + } + +- setup_emr_tests(stylus); ++ /* Technology-specific tests */ ++ if (libwacom_stylus_get_type(stylus) == WSTYLUS_MOBILE) { ++ setup_aes_tests(stylus); ++ } else { ++ setup_emr_tests(stylus); ++ } + + if (libwacom_stylus_has_eraser(stylus)) + add_test(stylus, test_eraser); +-- +2.26.2 + diff --git a/SOURCES/0016-Add-multiple-AES-stylus-definitions.patch b/SOURCES/0016-Add-multiple-AES-stylus-definitions.patch new file mode 100644 index 0000000..6e0690a --- /dev/null +++ b/SOURCES/0016-Add-multiple-AES-stylus-definitions.patch @@ -0,0 +1,269 @@ +From 97bcccd2aeadaf541d55a62571e09743ce15d7ff Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Fri, 1 Nov 2019 11:51:20 -0700 +Subject: [PATCH libwacom 16/17] Add multiple AES stylus definitions + +Adds definitions for many different AES styli. The precise information +about supported features is hard to come by, but in general most pens +have two buttons (one of which is treated as an eraser) and can only +report pressure. A few exceptions are known or suspected and their +data has been set accordingly. + +Most of the new entries have comments that list several pens for a single +ID. The individual tools could potentially be distinguished with the aid +of vendor ID information available in the HID reports, but this data is +not forwarded to userspace by the kernel. + +For each pen I have included additional data in the comments that may or +may not be useful. The format of the comments are as follows: + + OEM1 ; BT device VID | BT device PID [ | FLAGS] ("Model Name" / ModelNumber) + OEM2 ; BT device VID | BT device PID [ | FLAGS] ("Model Name" / ModelNumber) + etc. + +For tools with a Bluetooth button, the VID:PID of the emulated keyboard +device is given. Tools without such a button use placeholder values of +VID_NONE and 0x0000. Additional flags provide further information: + + * BAT_SWAP / BAT_CHRG: Whether the pen uses replaceable batteries or + has an internal rechargeable battery. + + * BAT_HID / BAT_GATT: Whether the battery level for the Bluetooth button + is available through HID or through GATT. + + * BAT_SHARED: Indicates the pen has a single battery powering both the + AES and Bluetooth portions of the pen. + + * LONGPRESS: Bluetooth button supports the long-press gesture. + + * PROX: Proximity sensing feature available for Bluetooth button. + +Signed-off-by: Jason Gerecke +(cherry picked from commit a864679083c035eb08a75cf084a6564d589c0b1c) +--- + data/libwacom.stylus | 205 +++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 198 insertions(+), 7 deletions(-) + +diff --git a/data/libwacom.stylus b/data/libwacom.stylus +index 66f7e88..354cac1 100644 +--- a/data/libwacom.stylus ++++ b/data/libwacom.stylus +@@ -20,6 +20,204 @@ Buttons=2 + Axes=Pressure; + Type=General + ++[0x1] ++# Lenovo ; VID_NONE | 0x0000 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x11] ++# Lenovo ; VID_NONE | 0x0000 | BAT_CHRG ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x19] ++# Lenovo ; VID_LENOVO | 0x60A8 | BAT_SWAP | BAT_HID ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x21] ++# HP ; VID_NONE | 0x0000 | BAT_SWAP ++# Huawei ; VID_NONE | 0x0000 | BAT_SWAP ++# Lenovo ; VID_NONE | 0x0000 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x31] ++# Dell ; VID_BROADCOM | 0x81B9 | BAT_SWAP ++# HP ; VID_CHICONY | 0xB4A3 | BAT_SWAP | BAT_HID ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x39] ++# Huawei ; VID_HUAWEI | 0x1091 | BAT_SWAP ("Huawei MatePen" / AF61) ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x49] ++# Wacom ; VID_WACOM | 0x035F | BAT_SWAP | BAT_GATT | BAT_SHARED | LONGPRESS ("Wacom Bamboo Ink" / CS321A) ++Name=Bamboo Ink ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x71] ++# Wacom ; VID_WACOM | 0x035F | BAT_SWAP | BAT_GATT | BAT_SHARED | LONGPRESS ("Wacom Bamboo Ink" / CS321A1) ++Name=Bamboo Ink ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x221] ++# HP ; VID_CHICONY | 0xB4A3 | BAT_SWAP | BAT_HID ++# Lenovo ; VID_NONE | 0x0000 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x231] ++# Dell ; VID_BROADCOM | 0x81C6 | BAT_SWAP | LONGPRESS (Dell PN557W) ++# HP ; VID_CHICONY | 0xB4A3 | BAT_SWAP | BAT_HID ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x271] ++# Wacom ; VID_NONE | 0x0000 | BAT_SWAP ("Wacom Bamboo Ink" / CS323A) ++Name=Bamboo Ink ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x421] ++# HP ; VID_NONE | 0x0000 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x431] ++# Dell ; VID_BROADCOM | 0x81B9 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x621] ++# Lenovo ; VID_NONE | 0x0000 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x631] ++# Dell ; VID_NONE | 0x0000 | BAT_SWAP | LONGPRESS (Dell PN557W) ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Pressure ++Type=Mobile ++ ++[0x8051] ++# Google ; VID_NONE | 0x0000 | BAT_SWAP ("Google Pixelbook Pen" / C0B) ++Name=AES Pen ++Group=isdv4-aes ++Buttons=0 ++IsEraser=true ++Axes=Tilt;Pressure ++Type=Mobile ++ ++[0x805B] ++# Dell ; VID_BROADCOM | 0x81D5 | BAT_SWAP | BAT_GATT | BAT_SHARED | LONGPRESS (Dell PN579X) ++# Lenovo ; VID_LENOVO | 0x60C5 | BAT_SWAP | BAT_GATT | BAT_SHARED ++# Toshiba; VID_NONE | 0x0000 | BAT_SWAP ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Tilt;Pressure ++Type=Mobile ++ ++[0x806B] ++# HP ; VID_CHICONY | 0x1728 | BAT_CHRG | BAT_PROX | BAT_SHARED | LONGPRESS | PROX ("HP Rechargeable Active Pen" / HP Active Pen G2 / 4KL69AA) ++# Huawei ; VID_NONE | 0x0000 | BAT_SWAP ++# Lenovo ; VID_LENOVO | 0x60C2 | BAT_CHRG | BAT_GATT | BAT_SHARED ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Tilt;Pressure ++Type=Mobile ++ ++[0x807B] ++# Wacom ; VID_WACOM | 0x0397 | BAT_CHRG | BAT_GATT | BAT_SHARED | LONGPRESS ("Wacom Bamboo Ink Plus" / CS322A) ++Name=Bamboo Ink Plus ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Tilt;Pressure ++Type=Mobile ++ ++[0x826B] ++# HP ; VID_CHICONY | 0x1728 | BAT_CHRG | BAT_PROX | BAT_SHARED | LONGPRESS | PROX ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Tilt;Pressure ++Type=Mobile ++ ++[0x846B] ++# HP ; VID_CHICONY | 0x1850 | BAT_CHRG | BAT_GATT | BAT_SHARED | LONGPRESS | PROX ("HP Rechargeable Active Pen G3" / HP Active Pen G3 / GSG43AA) ++Name=AES Pen ++Group=isdv4-aes ++Buttons=1 ++IsEraser=true ++Axes=Tilt;Pressure ++Type=Mobile ++ + # Inking pen have no eraser + [0x812] + # Intuos and Intuos2 +@@ -548,10 +746,3 @@ Type=Puck + HasLens=false + HasWheel=true + Buttons=5 +- +-[0x21] +-Name=Thinkpad Pro Pen +-Buttons=2 +-HasEraser=false +-Axes=Pressure;Distance; +-Type=General +-- +2.26.2 + diff --git a/SOURCES/0017-Add-isdv4-aes-stylus-group-to-all-AES-sensors.patch b/SOURCES/0017-Add-isdv4-aes-stylus-group-to-all-AES-sensors.patch new file mode 100644 index 0000000..ff21668 --- /dev/null +++ b/SOURCES/0017-Add-isdv4-aes-stylus-group-to-all-AES-sensors.patch @@ -0,0 +1,1014 @@ +From bc87b8de690a27e3184add3b640023bab4b960cb Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Tue, 29 Oct 2019 15:26:51 -0700 +Subject: [PATCH libwacom 17/17] Add isdv4-aes stylus group to all AES sensors + +AES sensors determined based on comments and HID descriptors available +at the wacom-hid-descriptors repository, where available. Some pen/sensor +combinations may not truly be compatible with each other, but it difficult +to know a priori which are problematic. This ultimately doesn't matter +*too* much, however, since the ID list is primarily used by tools like +GNOME Control Center that just need a rough idea of what pens might work +with a given tablet during configuration. + +Signed-off-by: Jason Gerecke + +RHEL: adjusted because we don't have all tablet files that the original commit +modifies. + +(cherry picked from commit 8652aa3376bfb0e833af3704dc2ab7948958cd8f) +--- + data/isdv4-2d1f-002e.tablet | 1 + + data/isdv4-4800.tablet | 1 + + data/isdv4-4806.tablet | 1 + + data/isdv4-4807.tablet | 1 + + data/isdv4-4809.tablet | 1 + + data/isdv4-4814.tablet | 1 + + data/isdv4-481a.tablet | 1 + + data/isdv4-4822.tablet | 1 + + data/isdv4-4824.tablet | 1 + + data/isdv4-4831.tablet | 1 + + data/isdv4-4841.tablet | 1 + + data/isdv4-484c.tablet | 1 + + data/isdv4-485e.tablet | 1 + + data/isdv4-4865.tablet | 1 + + data/isdv4-486a.tablet | 1 + + data/isdv4-4870.tablet | 1 + + data/isdv4-488f.tablet | 1 + + data/isdv4-5010.tablet | 1 + + data/isdv4-5013.tablet | 1 + + data/isdv4-5014.tablet | 1 + + data/isdv4-502a.tablet | 1 + + data/isdv4-503e.tablet | 1 + + data/isdv4-503f.tablet | 1 + + data/isdv4-5040.tablet | 1 + + data/isdv4-5044.tablet | 1 + + data/isdv4-5048.tablet | 1 + + data/isdv4-504a.tablet | 1 + + data/isdv4-5090.tablet | 1 + + data/isdv4-5099.tablet | 1 + + data/isdv4-509d.tablet | 1 + + data/isdv4-509f.tablet | 1 + + data/isdv4-50b4.tablet | 1 + + data/isdv4-50b6.tablet | 1 + + data/isdv4-50b8.tablet | 1 + + data/isdv4-50db.tablet | 1 + + data/isdv4-50e9.tablet | 1 + + data/isdv4-50ef.tablet | 1 + + data/isdv4-50f1.tablet | 1 + + data/isdv4-50f8.tablet | 1 + + data/isdv4-50fd.tablet | 1 + + data/isdv4-5110.tablet | 1 + + data/isdv4-5115.tablet | 2 +- + data/isdv4-5122.tablet | 1 + + data/isdv4-5128.tablet | 1 + + data/isdv4-513b.tablet | 1 + + data/isdv4-5146.tablet | 1 + + data/isdv4-5147.tablet | 1 + + data/isdv4-5150.tablet | 1 + + data/isdv4-5157.tablet | 1 + + data/isdv4-5158.tablet | 1 + + data/isdv4-515a.tablet | 1 + + data/isdv4-5169.tablet | 1 + + data/isdv4-516b.tablet | 1 + + data/isdv4-517d.tablet | 1 + + data/isdv4-5196.tablet | 1 + + data/isdv4-51af.tablet | 1 + + data/isdv4-51b0.tablet | 1 + + data/isdv4-51b1.tablet | 1 + + data/isdv4-51b2.tablet | 1 + + data/isdv4-51b3.tablet | 1 + + data/isdv4-51b6.tablet | 1 + + data/isdv4-51b7.tablet | 1 + + data/isdv4-51b8.tablet | 1 + + data/isdv4-51b9.tablet | 1 + + data/isdv4-51ba.tablet | 1 + + data/isdv4-51bb.tablet | 1 + + data/isdv4-51bc.tablet | 1 + + data/isdv4-51bd.tablet | 1 + + data/isdv4-51be.tablet | 1 + + data/isdv4-51bf.tablet | 1 + + data/isdv4-51c4.tablet | 1 + + data/isdv4-51e2.tablet | 1 + + data/isdv4-51f5.tablet | 1 + + data/isdv4-521f.tablet | 1 + + data/isdv4-5221.tablet | 1 + + data/isdv4-5222.tablet | 1 + + 76 files changed, 76 insertions(+), 1 deletion(-) + +diff --git a/data/isdv4-2d1f-002e.tablet b/data/isdv4-2d1f-002e.tablet +index 08abd79..4916509 100644 +--- a/data/isdv4-2d1f-002e.tablet ++++ b/data/isdv4-2d1f-002e.tablet +@@ -9,6 +9,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4800.tablet b/data/isdv4-4800.tablet +index 797e014..08d3852 100644 +--- a/data/isdv4-4800.tablet ++++ b/data/isdv4-4800.tablet +@@ -6,6 +6,7 @@ ModelName= + DeviceMatch=i2c:056a:4800 + Class=ISDV4 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4806.tablet b/data/isdv4-4806.tablet +index bb7bf6c..545d6df 100644 +--- a/data/isdv4-4806.tablet ++++ b/data/isdv4-4806.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=9 + Height=5 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4807.tablet b/data/isdv4-4807.tablet +index 183ccca..0303705 100644 +--- a/data/isdv4-4807.tablet ++++ b/data/isdv4-4807.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=9 + Height=5 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4809.tablet b/data/isdv4-4809.tablet +index ed205d6..fab1531 100644 +--- a/data/isdv4-4809.tablet ++++ b/data/isdv4-4809.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=4 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4814.tablet b/data/isdv4-4814.tablet +index 3fe89f2..1da5544 100644 +--- a/data/isdv4-4814.tablet ++++ b/data/isdv4-4814.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=10 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-481a.tablet b/data/isdv4-481a.tablet +index 47e7c08..eae42aa 100644 +--- a/data/isdv4-481a.tablet ++++ b/data/isdv4-481a.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4822.tablet b/data/isdv4-4822.tablet +index 820fb67..5afdb77 100644 +--- a/data/isdv4-4822.tablet ++++ b/data/isdv4-4822.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4824.tablet b/data/isdv4-4824.tablet +index a0155f6..58cfaed 100644 +--- a/data/isdv4-4824.tablet ++++ b/data/isdv4-4824.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=4 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4831.tablet b/data/isdv4-4831.tablet +index b668e4f..7c7e11f 100644 +--- a/data/isdv4-4831.tablet ++++ b/data/isdv4-4831.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4841.tablet b/data/isdv4-4841.tablet +index 1aba3ff..cd136f6 100644 +--- a/data/isdv4-4841.tablet ++++ b/data/isdv4-4841.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-484c.tablet b/data/isdv4-484c.tablet +index 7c71edd..1a7a6b4 100644 +--- a/data/isdv4-484c.tablet ++++ b/data/isdv4-484c.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=10 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-485e.tablet b/data/isdv4-485e.tablet +index c520c15..83b9558 100644 +--- a/data/isdv4-485e.tablet ++++ b/data/isdv4-485e.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=10 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4865.tablet b/data/isdv4-4865.tablet +index 8a62c16..bce73dc 100644 +--- a/data/isdv4-4865.tablet ++++ b/data/isdv4-4865.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-486a.tablet b/data/isdv4-486a.tablet +index 57773ff..92cdf46 100644 +--- a/data/isdv4-486a.tablet ++++ b/data/isdv4-486a.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-4870.tablet b/data/isdv4-4870.tablet +index 26695d5..b4af151 100644 +--- a/data/isdv4-4870.tablet ++++ b/data/isdv4-4870.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-488f.tablet b/data/isdv4-488f.tablet +index 3d68472..0ac9314 100644 +--- a/data/isdv4-488f.tablet ++++ b/data/isdv4-488f.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5010.tablet b/data/isdv4-5010.tablet +index 89d8014..35e748a 100644 +--- a/data/isdv4-5010.tablet ++++ b/data/isdv4-5010.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5013.tablet b/data/isdv4-5013.tablet +index 3b7965e..060757c 100644 +--- a/data/isdv4-5013.tablet ++++ b/data/isdv4-5013.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5014.tablet b/data/isdv4-5014.tablet +index 27a5092..62a680d 100644 +--- a/data/isdv4-5014.tablet ++++ b/data/isdv4-5014.tablet +@@ -9,6 +9,7 @@ Class=ISDV4 + Width=10 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-502a.tablet b/data/isdv4-502a.tablet +index 3a89717..8281a6d 100644 +--- a/data/isdv4-502a.tablet ++++ b/data/isdv4-502a.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-503e.tablet b/data/isdv4-503e.tablet +index b3ad723..066fb3d 100644 +--- a/data/isdv4-503e.tablet ++++ b/data/isdv4-503e.tablet +@@ -10,6 +10,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-503f.tablet b/data/isdv4-503f.tablet +index 5e2b134..194076a 100644 +--- a/data/isdv4-503f.tablet ++++ b/data/isdv4-503f.tablet +@@ -10,6 +10,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5040.tablet b/data/isdv4-5040.tablet +index 3dca14d..a73d155 100644 +--- a/data/isdv4-5040.tablet ++++ b/data/isdv4-5040.tablet +@@ -11,6 +11,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5044.tablet b/data/isdv4-5044.tablet +index 7079ca3..5baaefd 100644 +--- a/data/isdv4-5044.tablet ++++ b/data/isdv4-5044.tablet +@@ -11,6 +11,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5048.tablet b/data/isdv4-5048.tablet +index 8da28aa..ec3f9f2 100644 +--- a/data/isdv4-5048.tablet ++++ b/data/isdv4-5048.tablet +@@ -10,6 +10,7 @@ Class=ISDV4 + Width=10 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-504a.tablet b/data/isdv4-504a.tablet +index 20048f9..07d91fc 100644 +--- a/data/isdv4-504a.tablet ++++ b/data/isdv4-504a.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5090.tablet b/data/isdv4-5090.tablet +index d28830c..be1e555 100644 +--- a/data/isdv4-5090.tablet ++++ b/data/isdv4-5090.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5099.tablet b/data/isdv4-5099.tablet +index fd81949..c0e53bd 100644 +--- a/data/isdv4-5099.tablet ++++ b/data/isdv4-5099.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=10 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-509d.tablet b/data/isdv4-509d.tablet +index b3b9baa..0dad8ad 100644 +--- a/data/isdv4-509d.tablet ++++ b/data/isdv4-509d.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-509f.tablet b/data/isdv4-509f.tablet +index 069f398..093d4d7 100644 +--- a/data/isdv4-509f.tablet ++++ b/data/isdv4-509f.tablet +@@ -14,6 +14,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50b4.tablet b/data/isdv4-50b4.tablet +index 2c67b8b..d82a6cc 100644 +--- a/data/isdv4-50b4.tablet ++++ b/data/isdv4-50b4.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50b6.tablet b/data/isdv4-50b6.tablet +index df32278..0609a59 100644 +--- a/data/isdv4-50b6.tablet ++++ b/data/isdv4-50b6.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50b8.tablet b/data/isdv4-50b8.tablet +index bf13058..b0d3324 100644 +--- a/data/isdv4-50b8.tablet ++++ b/data/isdv4-50b8.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50db.tablet b/data/isdv4-50db.tablet +index 15acb60..e151cfc 100644 +--- a/data/isdv4-50db.tablet ++++ b/data/isdv4-50db.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50e9.tablet b/data/isdv4-50e9.tablet +index ec714f7..9a9730f 100644 +--- a/data/isdv4-50e9.tablet ++++ b/data/isdv4-50e9.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50ef.tablet b/data/isdv4-50ef.tablet +index 8bd9650..4d7661a 100644 +--- a/data/isdv4-50ef.tablet ++++ b/data/isdv4-50ef.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50f1.tablet b/data/isdv4-50f1.tablet +index 26fec65..314fd1e 100644 +--- a/data/isdv4-50f1.tablet ++++ b/data/isdv4-50f1.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50f8.tablet b/data/isdv4-50f8.tablet +index 151e8ea..e3fe04b 100644 +--- a/data/isdv4-50f8.tablet ++++ b/data/isdv4-50f8.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-50fd.tablet b/data/isdv4-50fd.tablet +index 1d3f06a..f470d5d 100644 +--- a/data/isdv4-50fd.tablet ++++ b/data/isdv4-50fd.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5110.tablet b/data/isdv4-5110.tablet +index 4a0181a..1882bad 100644 +--- a/data/isdv4-5110.tablet ++++ b/data/isdv4-5110.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5115.tablet b/data/isdv4-5115.tablet +index a73c8b9..f373922 100644 +--- a/data/isdv4-5115.tablet ++++ b/data/isdv4-5115.tablet +@@ -7,7 +7,7 @@ Class=ISDV4 + Width=10 + Height=7 + IntegratedIn=Display;System +-Styli=0x21; ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5122.tablet b/data/isdv4-5122.tablet +index 3e1543e..b8948ee 100644 +--- a/data/isdv4-5122.tablet ++++ b/data/isdv4-5122.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=10 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5128.tablet b/data/isdv4-5128.tablet +index 909d7ce..4303695 100644 +--- a/data/isdv4-5128.tablet ++++ b/data/isdv4-5128.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=11 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-513b.tablet b/data/isdv4-513b.tablet +index 5257f5b..750ecfa 100644 +--- a/data/isdv4-513b.tablet ++++ b/data/isdv4-513b.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=10 + Height=6 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5146.tablet b/data/isdv4-5146.tablet +index 5bd44bc..755929c 100644 +--- a/data/isdv4-5146.tablet ++++ b/data/isdv4-5146.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5147.tablet b/data/isdv4-5147.tablet +index 9a5a386..45c66e8 100644 +--- a/data/isdv4-5147.tablet ++++ b/data/isdv4-5147.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5150.tablet b/data/isdv4-5150.tablet +index 9201c3b..d815286 100644 +--- a/data/isdv4-5150.tablet ++++ b/data/isdv4-5150.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5157.tablet b/data/isdv4-5157.tablet +index 76aa911..4bec285 100644 +--- a/data/isdv4-5157.tablet ++++ b/data/isdv4-5157.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System; ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5158.tablet b/data/isdv4-5158.tablet +index c2bf0fb..972e4b1 100644 +--- a/data/isdv4-5158.tablet ++++ b/data/isdv4-5158.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System; ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-515a.tablet b/data/isdv4-515a.tablet +index 1b62be2..952880d 100644 +--- a/data/isdv4-515a.tablet ++++ b/data/isdv4-515a.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System; ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5169.tablet b/data/isdv4-5169.tablet +index 15648e3..b218fef 100644 +--- a/data/isdv4-5169.tablet ++++ b/data/isdv4-5169.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-516b.tablet b/data/isdv4-516b.tablet +index bdd2f36..0074ff0 100644 +--- a/data/isdv4-516b.tablet ++++ b/data/isdv4-516b.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=14 + Height=8 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-517d.tablet b/data/isdv4-517d.tablet +index 70ccd48..2fd0e3e 100644 +--- a/data/isdv4-517d.tablet ++++ b/data/isdv4-517d.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5196.tablet b/data/isdv4-5196.tablet +index eb5e15f..d3c7e8a 100644 +--- a/data/isdv4-5196.tablet ++++ b/data/isdv4-5196.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51af.tablet b/data/isdv4-51af.tablet +index fff3af8..c5d1b1a 100644 +--- a/data/isdv4-51af.tablet ++++ b/data/isdv4-51af.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b0.tablet b/data/isdv4-51b0.tablet +index 2cdf321..5340b23 100644 +--- a/data/isdv4-51b0.tablet ++++ b/data/isdv4-51b0.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b1.tablet b/data/isdv4-51b1.tablet +index 557b165..90a90a9 100644 +--- a/data/isdv4-51b1.tablet ++++ b/data/isdv4-51b1.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b2.tablet b/data/isdv4-51b2.tablet +index 0f3e7b1..43f9be5 100644 +--- a/data/isdv4-51b2.tablet ++++ b/data/isdv4-51b2.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b3.tablet b/data/isdv4-51b3.tablet +index 4a1aab1..1d213a1 100644 +--- a/data/isdv4-51b3.tablet ++++ b/data/isdv4-51b3.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b6.tablet b/data/isdv4-51b6.tablet +index ff2ffd7..8adb365 100644 +--- a/data/isdv4-51b6.tablet ++++ b/data/isdv4-51b6.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b7.tablet b/data/isdv4-51b7.tablet +index 93f5450..745d0ab 100644 +--- a/data/isdv4-51b7.tablet ++++ b/data/isdv4-51b7.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b8.tablet b/data/isdv4-51b8.tablet +index fb06081..d55a3c3 100644 +--- a/data/isdv4-51b8.tablet ++++ b/data/isdv4-51b8.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51b9.tablet b/data/isdv4-51b9.tablet +index e977672..31a9791 100644 +--- a/data/isdv4-51b9.tablet ++++ b/data/isdv4-51b9.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51ba.tablet b/data/isdv4-51ba.tablet +index 20a6deb..8c7f7f9 100644 +--- a/data/isdv4-51ba.tablet ++++ b/data/isdv4-51ba.tablet +@@ -10,6 +10,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51bb.tablet b/data/isdv4-51bb.tablet +index 2e5c848..d7cc6c9 100644 +--- a/data/isdv4-51bb.tablet ++++ b/data/isdv4-51bb.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51bc.tablet b/data/isdv4-51bc.tablet +index fddd9fb..9e84da9 100644 +--- a/data/isdv4-51bc.tablet ++++ b/data/isdv4-51bc.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51bd.tablet b/data/isdv4-51bd.tablet +index 6d16649..1b9a7fd 100644 +--- a/data/isdv4-51bd.tablet ++++ b/data/isdv4-51bd.tablet +@@ -10,6 +10,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51be.tablet b/data/isdv4-51be.tablet +index c783a21..f2af426 100644 +--- a/data/isdv4-51be.tablet ++++ b/data/isdv4-51be.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51bf.tablet b/data/isdv4-51bf.tablet +index 258825b..99a18e6 100644 +--- a/data/isdv4-51bf.tablet ++++ b/data/isdv4-51bf.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51c4.tablet b/data/isdv4-51c4.tablet +index 2fa1bca..999620a 100644 +--- a/data/isdv4-51c4.tablet ++++ b/data/isdv4-51c4.tablet +@@ -8,6 +8,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51e2.tablet b/data/isdv4-51e2.tablet +index 363546a..4f586e1 100644 +--- a/data/isdv4-51e2.tablet ++++ b/data/isdv4-51e2.tablet +@@ -9,6 +9,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-51f5.tablet b/data/isdv4-51f5.tablet +index a8205bb..9997754 100644 +--- a/data/isdv4-51f5.tablet ++++ b/data/isdv4-51f5.tablet +@@ -9,6 +9,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-521f.tablet b/data/isdv4-521f.tablet +index 91afd3d..6eac6f6 100644 +--- a/data/isdv4-521f.tablet ++++ b/data/isdv4-521f.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5221.tablet b/data/isdv4-5221.tablet +index b70300d..35ba7ff 100644 +--- a/data/isdv4-5221.tablet ++++ b/data/isdv4-5221.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +diff --git a/data/isdv4-5222.tablet b/data/isdv4-5222.tablet +index b303327..b486280 100644 +--- a/data/isdv4-5222.tablet ++++ b/data/isdv4-5222.tablet +@@ -15,6 +15,7 @@ Class=ISDV4 + Width=12 + Height=7 + IntegratedIn=Display;System ++Styli=@isdv4-aes; + + [Features] + Stylus=true +-- +2.26.2 + diff --git a/SPECS/libwacom.spec b/SPECS/libwacom.spec index ea077e0..17f6a56 100644 --- a/SPECS/libwacom.spec +++ b/SPECS/libwacom.spec @@ -1,6 +1,6 @@ Name: libwacom Version: 1.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Tablet Information Client Library Requires: %{name}-data @@ -10,6 +10,13 @@ URL: https://github.com/linuxwacom/libwacom Source0: https://github.com/linuxwacom/libwacom/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2 +# Note: this one is 13 patches in one +Patch01: 0000-lenovo-isdv4-tablets.patch +Patch02: 0014-test-Split-EMR-specific-stylus-tests-into-their-own-.patch +Patch03: 0015-Introduce-WSTYLUS_MOBILE-type-for-AES-devices.patch +Patch04: 0016-Add-multiple-AES-stylus-definitions.patch +Patch05: 0017-Add-isdv4-aes-stylus-group-to-all-AES-sensors.patch + BuildRequires: meson gcc BuildRequires: glib2-devel libgudev1-devel BuildRequires: systemd systemd-devel @@ -87,6 +94,9 @@ install -d ${RPM_BUILD_ROOT}/%{_udevrulesdir} %{_datadir}/libwacom/layouts/*.svg %changelog +* Thu Jun 25 2020 Peter Hutterer 1.1-3 +- Add a set of Lenovo tablets and styli (#1850319) + * Thu Nov 07 2019 Peter Hutterer 1.1-2 - Conflict with older libwacom