[PATCH libinput] udev: add quirk for Chalkboard Electronics HID Touchscreen

Matt Porter mporter at konsulko.com
Thu Sep 21 16:46:27 UTC 2017


On Thu, Sep 21, 2017 at 08:41:13AM -0700, Jason Gerecke wrote:
> On Thu, Sep 21, 2017 at 7:00 AM, Matt Porter <mporter at konsulko.com> wrote:
> > On Thu, Sep 21, 2017 at 10:59:08AM +0200, Hans de Goede wrote:
> >> Hi,
> >>
> >> On 19-09-17 18:41, Matt Porter wrote:
> >> > The Chalkboard Electronics HID Touchscreen is classified as
> >> > a tablet device by systemd udev because it has BTN_TOOL_PEN
> >> > support. It also reports a resolution of 0 for both X and Y
> >> > axes in absinfo. This causes libinput to reject it as an
> >> > invalid tablet device.
> >> >
> >> > This quirk reclassifies the device as a touchscreen which
> >> > allows it to be added as a valid input device.
> >> >
> >> > Signed-off-by: Matt Porter <mporter at konsulko.com>
> >>
> >> Have you considered adding special handling for this device
> >> to the kernel's hid drivers ? The hid subsys has sub drivers
> >> for device specific handling and if the device never actually
> >> has a pen, then the right fix would be to not make the kernel
> >> export this. Note I assume this is for a so called
> >> "smart" whiteboard for in classes ? If that is the case then
> >> the device may actually have a pen/stylus like device in
> >> some configuration. Some of these smart boards have what
> >> are basically empty whiteboard-marker in multiple colors
> >> and the device may report these as different styluses ...
> >
> > I hadn't really considered that since this userspace fixup
> > basically follows the pattern I see for other devices in
> > systemd's hwdb. Just to clarify, these are not "smartboard"
> > style devices. They are typical 7-14" touchscreen displays
> > with HDMI/USB interface from https://www.chalk-elec.com/
> >
> > The updated patch for this is at
> > https://github.com/systemd/systemd/pull/6880 based on Peter's
> > earlier comments. It could be solved in the kernel as you
> > suggest, however it appears that usually that approach is for
> > very different hid devices with custom protocols (e.g.
> > logitech-hidpp). I could suppress the pen tool and update absinfo
> > in a hid-chalkboard.c if that's preferred. There could be an
> > advantage here for those that aren't using systemd udev.
> >
> > -Matt
> 
> What kernel driver gets bound to the device? I would expect
> hid-multitouch for a generic multitouch touchscreen, but I don't
> believe that driver ever exposes BTN_TOOL_PEN. Perhaps a quirk simply
> needs to be refined or defined?

There's two cases with these devices: 1) device ships with a single
touch firmware load by default 2) device can be updated with a multi
touch firmware load. So it's either hid-generic or hid-multitouch,
depending on what you've configured and of course different PIDs
to discern between them. I'll take a look at handling both in the
kernel.

-Matt


More information about the wayland-devel mailing list