[PATCH v2 0/3] Input: ilitek_ts: add stylus support for 0x0c reports
From: Kristian Mide <hidden>
Date: 2026-07-09 18:26:37
Also in:
lkml
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 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]. Changes in v2: - manage the lazy pen device lifetime explicitly and tear down the IRQ before unregistering the pen device - sync pen axis limits with the DT-adjusted touch axis limits - reject short I2C transfers in ilitek_i2c_write_and_read() - split the short-transfer fix from the ratelimited logging change On the tested CHUWI Hi10 Max this makes the pen usable in GNOME/Krita, including pressure and side buttons. Thanks, Kristian Kristian Mide (3): Input: ilitek_ts: add stylus input support Input: ilitek_ts: handle short I2C transfers Input: ilitek_ts: ratelimit unexpected report logging drivers/input/touchscreen/ilitek_ts_i2c.c | 149 +++++++++++++++++++++- 1 file changed, 145 insertions(+), 4 deletions(-) -- 2.54.0