|
|
Log in / Subscribe / Register

Input: ilitek_ts: add stylus support for 0x0c reports

From:  Kristian Mide <kristian-AT-mide.dk>
To:  dmitry.torokhov-AT-gmail.com
Subject:  [PATCH 0/2] Input: ilitek_ts: add stylus support for 0x0c reports
Date:  Fri, 26 Jun 2026 23:42:46 +0200
Message-ID:  <20260626214248.5563-1-kristian@mide.dk>
Cc:  linux-input-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Kristian Mide <kristian-AT-mide.dk>
Archive-link:  Article

Hi,

I bought a CHUWI Hi10 Max and was annoyed to find that the built-in
stylus was not usable with the upstream ilitek_ts driver.

This small series adds support for the pen report format emitted by the
device, exposing the stylus as a separate input device with hover,
pressure, and side-button support. The pen device is created lazily on
first pen report so touchscreen-only hardware does not advertise stylus
capabilities up front.

The packet format was reverse engineered on this device. In particular,
report ID 0x0c appears to carry pen events, pressure comes from
buf[6..7] shifted right by one, and the side buttons map to two bits in
buf[1].

The second patch is unrelated to the pen support itself, but keeps the
existing wrong-report logging from flooding dmesg when unexpected packets
repeat quickly.

On the tested CHUWI Hi10 Max this makes the pen usable in GNOME/Krita,
including pressure and side buttons.

Thanks,
Kristian

Kristian Mide (2):
  Input: ilitek_ts: add stylus input support
  Input: ilitek_ts: ratelimit unexpected report logging

 drivers/input/touchscreen/ilitek_ts_i2c.c | 134 +++++++++++++++++++++-
 1 file changed, 133 insertions(+), 1 deletion(-)

-- 
2.54.0



Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds