Re: [RFC] Microsoft Touch Mouse driver [was: Re: your mail]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> In my first tests, I was doing readouts in userspace using hidraw,
> which performed quite well.
> 
> Bandwidth could be an issue, but I'd like to use the current APIs as
> much as possible so I don't need to go modifying mtdev, X, ...

Unless you do clustering, filtering and what not in-kernel, something
will have to change for sure.

> >One possible option could be to use the
> >slots, but only send ABS_MT_TOUCH_MAJOR or ABS_MT_PRESSURE, nothing
> >else. The device would (rightfully) not be recognized as MT since the
> >position is missing, all data would be available for processing in
> >userspace, and bandwidth would be minimized since there could only be
> >so many changes coming in per millisecond.
> 
> So how does userspace then finds out where these pressure points are
> located?
> Or do you mean to just dump all data to user space (15 * 13 *
> sizeof(ABS_MT_PRESSURE value) + overhead)?

Having each pressure point represented by one slot id was the idea.
Userspace would have to know how the points are mapped, of
course. Still not overly happy about the general fit, though. Dmitry?

> >>+	/* HACK: get rid of ABS_MT_* params */
> >>+	if ((usage->hid&  HID_USAGE_PAGE) == HID_UP_GENDESK)
> >>+		return -1;
> >I am not sure about the hack here, nor its explanation. ;-)
> 
> The HID tables specify some ABS_MT_* values and I didn't know
> whether these were going to conflict with the ones I report above,
> so I just discard all GenericDesktop fields.
> 
> root@hp4530s:~# grep MT /sys/kernel/debug/hid/0003\:045E\:0773.0006/rdesc
> GenericDesktop.MultiAxis ---> Absolute.MTMajor
> GenericDesktop.0009 ---> Absolute.MTMinor
> GenericDesktop.000a ---> Absolute.MTMajorW
> GenericDesktop.000b ---> Absolute.MTMinorW
> GenericDesktop.000c ---> Absolute.MTOrientation
> GenericDesktop.000d ---> Absolute.MTPositionX
> GenericDesktop.000e ---> Absolute.MTPositionY
> GenericDesktop.000f ---> Absolute.MTToolType
> GenericDesktop.0010 ---> Absolute.MTBlobID

Right, they would conflict. You can also use the input_mapped() hook.

Thanks,
Henrik
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux