Re: [PATCH] HID: wacom: Set eraser status when either 'Eraser' or 'Invert' usage is set

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

 



On Thu, 17 Oct 2024, Gerecke, Jason wrote:

> From: Jason Gerecke <jason.gerecke@xxxxxxxxx>
> 
> Microsoft defines two slightly different behaviors for pens that are
> being used to erase. The first one, for pens that can be used while
> inverted specifies that both 'Invert' and 'Eraser' usages should be
> set while the pen is in contact and erasing. For pens that use an
> eraser button though, they specify that only the 'Eraser' usage should
> be set (while hovering, only the 'Invert' usage is to be set).
> 
> We used our internal 'invert_state' flag to determine if a pen has an
> intent to erase (whether hovering or not). That flag was previously
> only depending on the 'Invert' usage, which was sufficient for the
> first type of pen (EMR) but not the second type (AES). This commit
> makes the flag depend on either usage being set, and also renames it
> to make its function more clear.
> 
> This change should not normally have an impact on userspace due to
> both the existing driver and firmware design. The driver already only
> determines tool type based on the first event in an interaction (e.g.
> it will see the 'Invert' bit set when the eraser comes into prox and
> then report BTN_TOOL_RUBBER for the rest of the interaction, even if
> 'Invert' is cleared). AES firmware is also careful to send reports
> that work through a set of defined state transitions, even in the
> corner-case where the eraser button is pressed when the pen is already
> in contact with the display (Prox|Tip -> Prox -> 0 -> Invert -> Eraser).
> Regardless, it seems reasonable to ensure the driver's state variables
> match programmer expectation.
> 
> Link: https://learn.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states
> Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx>
> ---
>  drivers/hid/wacom_wac.c | 7 +++++--
>  drivers/hid/wacom_wac.h | 2 +-
>  2 files changed, 6 insertions(+), 3 deletions(-)

Applied to hid.git#for-6.13/wacom. Thanks,

-- 
Jiri Kosina
SUSE Labs





[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