Skip to content

Commit

Permalink
Merge branch 'master' into dejitter
Browse files Browse the repository at this point in the history
  • Loading branch information
mika314 authored Dec 2, 2024
2 parents ac30a7a + 31d3b74 commit b579cee
Show file tree
Hide file tree
Showing 32 changed files with 1,319 additions and 809 deletions.
9 changes: 6 additions & 3 deletions .github/workflows/black.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
on: [ push, pull_request ]

permissions:
contents: read

jobs:
python-black:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout the repo
uses: actions/checkout@v2
- uses: actions/setup-python@v1
uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: pip install black
Expand Down
38 changes: 21 additions & 17 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
on: [ push, pull_request ]

permissions:
contents: read

env:
CFLAGS: -Werror
UBUNTU_PACKAGES: |
Expand All @@ -11,13 +14,13 @@ env:

jobs:
compile-with-autotools:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
compiler: [ gcc, clang ]
steps:
- name: Checkout the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- uses: linuxwacom/libwacom/.github/actions/pkginstall@master
with:
apt: $UBUNTU_PACKAGES
Expand Down Expand Up @@ -50,13 +53,14 @@ jobs:
- name: move tarball to top level
run: |
mv _build/xf86-input-wacom-*tar.bz2 .
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: ${{ matrix.compiler == 'gcc' }}
with:
name: tarball
path: xf86-input-wacom-*tar.bz2

compile-with-meson:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
compiler:
Expand All @@ -69,7 +73,7 @@ jobs:
# https://github.com/mesonbuild/meson/issues/764
- '-Db_sanitize=address,undefined -Db_lundef=false'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: linuxwacom/libwacom/.github/actions/pkginstall@master
with:
apt: $UBUNTU_PACKAGES
Expand All @@ -81,7 +85,7 @@ jobs:
env:
CC: ${{matrix.compiler}}
# Capture all the meson logs, even if we failed
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: ${{ always() }} # even if we fail
with:
name: meson-test-logs-${{github.job}}-${{matrix.compiler}}-${{matrix.meson_options}}
Expand All @@ -90,9 +94,9 @@ jobs:
builddir/meson-logs/meson-log.txt
compile-with-meson-exact-version:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: linuxwacom/libwacom/.github/actions/pkginstall@master
with:
apt: $UBUNTU_PACKAGES
Expand All @@ -104,7 +108,7 @@ jobs:
with:
meson_args: -Dauto_features=enabled
# Capture all the meson logs, even if we failed
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: ${{ always() }} # even if we fail
with:
name: meson-test-logs-${{github.job}}
Expand All @@ -118,7 +122,7 @@ jobs:
#
build-from-tarball-autotools:
needs: compile-with-autotools
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
TARBALLDIR: '_tarball_dir'
INSTALLDIR: '/tmp/_inst'
Expand All @@ -127,7 +131,7 @@ jobs:
with:
apt: $UBUNTU_PACKAGES
- name: fetch tarball from previous job(s)
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: tarball
- name: extract tarball
Expand All @@ -147,7 +151,7 @@ jobs:
build-from-tarball-meson:
needs: compile-with-autotools
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
TARBALLDIR: '_tarball_dir'
INSTALLDIR: '/tmp/_inst'
Expand All @@ -157,7 +161,7 @@ jobs:
apt: $UBUNTU_PACKAGES
pip: $PIP_PACKAGES
- name: fetch tarball from previous job(s)
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: tarball
- name: extract tarball
Expand All @@ -172,7 +176,7 @@ jobs:
meson_args: -Dauto_features=enabled --prefix="$INSTALLDIR"
ninja_args: test
# Capture all the meson logs, even if we failed
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
if: ${{ always() }} # even if we fail
with:
name: tarball-build-meson-test-logs
Expand All @@ -182,14 +186,14 @@ jobs:
check-tarball-files:
needs: compile-with-autotools
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
TARBALLDIR: '_tarball_dir'
steps:
- name: Checkout the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: fetch tarball from previous job(s)
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: tarball
- name: list git files
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ on:
- cron: '0 0 1,15 * *'
workflow_dispatch:

permissions:
contents: read

