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

Matt Porter mporter at konsulko.com
Thu Sep 21 14:00:55 UTC 2017


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


More information about the wayland-devel mailing list