Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
34cc25c
adds XP Pen artist 13.3
fahrstuhl Nov 1, 2019
ed4a697
Fix build on Linux kernel >= 5.4
gonX Dec 19, 2019
89e4d3f
uclogic: Rename Huion HS64 PID to Huion Tablet 2
spbnick May 26, 2019
603215f
uclogic: Support Huion 13th frame button
spbnick Jun 16, 2019
589cd75
uclogic: Split pen and frame raw event handling
spbnick Jun 16, 2019
5e9e4e0
uclogic: Skip non-input raw events earlier
spbnick Jun 16, 2019
f3b2d28
uclogic: Handle virtual frame reports as real for consistency
spbnick Jun 16, 2019
bf75b5d
uclogic: Access pen/frame params directly in raw_event handling
spbnick Jun 16, 2019
42a8a35
uclogic: Remove Wacom-mimicking fake pad reports
spbnick Jun 24, 2019
67f37a8
Add the new .mod files to .gitignore
spbnick Jan 6, 2020
0df293c
travis-ci: Use Ubuntu Bionic
spbnick Jan 6, 2020
e0bc147
Makefile: Stop using deprecated SUBDIRS make var
spbnick Jan 6, 2020
c5cb845
uclogic: Explicitly change report ID to virtual ID
spbnick Jan 11, 2020
352da4e
uclogic: Remove pen usage masking
spbnick Jan 11, 2020
64c9dac
Revert "uclogic: Remove Wacom-mimicking fake pad reports"
spbnick Mar 1, 2020
c845b7b
uclogic: Fix uclogic_params_huion_init() docs
spbnick Jan 18, 2020
1e325fb
uclogic: Replace pen_frame_flag with subreport_list
spbnick Jan 18, 2020
566ed13
uclogic: Switch to matching subreport bytes
spbnick Feb 9, 2020
fd60734
uclogic: Specify total report size to buttonpad macro
spbnick Jan 18, 2020
d2fa41d
uclogic: Use "frame" instead of "buttonpad"
spbnick Feb 29, 2020
9ed73c3
uclogic: Put version first in rdesc namespace
spbnick Feb 29, 2020
12b1cd8
uclogic: Use different constants for frame report IDs
spbnick Feb 29, 2020
8214bc5
uclogic: Actually re-route the changed report ID
spbnick Feb 29, 2020
988b16e
uclogic: Support multiple frame input devices
spbnick Feb 29, 2020
68ba46e
uclogic: Add support for touch ring reports
spbnick Feb 29, 2020
d729461
uclogic: Support custom device suffix for frames
spbnick Feb 29, 2020
75fcbb8
uclogic: Support two pen subreports
spbnick Feb 29, 2020
7b7e662
uclogic: Support two frame devices
spbnick Feb 29, 2020
84abef8
uclogic: Define report IDs before their descriptors
spbnick Feb 29, 2020
2f834f1
uclogic: Support touch ring reports
spbnick Feb 29, 2020
e163ea2
uclogic: Say "touch ring" not "dial"
spbnick Mar 8, 2020
432be83
uclogic: Allow three frame parameter sets
spbnick Mar 14, 2020
3630d38
uclogic: Compress params format string
spbnick Mar 14, 2020
3352f47
uclogic: Add support for bitmap dials
spbnick Mar 15, 2020
92a214d
uclogic: Add support for Huion Q620M
spbnick Mar 14, 2020
caf0fdd
uclogic: Reduce indent for params format str/args
spbnick Mar 15, 2020
ce5a68f
uclogic: Pass keyboard reports as is
spbnick Apr 5, 2020
a328fc1
uclogic: Clarify pen subreport list description
spbnick Apr 12, 2020
45888a2
uclogic: Clarify params desc_size description
spbnick Apr 12, 2020
7a87300
uclogic: Clarify pen/frame desc_ptr description
spbnick Apr 12, 2020
a1d6ca2
uclogic: Support disabling pen usage
spbnick Apr 12, 2020
f0d0fef
uclogic: Disable pen usage for Huion keyboard interfaces
spbnick Apr 12, 2020
ed990d7
uclogic: Move param printing to a function
spbnick Apr 12, 2020
a99ecb8
uclogic: Return raw parameters from v2 pen init
spbnick Apr 13, 2020
33d02d5
uclogic: Do not focus on touch ring only
spbnick Apr 13, 2020
a19717f
uclogic: Clarify validity of touch parameters
spbnick Apr 13, 2020
a4442d0
uclogic: Always shift touch reports to zero
spbnick Apr 13, 2020
0dfcb4c
uclogic: Differentiate touch ring and touch strip
spbnick Apr 13, 2020
fe0f38c
uclogic: Set Suppress to zero for touch controls
spbnick Apr 26, 2020
dc2d9ea
README.md: Replace a tab with spaces
spbnick Apr 26, 2020
8ae3b3b
README.md: Add a separate "Known issues" section
spbnick Apr 26, 2020
d36d2ca
README.md: Mention Gnome scrolling issues
spbnick Apr 26, 2020
9c217fc
README.md: Fix Gnome touch scroll issue link
spbnick Apr 29, 2020
242b7e2
adds artist 13 id
fahrstuhl Jun 17, 2019
393f71b
adds XP-PEN Artist 13.3 driver and report fix for stylus button
fahrstuhl Jun 17, 2019
504e637
adds comment what changed in descriptor
fahrstuhl Jun 17, 2019
5a7c4d0
Merge branch 'master' of github.com:fahrstuhl/digimend-kernel-drivers
fahrstuhl May 17, 2020
a95c476
adds xppen driver to dkms.conf
fahrstuhl May 17, 2020
d4a3e8d
adds artist 13 id
fahrstuhl Jun 17, 2019
084a9b0
adds XP-PEN Artist 13.3 driver and report fix for stylus button
fahrstuhl Jun 17, 2019
dd8a4c1
adds comment what changed in descriptor
fahrstuhl Jun 17, 2019
965051c
adds xppen driver to dkms.conf
fahrstuhl May 17, 2020
9a6077a
Merge branch 'master' of github.com:fahrstuhl/digimend-kernel-drivers
fahrstuhl May 17, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
*.ko
*.mod
*.mod.c
*.o
.*
Expand Down
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ matrix:
dist: xenial
- os: linux
dist: trusty
- os: linux
dist: bionic
before_install:
- sudo apt-get -qq update
- sudo apt-get install -y dpkg-dev debhelper dkms lintian sparse fakeroot
Expand Down
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
obj-m := hid-kye.o hid-uclogic.o hid-polostar.o hid-viewsonic.o
obj-m := hid-kye.o hid-uclogic.o hid-polostar.o hid-viewsonic.o hid-xppen.o
hid-uclogic-objs := \
hid-uclogic-core.o \
hid-uclogic-rdesc.o \
Expand All @@ -19,7 +19,7 @@ DKMS_MODULES = $(DKMS_MODULES_NAME)/$(PACKAGE_VERSION)
DKMS_SOURCE_DIR = $(DESTDIR)/usr/src/$(DKMS_MODULES_NAME)-$(PACKAGE_VERSION)

