[Applied] [Maverick SRU] [PATCH] Revert "UBUNTU: (pre-stable): input: Support Clickpad devices in ClickZone mode"
Brad Figg
brad.figg at canonical.com
Thu Dec 16 05:31:49 UTC 2010
On 12/14/2010 01:48 PM, Robert Hooker wrote:
> From: Robert Hooker<robert.hooker at canonical.com>
>
> BugLink: http://bugs.launchpad.net/bugs/669399
>
> This reverts commit da04c34f6499177fb0cdafafa04af38c36b11639.
>
> This patch was never adopted by upstream and is non-functional on
> maverick in it's current incarnation (LP: #582809). The improper checks
> for SYN_CAP_CLICKPAD(priv->ext_cap) instead of
> SYN_CAP_CLICKPAD(priv->ext_cap_0c) in the maverick version of this patch
> are also causing incorrect detection of a non-clickpad touchpad as a
> clickpad one and applying the filters which remove the bottom area of
> the touchpad. This revert only applies to maverick, lucid works properly
> due to not having 5f57d67da87332a9a1ba8fa7a33bf0680e1c76e7 and this
> commit was already dropped in natty.
>
> Signed-off-by: Robert Hooker<robert.hooker at canonical.com>
> ---
> drivers/input/mouse/synaptics.c | 48 ---------------------------------------
> drivers/input/mouse/synaptics.h | 1 -
> 2 files changed, 0 insertions(+), 49 deletions(-)
>
> diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
> index ae9891c..705589d 100644
> --- a/drivers/input/mouse/synaptics.c
> +++ b/drivers/input/mouse/synaptics.c
> @@ -357,45 +357,6 @@ static void synaptics_pt_create(struct psmouse *psmouse)
> * Functions to interpret the absolute mode packets
> ****************************************************************************/
>
> -/* left and right clickpad button ranges;
> - * the gap between them is interpreted as a middle-button click
> - */
> -#define CLICKPAD_LEFT_BTN_X \
> - ((XMAX_NOMINAL - XMIN_NOMINAL) * 2 / 5 + XMIN_NOMINAL)
> -#define CLICKPAD_RIGHT_BTN_X \
> - ((XMAX_NOMINAL - XMIN_NOMINAL) * 3 / 5 + XMIN_NOMINAL)
> -
> -/* handle clickpad events */
> -static void clickpad_process_packet(struct synaptics_data *priv,
> - struct synaptics_hw_state *hw)
> -{
> - /* clickpad mode reports Y range from 0 to YMAX_NOMINAL,
> - * where the area Y< YMIN_NOMINAL is used as click buttons
> - */
> - if (hw->y< YMIN_NOMINAL) {
> - /* button area */
> - hw->z = 0; /* don't move pointer */
> - /* clickpad reports only the middle button, and we need
> - * to fake left/right buttons depending on the touch position
> - */
> - if (hw->middle) { /* clicked? */
> - hw->middle = 0;
> - if (hw->x< CLICKPAD_LEFT_BTN_X)
> - hw->left = 1;
> - else if (hw->x> CLICKPAD_RIGHT_BTN_X)
> - hw->right = 1;
> - else
> - hw->middle = 1;
> - }
> - } else if (hw->middle) {
> - /* dragging */
> - hw->left = priv->prev_hw.left;
> - hw->right = priv->prev_hw.right;
> - hw->middle = priv->prev_hw.middle;
> - }
> - priv->prev_hw = *hw;
> -}
> -
> static void synaptics_parse_hw_state(unsigned char buf[], struct synaptics_data *priv, struct synaptics_hw_state *hw)
> {
> memset(hw, 0, sizeof(struct synaptics_hw_state));
> @@ -484,9 +445,6 @@ static void synaptics_process_packet(struct psmouse *psmouse)
>
> synaptics_parse_hw_state(psmouse->packet, priv,&hw);
>
> - if (SYN_CAP_CLICKPAD(priv->ext_cap))
> - clickpad_process_packet(priv,&hw);
> -
> if (hw.scroll) {
> priv->scroll += hw.scroll;
>
> @@ -790,12 +748,6 @@ int synaptics_init(struct psmouse *psmouse)
> SYN_ID_MAJOR(priv->identity), SYN_ID_MINOR(priv->identity),
> priv->model_id, priv->capabilities, priv->ext_cap, priv->ext_cap_0c);
>
> - if (SYN_CAP_CLICKPAD(priv->ext_cap)) {
> - printk(KERN_INFO "Synaptics: Clickpad mode enabled\n");
> - /* force to enable the middle button */
> - priv->capabilities |= (1<< 18);
> - }
> -
> set_input_params(psmouse->dev, priv);
>
> /*
> diff --git a/drivers/input/mouse/synaptics.h b/drivers/input/mouse/synaptics.h
> index 80907d0..b6aa7d2 100644
> --- a/drivers/input/mouse/synaptics.h
> +++ b/drivers/input/mouse/synaptics.h
> @@ -110,7 +110,6 @@ struct synaptics_data {
> unsigned char pkt_type; /* packet type - old, new, etc */
> unsigned char mode; /* current mode byte */
> int scroll;
> - struct synaptics_hw_state prev_hw;
> };
>
> void synaptics_module_init(void);
Applied and pushed to Maverick master-next
--
Brad Figg brad.figg at canonical.com http://www.canonical.com
More information about the kernel-team
mailing list