Re: [PATCH v2 12/12] Input: docs: add more details on the use of BTN_TOOL

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

 



On Thu, Feb 03, 2022 at 03:32:26PM +0100, Benjamin Tissoires wrote:
> The HID core stack used to be very relaxed considering the BTN_TOOL_*
> usage. With the recent commits, we should now enforce to have only one
> tool at a time, meaning that we can now express that requirement in the
> docs.
> 
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> 
> ---
> 
> changes in v2:
> - changed to explain that switching tool in one EV_SYN report
>   is not nice for userspace
> ---
>  Documentation/input/event-codes.rst | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/input/event-codes.rst b/Documentation/input/event-codes.rst
> index b24ae7d292cc..8741d390b184 100644
> --- a/Documentation/input/event-codes.rst
> +++ b/Documentation/input/event-codes.rst
> @@ -137,7 +137,11 @@ A few EV_KEY codes have special meanings:
>      code should be set to a value of 1. When the tool is no longer interacting
>      with the input device, the BTN_TOOL_<name> code should be reset to 0. All
>      trackpads, tablets, and touchscreens should use at least one BTN_TOOL_<name>
> -    code when events are generated.
> +    code when events are generated. Likewise all trackpads, tablets, and
> +    touchscreens should export only one BTN_TOOL_<name> at a time. To not break

I still think s/export/set to nonzero/ to avoid any ambiguity with setting the
evbit on the device vs setting the value to nonzero here, but the remainder is
good, thanks :)

Acked-by: Peter Hutterer <peter.hutterer@xxxxxxxxx>

Cheers,
  Peter


> +    existing userspace, it is recommended to not switch tool in one EV_SYN frame
> +    but first emitting the old BTN_TOOL_<name> at 0, then emit one SYN_REPORT
> +    and then set the new BTN_TOOL_<name> at 1.
>  
>  * BTN_TOUCH:
>  
> -- 
> 2.33.1
> 



[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