Re: [PATCH] Input: Add MT_TOOL_PALM

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

 



On Wed, Mar 18, 2015 at 03:26:35PM -0700, Charlie Mooney wrote:
> Currently there are only two "tools" that can be specified by a
> multi-touch driver: MT_TOOL_FINGER and MT_TOOL_PEN.  In working with
> Elan (The touch vendor) and discussing their next-gen devices it
> seems that it will be useful to have more tools so that their devices
> can give the upper layers of the stack hints as to what is touching
> the sensor.
> 
> In particular they have new experimental firmware that can better
> differentiate between palms vs fingertips and would like to plumb a
> patch so that we can use their hints in higher-level gesture soft-
> ware.  The firmware on the device can reasonably do a better job of
> palm detection because it has access to all of the raw sensor readings
> as opposed to just the width/pressure/etc that are exposed by the
> driver.  As such, the firmware can characterize what a palm looks like
> in much finer-grained detail and this change would allow such a
> device to share its findings with the kernel.
> 
> Signed-off-by: Charlie Mooney <charliemooney@xxxxxxxxxxxx>

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

Cheers,
   Peter

> ---
>  Documentation/input/multi-touch-protocol.txt | 9 ++++++---
>  include/uapi/linux/input.h                   | 3 ++-
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
> index 7b4f59c..b85d000 100644
> --- a/Documentation/input/multi-touch-protocol.txt
> +++ b/Documentation/input/multi-touch-protocol.txt
> @@ -312,9 +312,12 @@ ABS_MT_TOOL_TYPE
>  
>  The type of approaching tool. A lot of kernel drivers cannot distinguish
>  between different tool types, such as a finger or a pen. In such cases, the
> -event should be omitted. The protocol currently supports MT_TOOL_FINGER and
> -MT_TOOL_PEN [2]. For type B devices, this event is handled by input core;
> -drivers should instead use input_mt_report_slot_state().
> +event should be omitted. The protocol currently supports MT_TOOL_FINGER,
> +MT_TOOL_PEN, and MT_TOOL_PALM [2]. For type B devices, this event is handled
> +by input core; drivers should instead use input_mt_report_slot_state().
> +A contact's ABS_MT_TOOL_TYPE may change over time while still touching the
> +device, because the firmware may not be able to determine which tool is being
> +used when it first appears.
>  
>  ABS_MT_BLOB_ID
>  
> diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
> index b0a8130..2f62ab2 100644
> --- a/include/uapi/linux/input.h
> +++ b/include/uapi/linux/input.h
> @@ -973,7 +973,8 @@ struct input_keymap_entry {
>   */
>  #define MT_TOOL_FINGER		0
>  #define MT_TOOL_PEN		1
> -#define MT_TOOL_MAX		1
> +#define MT_TOOL_PALM		2
> +#define MT_TOOL_MAX		2
>  
>  /*
>   * Values describing the status of a force-feedback effect
> -- 
> 2.1.2
> 
--
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