linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/8] HID: add support for USI style pens
@ 2021-11-04 13:36 Tero Kristo
  2021-11-04 13:36 ` [RFC 1/8] HID: debug: Add USI usages Tero Kristo
                   ` (8 more replies)
  0 siblings, 9 replies; 16+ messages in thread
From: Tero Kristo @ 2021-11-04 13:36 UTC (permalink / raw)
  To: jikos, benjamin.tissoires, mika.westerberg, tero.kristo
  Cc: linux-input, linux-kernel

Hi,

This series is an RFC for USI (Universal Stylus Interface) style pen
support. This is based on documentation from USB org describing the HID
usage tables for digitizers (page 0x0D) and experimentation with actual
USI capable controllers.

This series introduces the USI support with a new HID driver, which
applies the controller specific quirks. The most problematic part of the
USI support is handling of the pen parameters (color, line width, line
style), which are not immediately available from the controller from pen
down event, but must be cached and queried separately from the controller.
In addition to that, when a get-feature report is sent to the
controller, there is a delay before the proper value is reported out; it
is not part of the feature report coming back immediately.
Most of the code in the driver is to handle this (otherwise we could
just use hid-generic.)

This also boils down to the reason why this series is an RFC, I would like
to receive some feedback which option to pick for programming of the new
values for the programmable pen parameters; whether to parse the input
events so userspace can directly write the new values to the input event
file handle, or whether to use IOCTL. Patches #7 / #8 are sort of optional
choices towards this, but are there to show that both approaches can be
done. Direct write to evdev causes some confusion on the driver level
though, thus patch #7 is there to avoid some of that introducing new
input events for writing the parameters. IOCTL might be the cleanest
approach and I am slightly leaning towards that myself (see patch #8,
this would need to be squashed and cleaned up a bit though but would
effectively get rid of some code from patch #6 and completely rid patch #7.)

The driver has been tested with chromebooks that contain either Goodix
or Elan manufactured USI capable touchscreen controllers in them.

Any feedback appreciated!

-Tero



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2021-11-15 16:31 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-04 13:36 [RFC 0/8] HID: add support for USI style pens Tero Kristo
2021-11-04 13:36 ` [RFC 1/8] HID: debug: Add USI usages Tero Kristo
2021-11-04 13:36 ` [RFC 2/8] HID: Add map_msc() to avoid boilerplate code Tero Kristo
2021-11-04 13:36 ` [RFC 3/8] HID: hid-input: Add suffix also for HID_DG_PEN Tero Kristo
2021-11-04 13:36 ` [RFC 4/8] HID: input: Make hidinput_find_field() static Tero Kristo
2021-11-04 13:36 ` [RFC 5/8] HID: core: Add support for USI style events Tero Kristo
2021-11-04 13:36 ` [RFC 6/8] HID: usi: Add driver for Universal Stylus Interface (USI) Tero Kristo
2021-11-04 15:03   ` Randy Dunlap
2021-11-05  6:33     ` Tero Kristo
2021-11-05 20:53       ` Randy Dunlap
2021-11-04 13:37 ` [RFC 7/8] HID: USI: add new input event codes for the pen-set value events Tero Kristo
2021-11-04 13:37 ` [RFC 8/8] HID: USI: add support for ioctls Tero Kristo
2021-11-05 18:22 ` [RFC 0/8] HID: add support for USI style pens Benjamin Tissoires
2021-11-08  7:44   ` Tero Kristo
2021-11-09 17:02     ` Benjamin Tissoires
2021-11-15 16:30       ` Tero Kristo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).