env:
COVERITY_SCAN_PROJECT_NAME: linuxwacom/xf86-input-wacom
COVERITY_SCAN_NOTIFICATION_EMAIL: [email protected]
Expand All @@ -14,12 +17,12 @@ env:

jobs:
coverity:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
environment: coverity
if: ${{ github.repository == '$COVERITY_SCAN_PROJECT_NAME' }}
steps:
- name: Checkout the repo
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up build environment / dependencies
run: |
Expand Down
44 changes: 0 additions & 44 deletions conf/70-wacom.conf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

Section "InputClass"
Identifier "Wacom USB tablet class"
MatchUSBID "056a:*"
MatchDevicePath "/dev/input/event*"
MatchIsTablet "true"
Driver "wacom"
Expand All @@ -30,14 +29,6 @@ Section "InputClass"
Driver "wacom"
EndSection

Section "InputClass"
Identifier "Wacom tablet class"
MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4"
MatchDevicePath "/dev/input/event*"
MatchIsTablet "true"
Driver "wacom"
EndSection

Section "InputClass"
Identifier "Wacom touchscreen class"
MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4"
Expand Down Expand Up @@ -76,23 +67,6 @@ Section "InputClass"
Driver "wacom"
EndSection

# Hanwang tablets
Section "InputClass"
Identifier "Hanwang class"
MatchProduct "Hanwang"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection

# Waltop tablets
Section "InputClass"
Identifier "Waltop class"
MatchProduct "WALTOP"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection

# N-Trig Duosense Electromagnetic Digitizer
Section "InputClass"
Identifier "Wacom N-Trig class"
Expand All @@ -110,21 +84,3 @@ Section "InputClass"
MatchIsTouchscreen "true"
Driver "wacom"
EndSection

# Surface Go
Section "InputClass"
Identifier "SurfaceGo Touch"
MatchProduct "ELAN9038:00 04F3:261A"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection

# Nuvision Solo 10 Draw (Supports Surface Pens)
Section "InputClass"
Identifier "Nuvision Solo 10 Draw"
MatchProduct "04F3200A:00 04F3:22F7"
MatchDevicePath "/dev/input/event*"
Driver "wacom"
EndSection


