On Wed, 8 Aug 2018, Tatsunosuke Tobita wrote: > Some system may want to know if a detected digitizer > device is either an integrated or an external device. > In order to distinguish such condition, setting either > INPUT_PROP_DIRECT or INPUT_PROP_POINTER is required, checking > the member, "application", in "hid_field" structure. > > Signed-off-by: Tatsunosuke Tobita <tobita.tatsunosuke@xxxxxxxxxxx> > --- > drivers/hid/hid-input.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c > index 930652c..3e98537 100644 > --- a/drivers/hid/hid-input.c > +++ b/drivers/hid/hid-input.c > @@ -758,6 +758,11 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel > break; > > case HID_UP_DIGITIZER: > + if ((field->application & 0xff) == 0x01) /* Digitizer */ > + __set_bit(INPUT_PROP_POINTER, input->propbit); > + else if ((field->application & 0xff) == 0x02) /* Pen */ > + __set_bit(INPUT_PROP_DIRECT, input->propbit); > + > switch (usage->hid & 0xff) { > case 0x00: /* Undefined */ > goto ignore; Makes sense. Queued for 4.20, thanks. -- Jiri Kosina SUSE Labs