Hi Benjamin,
I appreciate your quick response.
I referred to Wacom_i2c.c which is an example about how does pen stylus report.
My firmware are listed following hid usage as MS' specification :
Barrel, Invert, Erase
And I think the those hid usage is mapping to below event code:
HID usage : linux-input EV_* code
Eraser : BTN_TOOL_RUBBER (button1 with pen contact on touch surface)
Invert : ?? (button1 with pen hover)
Barrel : BTN_STYLUS (button2)
Can you tell me what event code is mapped to hid usage "Invert"?
My device is hid-i2c and what else I need to do after I built hid-i2c module into kernel?
Like, do I need add my device information to whitelist.
Thanks!!
BR,
Scott
-----Original Message-----
From: Benjamin Tissoires [mailto:benjamin.tissoires@gmail.com]
Sent: Friday, May 05, 2017 3:33 PM
To: 劉嘉駿
Cc: linux-input; Dmitry Torokhov
Subject: Re: The way of touch finger and pen stylus report
Hi Scott,
On Fri, May 5, 2017 at 9:10 AM, 劉嘉駿 [off-list ref] wrote:
I would like to write a touch driver for finger touch and pen stylus.
They have different definition on maximum range of X, Y, Pressure,
additionally, pen have two buttons functionality that need to be reported.
So can driver register two input device to corresponding finger touch
and pen stylus?
Yes, and that's the only way you can achieve that. Each (touch and
pen) should have their own input node.
Otherwise how single input device can map two different X, Y, Pressure
range.
That's not possible. There use to be something roughly like that in the wacom.ko driver in the past, but this wasn't compatible with wayland. So now every driver reports 2 input nodes in such cases.
Another thing is that pen stylus has two buttons which enumerate to
Eraser/Invert and Barrel as MS spec said.
Please refer to
https://msdn.microsoft.com/en-us/windows/hardware/commercialize/design
/component-guidelines/required-hid-top-level-collections
My question is that how do buttons represents to key bit event? Any example?
HID should handle it properly. You should map it to BTN_TOOL_RUBBER in case you are not using a HID device.
There is not much to do with this bit: if button is depressed, set the tool to BTN_TOOL_RUBBER, and when released, switch back to BTN_TOOL_PEN.
Cheers,
Benjamin
Thanks.
BR,
Scott