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

Peter Hutterer peter.hutterer at who-t.net
Wed Sep 20 00:14:41 UTC 2017


Hi Matt,

On Tue, Sep 19, 2017 at 12:41:52PM -0400, 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>
> ---
>  udev/90-libinput-model-quirks.hwdb | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
> index 72fcdca..6348f0c 100644
> --- a/udev/90-libinput-model-quirks.hwdb
> +++ b/udev/90-libinput-model-quirks.hwdb
> @@ -72,6 +72,13 @@ libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*svnASUSTeKCOMPUTERINC.:pnX555LAB:*
>   LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1
>  
>  ##########################################
> +# Chalkboard Electronics
> +##########################################
> +libinput:name:Chalkboard Electronics HID Touchscreen:dmi:*
> + ID_INPUT_TABLET=0
> + ID_INPUT_TOUCHSCREEN=1

There are three things we have to fix here:
1) ID_INPUT_* is not something set by libinput so if it is wrong, we should fix
it at the source (i.e. systemd) so it will be correct for everyone. By the
time libinput sees this device, the ID_INPUT_* must be correct already, that
is one of the requirements we have from the base system.

2) The absinfo bits can be set with the EV_ABS_.. in 60-evdev.hwdb. Have a
look at that file, it includes the explanation on how to set it.

3) The libinput part of this will be to add a
LIBINPUT_MODEL_CHALKBOARD_ELECTRONICS_TOUCHSCREEN tag for this particular
model. That needs to be parsed in evdev_pre_configure_model_quirks because
we need to libevdev_disable_event_code(BTN_TOOL_PEN) for that to make sure
the rest of libinput has the data it expects.

Cheers,
   Peter


More information about the wayland-devel mailing list