2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
AC_PREREQ([2.60])
# bump version in meson.build
AC_INIT([xf86-input-wacom],
[1.1.0],
[1.2.3],
[https://github.com/linuxwacom/xf86-input-wacom/issues/],
[xf86-input-wacom])
AC_CONFIG_MACRO_DIR([m4])
Expand Down
10 changes: 4 additions & 6 deletions include/wacom-properties.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,13 @@
/* CARD32, 1 value */
#define WACOM_PROP_SERIAL_BIND "Wacom Serial ID binding"

/* 8 bit, 4 values, left up, left down, right up, right down
OR
Atom, 4 values , left up, left down, right up, right down
/* 8 bit OR Atom, 4 values:
left up, left down, right up, right down
*/
#define WACOM_PROP_STRIPBUTTONS "Wacom Strip Buttons"

/* 8 bit, 6 values, rel wheel up, rel wheel down, abs wheel up, abs wheel down, abs wheel 2 up, abs wheel 2 down
OR
Atom, 6 values , rel wheel up, rel wheel down, abs wheel up, abs wheel down, abs wheel 2 up, abs wheel 2 down
/* 8 bit OR Atom, 8 values:
rel wheel up, rel wheel down, abs wheel up, abs wheel down, abs wheel 2 up, abs wheel 2 down, rel wheel 2 up, rel wheel 2 down
*/
#define WACOM_PROP_WHEELBUTTONS "Wacom Wheel Buttons"

Expand Down
53 changes: 39 additions & 14 deletions man/wacom.man
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
wacom \- Wacom input driver
.SH SYNOPSIS
.nf
.B "Section \*qInputDevice\*q"
.B "Section \*qInputClass\*q"
.BI " Identifier \*q" idevname \*q
.B " MatchIsTablet \*qon\*q"
.BI " MatchDevicePath \*q" devpath \*q
.B " Driver \*qwacom\*q"
.BI " Option \*qDevice\*q \*q" devpath \*q
.B " Option \*q...\*q \*q ...\*q"
\ \ ...
.B EndSection
.fi
Expand All @@ -19,20 +21,22 @@ The
.B wacom
driver functions as a pointer input device.
.SH SUPPORTED HARDWARE
This driver supports the Wacom IV and Wacom V protocols. Serial tablets only
need this driver. USB tablet support is available on some Linux platforms
and requires the wacom kernel driver being loaded before this driver starts.
This driver supports virtually all tablet devices that are supported
by the Linux kernel.
.PP
Please check https://github.com/linuxwacom for latest updates of Wacom X
and kernel drivers.
.SH DRIVER-INTERNAL DEVICE HOTPLUGGING
When input device hotplugging in the X server is enabled and no
.B InputDevice
section exists for a compatible tablet device and an
Configuration via
.B "Section \*qInputDevice\*q"
is discouraged as such devices cannot be hotplugged at runtime. Instead
users should use
.B "Section \*qInputClass\*q"
as in the example above. The
.B InputClass
section (see xorg.conf.d(5x)) assigns this driver for the device, the
section (see xorg.conf.d(5)) assigns this driver for the device, the
.B wacom
driver creates multiple X devices for each a physical device, one X device
driver creates multiple X devices for each physical device, one X device
for each available tool. The list of tools is hardware-dependent. See
.B Option "Type"
as outlined in the
Expand All @@ -59,13 +63,12 @@ possible to use a
.B MatchProduct
directive to match against this appended type name.
.SH CONFIGURATION DETAILS
Please refer to xorg.conf(5x) or xorg.conf.d(5x) for general configuration
Please refer to xorg.conf(5) or xorg.conf.d(5) for general configuration
details and for options that can be used with all input drivers. This
section only covers configuration details specific to this driver.
.PP
Multiple instances of the Wacom devices can cohabit. Each device
supports the following entries:
.RS 8
.TP 4
.B Option \fI"Type"\fP \fI"stylus"|"eraser"|"cursor"|"pad"|"touch"\fP
sets the type of tool the device represents. This option is mandatory.
Expand All @@ -82,7 +85,8 @@ Right now only a few Tablet PCs have this feature.
sets the path to the special file which represents serial line where
the tablet is plugged. You have to specify it for each subsection with
the same value if you want to have multiple devices with the same tablet.
This option is mandatory.
This option is mandatory only if using
.B "Section \*qInputDevice\*q" for static configuration.
.TP 4
.B Option \fI"Suppress"\fP \fI"number"\fP
sets the position increment under which not to transmit coordinates.
Expand Down Expand Up @@ -289,7 +293,17 @@ scroll event is generated when using the "pan" action. Smaller values
will require less distance and be more sensitive. Larger values will
require more distance and be less sensitive. Default: 1300 or 2600
depending on tablet resolution (corresponds to 13 mm of distance).
.RE
.TP 4
.B Option \fI"SmoothPanscrollingEnabled"\fP \fI"bool"\fP
Allows to disable smooth panscrolling. Default: true.
If disabled, panscrolling sends legacy button events instead.
This option exists for backwards compatibility with
applications that have the number of axes on a device limited to 6.
See section
.B BUGS
for more details. This option should not be used unless the user runs one or
more applications that do not support more than six axes.

.SH "TOUCH GESTURES"
.SS Single finger (1FG)
.LP
Expand Down Expand Up @@ -336,6 +350,17 @@ option to reduce the range to 2048 steps. Note that this setting applies to
the device. Once applied, all applications will see the reduced pressure
range. It is not possible to provide this setting on a per-application
basis.
.SS "Smooth panscrolling exceeds the axis limits"
In version 1.2.0, the driver's support for smooth panscrolling added two axes
to the stylus device, bringing the total axis count to eight. The number of
axes is advertised through the X Input Protocol but some applications (notably
GIMP 2.xx) cannot handle more than six axes. This is an application bug but for
backwards-compatibility with such applications, this driver provides the
.B SmoothPanscrollingEnabled
option to disable this feature and thus limit the axis count to six. Note that
this setting applies to the device. Once applied, the driver will not send
smooth panscroll events at all. It is not possible to provide this setting on a
per-application basis.
.SH "SEE ALSO"
__xservername__(1), xorg.conf(5),
xorg.conf.d(5), X(7)
Expand Down
Loading

0 comments on commit b579cee

Please sign in to comment.