lkml.org 
[lkml]   [2018]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 0/9] Hid multitouch rewrite, support os system multi-axis devices
    Hi Florian,

    On Tue, May 29, 2018 at 12:38 PM, Florian Echtler <floe@butterbrot.org> wrote:
    > Hello Benjamin,
    >
    > I have a side question about your patchset: for the SUR40 touchscreen, we had a
    > discussion a while ago about how to support the different object types which the
    > firmware can detect (plain touch contact, printed token with ID, generic blob
    > outline).

    Plain touch contact should already be reported by MT_TOOL_FINGER.
    Printed token with ID seems challenging as even if it is a different
    tool (not a finger) I am not sure we can convey which ID is which.
    And generic blob is even worse because we need a tracking ID that
    would regroup the various touch points, and it doesn't reflect a
    particular tool.

    > Would the pass-through for the tool type allow us to differentiate
    > those, once we define suitable tool types for each object class?

    I am honestly puzzled by this and can't do much for you here. Could
    you please re-tell us the specific use cases, so we can think about
    the solutions?

    Cheers,
    Benjamin

    >
    > Thanks & best regards, Florian
    >
    > On 29.05.2018 11:57, Benjamin Tissoires wrote:
    >> Hi Jiri,
    >>
    >> this heavy rewrite of hid-multitouch serves two main purposes:
    >> - the first point is to enable the support of the Totem on the Dell Canvas 27.
    >> This new type of devices (System Multi Axis) is used by Microsoft to show
    >> a new circular menu that is used by the second hand while you interact with
    >> your preferred hand with your tool.
    >> I couldn't enable it before because hid-multitouch expected to have only one
    >> multitouch collection, and this device is exported as a separate multitouch
    >> collextion in the same HID device than the one containing the touch sensor.
    >>
    >> - the second point is to streamline the process of the multitouch events. We
    >> used to temporary store the events in a struct as they come in, and then do
    >> the processing on the cache we just made. When doing the processing was also
    >> not very clear. This made that even if hid-multitouch should IMO be merged in
    >> hid-core, we couldn't.
    >>
    >> The new processing of the events here adds a preparsing of the report in
    >> one HID collection (application usage), and from now on, the processing
    >> of the report is cleaner IMO. I still haven't merged hid-mt into hid-core,
    >> because even if I wrote a bunch of unit tests trying to not break any devices,
    >> we are not protected from a weird thing that magically happened before but is
    >> now broken.
    >>
    >> I must say that when I worked on the tests, I came to realise that some legacy
    >> Win7 devices were better handled now. Initially I thought my new code broke them
    >> but comparing the outputs from https://github.com/bentiss/hid-devices before
    >> and after the changes, the new changes are closer to what I would expect by
    >> looking at the raw HID events.
    >>
    >> I also included 2 patches to enable the Surface Dial. It's a BLE device similar
    >> to the Totem from Dell, except that you can buy it for roughly $80 instead of
    >> $1800 for the Canvas.
    >>
    >>
    >> Dmitry, 2 patches are of interest for you:
    >> - 1/9 Input: mt - export MT_TOOL in input_mt_init_slot()
    >> - 7/9 HID: input: enable Totem on the Dell Canvas 27
    >>
    >> The second one exports a new MT_TOOL. In theory, I think patch 1/9 could be
    >> carried through your tree but it'll be better to have the full series applied
    >> at once.
    >>
    >> Cheers,
    >> Benjamin
    >>
    >> Benjamin Tissoires (9):
    >> Input: mt - export MT_TOOL in input_mt_init_slot()
    >> HID: multitouch: make sure the static list of class is not changed
    >> HID: multitouch: Store per collection multitouch data
    >> HID: multitouch: store a per application quirks value
    >> HID: multitouch: ditch mt_report_id
    >> HID: multitouch: remove one copy of values
    >> HID: input: enable Totem on the Dell Canvas 27
    >> HID: core: do not upper bound the collection stack
    >> HID: microsoft: support the Surface Dial
    >>
    >> drivers/hid/hid-core.c | 17 +-
    >> drivers/hid/hid-input.c | 3 +
    >> drivers/hid/hid-microsoft.c | 49 +-
    >> drivers/hid/hid-multitouch.c | 941 ++++++++++++++++++-------------
    >> drivers/input/input-mt.c | 1 +
    >> drivers/input/rmi4/rmi_2d_sensor.c | 2 -
    >> drivers/input/touchscreen/atmel_mxt_ts.c | 2 -
    >> drivers/input/touchscreen/hideep.c | 2 -
    >> drivers/input/touchscreen/wacom_w8001.c | 2 -
    >> include/linux/hid.h | 15 +-
    >> include/uapi/linux/input.h | 3 +-
    >> 11 files changed, 616 insertions(+), 421 deletions(-)
    >>
    >
    >
    > --
    > SENT FROM MY DEC VT50 TERMINAL
    >

    \
     
     \ /
      Last update: 2018-05-29 17:07    [W:4.243 / U:0.648 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site