aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO30
-rw-r--r--0001-Add-support-for-Intel-Management-Engine-bus.patch87
-rw-r--r--0002-data-Add-Microsoft-Surface-Book-2-13.5.patch33
-rw-r--r--0003-data-Add-Microsoft-Surface-Pro-5.patch33
-rw-r--r--0004-data-Add-Microsoft-Surface-Book-2-15.patch33
-rw-r--r--0005-data-Add-Microsoft-Surface-Pro-6.patch33
-rw-r--r--0006-data-Add-Microsoft-Surface-Pro-4.patch33
-rw-r--r--0007-data-Add-Microsoft-Surface-Book.patch33
-rw-r--r--00_mei-bus.patch57
-rw-r--r--01_surface-tablet-data.patch20
-rw-r--r--PKGBUILD32
11 files changed, 326 insertions, 98 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d168096e3beb..a7c3ed25c609 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
pkgbase = libwacom-surface
pkgdesc = Patched libwacom for Microsoft Surface devices
- pkgver = 0.33
+ pkgver = 1.0
pkgrel = 1
- url = https://github.com/geoffholden/libwacom
+ url = https://github.com/qzed/libwacom
arch = x86_64
license = MIT
makedepends = git
@@ -10,16 +10,26 @@ pkgbase = libwacom-surface
depends = glib2
depends = systemd
depends = libgudev
- provides = libwacom=0.33
+ provides = libwacom=1.0
conflicts = libwacom
- source = 00_mei-bus.patch
- source = 01_surface-tablet-data.patch
- source = https://github.com/linuxwacom/libwacom/releases/download/libwacom-0.33/libwacom-0.33.tar.bz2
- source = https://github.com/linuxwacom/libwacom/releases/download/libwacom-0.33/libwacom-0.33.tar.bz2.sig
+ source = 0001-Add-support-for-Intel-Management-Engine-bus.patch
+ source = 0002-data-Add-Microsoft-Surface-Book-2-13.5.patch
+ source = 0003-data-Add-Microsoft-Surface-Pro-5.patch
+ source = 0004-data-Add-Microsoft-Surface-Book-2-15.patch
+ source = 0005-data-Add-Microsoft-Surface-Pro-6.patch
+ source = 0006-data-Add-Microsoft-Surface-Pro-4.patch
+ source = 0007-data-Add-Microsoft-Surface-Book.patch
+ source = https://github.com/linuxwacom/libwacom/releases/download/libwacom-1.0/libwacom-1.0.tar.bz2
+ source = https://github.com/linuxwacom/libwacom/releases/download/libwacom-1.0/libwacom-1.0.tar.bz2.sig
validpgpkeys = 3C2C43D9447D5938EF4551EBE23B7E70B467F0BF
- sha256sums = faf69fa3795a5147665b285f28d82c0977a3870522c98ffccaf819730089599e
- sha256sums = 9b7f8d681bf12e81e21cde33b7d77b10b4f2a78f3d0c46c5efe147c278c24bf9
- sha256sums = 94f8a3371f30f4a38d6d2290f5160d5f5ba7a7cd6e63bee95686a67a3c19dbf2
+ sha256sums = eb0f32d5e33cb07cfb66c97ac6303383387ccfb97e808865cf056c21c3998ba4
+ sha256sums = abf0137ec6ac8aee8e77b2d33423a4a90689660558bbb9bfef41b43f72170d4d
+ sha256sums = 55384a33ddb4761729d8915a3709160dfc2c076b103c4072b2a46c0cb24a44b6
+ sha256sums = fb16b33addc6c44401c2e36e8f3d5d244d6c76e036a64cf4988c679de8687cb2
+ sha256sums = 833227f52f050c368e6ca5908aa7534238b96afb5d8a0df8413b14dd63891a9a
+ sha256sums = dde9d2328c6c6112656f1537efb2bc8f0f50d96570b055acef1628a2442b464a
+ sha256sums = 6f7f5f849e460110fad9304b275e4f9f2d880165faed124305b1bf2391c6958f
+ sha256sums = c48f931bcebaa87ae38e3c3a14863d507cd083313207802864ab2763c5b90cc7
sha256sums = SKIP
pkgname = libwacom-surface
diff --git a/0001-Add-support-for-Intel-Management-Engine-bus.patch b/0001-Add-support-for-Intel-Management-Engine-bus.patch
new file mode 100644
index 000000000000..641049c92d78
--- /dev/null
+++ b/0001-Add-support-for-Intel-Management-Engine-bus.patch
@@ -0,0 +1,87 @@
+From fa8fbe3e4d077f4b22d0da65fe9bff4b038f05e8 Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Sat, 1 Jun 2019 21:17:15 +0200
+Subject: [PATCH 1/7] Add support for Intel Management Engine bus
+
+Add support for devices connected via the Intel Management Engine (MEI).
+This is required to support IPTS based devices, such as (among others)
+the Microsoft Surface Books, Surface Pro 5 and 6, and Surface Laptops.
+---
+ libwacom/libwacom-database.c | 4 ++++
+ libwacom/libwacom.c | 5 +++++
+ libwacom/libwacom.h | 1 +
+ test/test-tablet-validity.c | 1 +
+ 4 files changed, 11 insertions(+)
+
+diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
+index ebc0605..37e797a 100644
+--- a/libwacom/libwacom-database.c
++++ b/libwacom/libwacom-database.c
+@@ -112,6 +112,8 @@ bus_from_str (const char *str)
+ return WBUSTYPE_BLUETOOTH;
+ if (streq(str, "i2c"))
+ return WBUSTYPE_I2C;
++ if (strcmp (str, "mei") == 0)
++ return WBUSTYPE_MEI;
+ return WBUSTYPE_UNKNOWN;
+ }
+
+@@ -130,6 +132,8 @@ bus_to_str (WacomBusType bus)
+ return "bluetooth";
+ case WBUSTYPE_I2C:
+ return "i2c";
++ case WBUSTYPE_MEI:
++ return "mei";
+ }
+ g_assert_not_reached ();
+ }
+diff --git a/libwacom/libwacom.c b/libwacom/libwacom.c
+index c4a50a8..bd6b63f 100644
+--- a/libwacom/libwacom.c
++++ b/libwacom/libwacom.c
+@@ -147,6 +147,10 @@ get_bus_vid_pid (GUdevDevice *device,
+ *bus = WBUSTYPE_I2C;
+ retval = TRUE;
+ break;
++ case 68:
++ *bus = WBUSTYPE_MEI;
++ retval = TRUE;
++ break;
+ }
+
+ out:
+@@ -765,6 +769,7 @@ static void print_match(int fd, const WacomMatch *match)
+ case WBUSTYPE_USB: bus_name = "usb"; break;
+ case WBUSTYPE_SERIAL: bus_name = "serial"; break;
+ case WBUSTYPE_I2C: bus_name = "i2c"; break;
++ case WBUSTYPE_MEI: bus_name = "mei"; break;
+ case WBUSTYPE_UNKNOWN: bus_name = "unknown"; break;
+ default: g_assert_not_reached(); break;
+ }
+diff --git a/libwacom/libwacom.h b/libwacom/libwacom.h
+index 8035e17..799e9b2 100644
+--- a/libwacom/libwacom.h
++++ b/libwacom/libwacom.h
+@@ -117,6 +117,7 @@ typedef enum {
+ WBUSTYPE_SERIAL, /**< Serial tablet */
+ WBUSTYPE_BLUETOOTH, /**< Bluetooth tablet */
+ WBUSTYPE_I2C, /**< I2C tablet */
++ WBUSTYPE_MEI, /**< MEI */
+ } WacomBusType;
+
+ /**
+diff --git a/test/test-tablet-validity.c b/test/test-tablet-validity.c
+index 7f36197..2805da5 100644
+--- a/test/test-tablet-validity.c
++++ b/test/test-tablet-validity.c
+@@ -171,6 +171,7 @@ test_vidpid(gconstpointer data)
+ case WBUSTYPE_USB:
+ case WBUSTYPE_BLUETOOTH:
+ case WBUSTYPE_I2C:
++ case WBUSTYPE_MEI:
+ g_assert_cmpint(libwacom_get_vendor_id(device), >, 0);
+ g_assert_cmpint(libwacom_get_product_id(device), >, 0);
+ break;
+--
+2.23.0
+
diff --git a/0002-data-Add-Microsoft-Surface-Book-2-13.5.patch b/0002-data-Add-Microsoft-Surface-Book-2-13.5.patch
new file mode 100644
index 000000000000..57f6b9f8903b
--- /dev/null
+++ b/0002-data-Add-Microsoft-Surface-Book-2-13.5.patch
@@ -0,0 +1,33 @@
+From 6179b43efe792cd0d4b6fd9c00674cb37ecde1fc Mon Sep 17 00:00:00 2001
+From: qzed <qzed@users.noreply.github.com>
+Date: Sat, 1 Jun 2019 21:48:02 +0200
+Subject: [PATCH 2/7] data: Add Microsoft Surface Book 2 (13.5")
+
+---
+ data/surface-book2-13.tablet | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 data/surface-book2-13.tablet
+
+diff --git a/data/surface-book2-13.tablet b/data/surface-book2-13.tablet
+new file mode 100644
+index 0000000..dc1353e
+--- /dev/null
++++ b/data/surface-book2-13.tablet
+@@ -0,0 +1,14 @@
++# This is for the Microsoft Surface Book 2 13.5-inch model
++
++[Device]
++Name=Microsoft Surface Book 2 (13.5")
++DeviceMatch=mei:045E:0021
++Class=ISDV4
++Width=11
++Height=7
++IntegratedIn=Display;System;
++
++[Features]
++Stylus=true
++Touch=true
++Buttons=0
+--
+2.23.0
+
diff --git a/0003-data-Add-Microsoft-Surface-Pro-5.patch b/0003-data-Add-Microsoft-Surface-Pro-5.patch
new file mode 100644
index 000000000000..d8393cc3b650
--- /dev/null
+++ b/0003-data-Add-Microsoft-Surface-Pro-5.patch
@@ -0,0 +1,33 @@
+From 582d23d27a6c6c83bdce3702e073f498f68fdeba Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Sat, 1 Jun 2019 22:09:47 +0200
+Subject: [PATCH 3/7] data: Add Microsoft Surface Pro 5
+
+---
+ data/surface-pro5.tablet | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 data/surface-pro5.tablet
+
+diff --git a/data/surface-pro5.tablet b/data/surface-pro5.tablet
+new file mode 100644
+index 0000000..2ad6539
+--- /dev/null
++++ b/data/surface-pro5.tablet
+@@ -0,0 +1,14 @@
++# This is for the Microsoft Surface Pro 5 (2017)
++
++[Device]
++Name=Microsoft Surface Pro 5
++DeviceMatch=mei:1B96:001F
++Class=ISDV4
++Width=10
++Height=6
++IntegratedIn=Display;System;
++
++[Features]
++Stylus=true
++Touch=true
++Buttons=0
+--
+2.23.0
+
diff --git a/0004-data-Add-Microsoft-Surface-Book-2-15.patch b/0004-data-Add-Microsoft-Surface-Book-2-15.patch
new file mode 100644
index 000000000000..7b26c39b818e
--- /dev/null
+++ b/0004-data-Add-Microsoft-Surface-Book-2-15.patch
@@ -0,0 +1,33 @@
+From 45ac16891f1fe44fd7d79732102d8ada4e245d51 Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Sun, 2 Jun 2019 01:01:15 +0200
+Subject: [PATCH 4/7] data: Add Microsoft Surface Book 2 (15")
+
+---
+ data/surface-book2-15.tablet | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 data/surface-book2-15.tablet
+
+diff --git a/data/surface-book2-15.tablet b/data/surface-book2-15.tablet
+new file mode 100644
+index 0000000..6ec6551
+--- /dev/null
++++ b/data/surface-book2-15.tablet
+@@ -0,0 +1,14 @@
++# This is for the Microsoft Surface Book 2 15-inch model
++
++[Device]
++Name=Microsoft Surface Book 2 (15")
++DeviceMatch=mei:045E:0020
++Class=ISDV4
++Width=12
++Height=8
++IntegratedIn=Display;System;
++
++[Features]
++Stylus=true
++Touch=true
++Buttons=0
+--
+2.23.0
+
diff --git a/0005-data-Add-Microsoft-Surface-Pro-6.patch b/0005-data-Add-Microsoft-Surface-Pro-6.patch
new file mode 100644
index 000000000000..c8987d1d3fbc
--- /dev/null
+++ b/0005-data-Add-Microsoft-Surface-Pro-6.patch
@@ -0,0 +1,33 @@
+From a0a5b5e5149f62e179df800155d2b10a56738748 Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Mon, 3 Jun 2019 00:40:34 +0200
+Subject: [PATCH 5/7] data: Add Microsoft Surface Pro 6
+
+---
+ data/surface-pro6.tablet | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 data/surface-pro6.tablet
+
+diff --git a/data/surface-pro6.tablet b/data/surface-pro6.tablet
+new file mode 100644
+index 0000000..da31e8f
+--- /dev/null
++++ b/data/surface-pro6.tablet
+@@ -0,0 +1,14 @@
++# This is for the Microsoft Surface Pro 6
++
++[Device]
++Name=Microsoft Surface Pro 6
++DeviceMatch=mei:045E:001F
++Class=ISDV4
++Width=10
++Height=6
++IntegratedIn=Display;System;
++
++[Features]
++Stylus=true
++Touch=true
++Buttons=0
+--
+2.23.0
+
diff --git a/0006-data-Add-Microsoft-Surface-Pro-4.patch b/0006-data-Add-Microsoft-Surface-Pro-4.patch
new file mode 100644
index 000000000000..92c86e42dd41
--- /dev/null
+++ b/0006-data-Add-Microsoft-Surface-Pro-4.patch
@@ -0,0 +1,33 @@
+From 5830c1e96938f58af8a159191e4c9522d6ab0cd1 Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Mon, 3 Jun 2019 00:42:30 +0200
+Subject: [PATCH 6/7] data: Add Microsoft Surface Pro 4
+
+---
+ data/surface-pro4.tablet | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 data/surface-pro4.tablet
+
+diff --git a/data/surface-pro4.tablet b/data/surface-pro4.tablet
+new file mode 100644
+index 0000000..bb6f02f
+--- /dev/null
++++ b/data/surface-pro4.tablet
+@@ -0,0 +1,14 @@
++# This is for the Microsoft Surface Pro 4
++
++[Device]
++Name=Microsoft Surface Pro 4
++DeviceMatch=mei:1B96:006A
++Class=ISDV4
++Width=10
++Height=6
++IntegratedIn=Display;System;
++
++[Features]
++Stylus=true
++Touch=true
++Buttons=0
+--
+2.23.0
+
diff --git a/0007-data-Add-Microsoft-Surface-Book.patch b/0007-data-Add-Microsoft-Surface-Book.patch
new file mode 100644
index 000000000000..336868f9a2dd
--- /dev/null
+++ b/0007-data-Add-Microsoft-Surface-Book.patch
@@ -0,0 +1,33 @@
+From e3be71039c05e50d58784b41564c59028f7789fa Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Mon, 3 Jun 2019 00:45:41 +0200
+Subject: [PATCH 7/7] data: Add Microsoft Surface Book
+
+---
+ data/surface-book.tablet | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+ create mode 100644 data/surface-book.tablet
+
+diff --git a/data/surface-book.tablet b/data/surface-book.tablet
+new file mode 100644
+index 0000000..45e17db
+--- /dev/null
++++ b/data/surface-book.tablet
+@@ -0,0 +1,14 @@
++# This is for the Microsoft Surface Book (1)
++
++[Device]
++Name=Microsoft Surface Book
++DeviceMatch=mei:1B96:005e
++Class=ISDV4
++Width=11
++Height=7
++IntegratedIn=Display;System;
++
++[Features]
++Stylus=true
++Touch=true
++Buttons=0
+--
+2.23.0
+
diff --git a/00_mei-bus.patch b/00_mei-bus.patch
deleted file mode 100644
index ecb5ab6fd8e5..000000000000
--- a/00_mei-bus.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
-index 1da9adf..e121c88 100644
---- a/libwacom/libwacom-database.c
-+++ b/libwacom/libwacom-database.c
-@@ -112,6 +112,8 @@ bus_from_str (const char *str)
- return WBUSTYPE_BLUETOOTH;
- if (strcmp (str, "i2c") == 0)
- return WBUSTYPE_I2C;
-+ if (strcmp (str, "mei") == 0)
-+ return WBUSTYPE_MEI;
- return WBUSTYPE_UNKNOWN;
- }
-
-@@ -130,6 +132,8 @@ bus_to_str (WacomBusType bus)
- return "bluetooth";
- case WBUSTYPE_I2C:
- return "i2c";
-+ case WBUSTYPE_MEI:
-+ return "mei";
- }
- g_assert_not_reached ();
- }
-diff --git a/libwacom/libwacom.c b/libwacom/libwacom.c
-index 8979a53..c09e07d 100644
---- a/libwacom/libwacom.c
-+++ b/libwacom/libwacom.c
-@@ -144,6 +144,10 @@ get_bus_vid_pid (GUdevDevice *device,
- *bus = WBUSTYPE_I2C;
- retval = TRUE;
- break;
-+ case 68:
-+ *bus = WBUSTYPE_MEI;
-+ retval = TRUE;
-+ break;
- }
-
- out:
-@@ -736,6 +740,7 @@ static void print_match(int fd, const WacomMatch *match)
- case WBUSTYPE_USB: bus_name = "usb"; break;
- case WBUSTYPE_SERIAL: bus_name = "serial"; break;
- case WBUSTYPE_I2C: bus_name = "i2c"; break;
-+ case WBUSTYPE_MEI: bus_name = "mei"; break;
- case WBUSTYPE_UNKNOWN: bus_name = "unknown"; break;
- default: g_assert_not_reached(); break;
- }
-diff --git a/libwacom/libwacom.h b/libwacom/libwacom.h
-index bb968e7..24ab9f3 100644
---- a/libwacom/libwacom.h
-+++ b/libwacom/libwacom.h
-@@ -116,6 +116,7 @@ typedef enum {
- WBUSTYPE_SERIAL, /**< Serial tablet */
- WBUSTYPE_BLUETOOTH, /**< Bluetooth tablet */
- WBUSTYPE_I2C, /**< I2C tablet */
-+ WBUSTYPE_MEI, /**< MEI */
- } WacomBusType;
-
- /**
diff --git a/01_surface-tablet-data.patch b/01_surface-tablet-data.patch
deleted file mode 100644
index 8ee7336e1255..000000000000
--- a/01_surface-tablet-data.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/data/surface.tablet b/data/surface.tablet
-new file mode 100644
-index 0000000..56859e0
---- /dev/null
-+++ b/data/surface.tablet
-@@ -0,0 +1,14 @@
-+# IPTS Based Microsoft Surface Series Devices
-+
-+[Device]
-+Name=Microsoft Surface Device
-+DeviceMatch=mei:1b96:0020;mei:1b96:005e;mei:1b96:006a;mei:1b96:001F;mei:1b96:1b05;mei:1b96:001F;mei:045e:0020;mei:045e:0021;mei:04F3:261A
-+Class=ISDV4
-+Widht=10
-+Height=6
-+IntegratedIn=Display;System
-+
-+[Features]
-+Stylus=true
-+Touch=true
-+Buttons=0
diff --git a/PKGBUILD b/PKGBUILD
index f5217c2da449..6841f63ba05a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,11 +1,11 @@
# Maintainer: Maximilian Luz <luzmaximilian@gmail.com>
pkgname=libwacom-surface
-pkgver=0.33
+pkgver=1.0
pkgrel=1
pkgdesc="Patched libwacom for Microsoft Surface devices"
arch=('x86_64')
-url="https://github.com/geoffholden/libwacom"
+url="https://github.com/qzed/libwacom"
license=('MIT')
depends=('glib2' 'systemd' 'libgudev')
makedepends=('git' 'libxml2')
@@ -14,21 +14,31 @@ conflicts=('libwacom')
provides=("libwacom=${pkgver}")
source=(
- '00_mei-bus.patch'
- '01_surface-tablet-data.patch'
+ '0001-Add-support-for-Intel-Management-Engine-bus.patch'
+ '0002-data-Add-Microsoft-Surface-Book-2-13.5.patch'
+ '0003-data-Add-Microsoft-Surface-Pro-5.patch'
+ '0004-data-Add-Microsoft-Surface-Book-2-15.patch'
+ '0005-data-Add-Microsoft-Surface-Pro-6.patch'
+ '0006-data-Add-Microsoft-Surface-Pro-4.patch'
+ '0007-data-Add-Microsoft-Surface-Book.patch'
"https://github.com/linuxwacom/libwacom/releases/download/libwacom-${pkgver}/libwacom-${pkgver}.tar.bz2"{,.sig}
)
-sha256sums=('faf69fa3795a5147665b285f28d82c0977a3870522c98ffccaf819730089599e'
- '9b7f8d681bf12e81e21cde33b7d77b10b4f2a78f3d0c46c5efe147c278c24bf9'
- '94f8a3371f30f4a38d6d2290f5160d5f5ba7a7cd6e63bee95686a67a3c19dbf2'
+sha256sums=('eb0f32d5e33cb07cfb66c97ac6303383387ccfb97e808865cf056c21c3998ba4'
+ 'abf0137ec6ac8aee8e77b2d33423a4a90689660558bbb9bfef41b43f72170d4d'
+ '55384a33ddb4761729d8915a3709160dfc2c076b103c4072b2a46c0cb24a44b6'
+ 'fb16b33addc6c44401c2e36e8f3d5d244d6c76e036a64cf4988c679de8687cb2'
+ '833227f52f050c368e6ca5908aa7534238b96afb5d8a0df8413b14dd63891a9a'
+ 'dde9d2328c6c6112656f1537efb2bc8f0f50d96570b055acef1628a2442b464a'
+ '6f7f5f849e460110fad9304b275e4f9f2d880165faed124305b1bf2391c6958f'
+ 'c48f931bcebaa87ae38e3c3a14863d507cd083313207802864ab2763c5b90cc7'
'SKIP')
prepare() {
cd "libwacom-${pkgver}"
- patch -p1 -i "${srcdir}/00_mei-bus.patch"
- patch -Np1 -i "${srcdir}/01_surface-tablet-data.patch" || true
- # If the patched source has been cached this will fail to apply, ignore that with `|| true`
- # XXX: There must be a better option?
+
+ for p in "${srcdir}/"*.patch ; do
+ patch -Np1 -i "${p}" || true
+ done
}
build() {