modules modules_install clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) $@
$(MAKE) -C $(KDIR) M=$(PWD) $@

depmod_conf_install:
install -D -m 0644 depmod.conf $(DEPMOD_CONF)
Expand All @@ -43,6 +43,7 @@ udev_rules_uninstall:
modules_uninstall:
rm -vf /lib/modules/*/extra/hid-kye.ko \
/lib/modules/*/extra/hid-polostar.ko \
/lib/modules/*/extra/hid-xppen.ko \
/lib/modules/*/extra/hid-uclogic.ko \
/lib/modules/*/extra/hid-viewsonic.ko

Expand Down
100 changes: 55 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,51 +112,6 @@ installation and operation and can safely be ignored. That is, unless you set
up module signature verification, but then you would recognize the problem,
and would be able to fix it.

### DKMS issues preventing correct installation ###

If you're installing Debian packages, or installing from source with DKMS, you
might hit one of DKMS bugs which prevent some of the driver modules from
installing.

They make DKMS produce messages like this:

hid-uclogic.ko:
Running module version sanity check.
Error! Module version 7 for hid-uclogic.ko
is not newer than what is already found in kernel 4.9.0-5-amd64 (7).
You may override by specifying --force.

or this:

hid-uclogic.ko.xz:
Running module version sanity check.
Error! Module version 9 for hid-uclogic.ko.xz
is not newer than what is already found in kernel 3.10.0-862.14.4.el7.x86_64 (27A2028780DCB320780F53D).

while trying to install the drivers.

Fixes for these were accepted upstream ([first fix][dkms_issue1_pr] and
[second fix][dkms_issue2_pr]) and should eventually appear in distributions.
Meanwhile, to fix the issues, you can apply these yourself, or execute the
following command:

sudo sed -i \
-e '/^get_module_verinfo()/,+3 s/\<unset res$\|\<res=()$/res=("" "" "")/' \
/usr/sbin/dkms

Be aware that the operation of the above command is inexact, and might not
work, or might break DKMS. You've been warned. In any case, simply reinstall
DKMS to restore it.

### Systems with Secure Boot enabled ###

If your system has [Secure Boot][secure_boot] enabled, then the installed
driver modules won't be permitted to load. You will see messages like
"Required key not available". To make them work, you will need to sign them,
or disable Secure Boot entirely. See documentation for your Linux distribution
on how to sign kernel modules, or documentation for your computer's UEFI
firmware on how to disable Secure Boot.

Configuration
-------------
After installing the drivers, make sure the previous versions of the drivers
Expand Down Expand Up @@ -299,6 +254,60 @@ directory:

The resulting package files will be written to the parent directory.

Known issues
------------

### DKMS issues preventing correct installation ###

If you're installing Debian packages, or installing from source with DKMS, you
might hit one of DKMS bugs which prevent some of the driver modules from
installing.

They make DKMS produce messages like this:

hid-uclogic.ko:
Running module version sanity check.
Error! Module version 7 for hid-uclogic.ko
is not newer than what is already found in kernel 4.9.0-5-amd64 (7).
You may override by specifying --force.

or this:

hid-uclogic.ko.xz:
Running module version sanity check.
Error! Module version 9 for hid-uclogic.ko.xz
is not newer than what is already found in kernel 3.10.0-862.14.4.el7.x86_64 (27A2028780DCB320780F53D).

while trying to install the drivers.

Fixes for these were accepted upstream ([first fix][dkms_issue1_pr] and
[second fix][dkms_issue2_pr]) and should eventually appear in distributions.
Meanwhile, to fix the issues, you can apply these yourself, or execute the
following command:

sudo sed -i \
-e '/^get_module_verinfo()/,+3 s/\<unset res$\|\<res=()$/res=("" "" "")/' \
/usr/sbin/dkms

Be aware that the operation of the above command is inexact, and might not
work, or might break DKMS. You've been warned. In any case, simply reinstall
DKMS to restore it.

### Systems with Secure Boot enabled ###

If your system has [Secure Boot][secure_boot] enabled, then the installed
driver modules won't be permitted to load. You will see messages like
"Required key not available". To make them work, you will need to sign them,
or disable Secure Boot entirely. See documentation for your Linux distribution
on how to sign kernel modules, or documentation for your computer's UEFI
firmware on how to disable Secure Boot.

### Touch ring/strip scrolling doesn't work in Gnome ###

Scrolling with a touch ring or a touch strip [doesn't
work][gnome_touch_scroll_issue] in Gnome version 3.24 and later. At the moment
there doesn't seem to be a workaround beside not using Gnome.

Support
-------

Expand Down Expand Up @@ -330,3 +339,4 @@ drivers, tablets, development, to ask for help, and to help others!
[howtos]: http://digimend.github.io/support/
[issues]: https://github.com/DIGImend/digimend-kernel-drivers/issues
[irc_channel]: https://webchat.freenode.net/?channels=DIGImend
[gnome_touch_scroll_issue]: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/118
2 changes: 2 additions & 0 deletions dkms.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ BUILT_MODULE_NAME[0]="hid-kye"
BUILT_MODULE_NAME[1]="hid-uclogic"
BUILT_MODULE_NAME[2]="hid-polostar"
BUILT_MODULE_NAME[3]="hid-viewsonic"
BUILT_MODULE_NAME[4]="hid-xppen"
DEST_MODULE_LOCATION[0]="/extra"
DEST_MODULE_LOCATION[1]="/extra"
DEST_MODULE_LOCATION[2]="/extra"
DEST_MODULE_LOCATION[3]="/extra"
DEST_MODULE_LOCATION[4]="/extra"
3 changes: 2 additions & 1 deletion hid-ids.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#define USB_VENDOR_ID_HUION 0x256c
#define USB_DEVICE_ID_HUION_TABLET 0x006e
#define USB_DEVICE_ID_HUION_HS64 0x006d
#define USB_DEVICE_ID_HUION_TABLET2 0x006d

#define USB_VENDOR_ID_KYE 0x0458
#define USB_DEVICE_ID_KYE_ERGO_525V 0x0087
Expand Down Expand Up @@ -56,6 +56,7 @@
#define USB_DEVICE_ID_UGEE_TABLET_G5 0x0074
#define USB_DEVICE_ID_UGEE_TABLET_EX07S 0x0071
#define USB_DEVICE_ID_UGEE_TABLET_RAINBOW_CV720 0x0055
#define USB_DEVICE_ID_UGEE_XPPEN_ARTIST_133 0x000b

/* ViewSonic Corporation */
#define USB_VENDOR_ID_VIEWSONIC 0x0543
Expand Down
Loading