[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110818135853.GA28313@thinkpad-t410>
Date: Thu, 18 Aug 2011 08:58:53 -0500
From: Seth Forshee <seth.forshee@...onical.com>
To: JJ Ding <jj_ding@....com.tw>
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Aaron Huang <aaron_huang@....com.tw>,
Tom Lin <tom_lin@....com.tw>,
Eric Piel <E.A.B.Piel@...elft.nl>,
Daniel Kurtz <djkurtz@...omium.org>,
Chase Douglas <chase.douglas@...onical.com>,
Henrik Rydberg <rydberg@...omail.se>,
Alessandro Rubini <rubini@...l.unipv.it>
Subject: Re: [PATCH 6/6] Input: elantech - add v3 hardware support
On Thu, Aug 18, 2011 at 09:57:09AM +0800, JJ Ding wrote:
> v3 hardware's packet format is almost identical to v2 (one/three finger touch),
> except when sensing two finger touch, the hardware sends 12 bytes of data.
This looks mostly similar in substance to the patch I sent, although
with some good improvements resulting from your better knowledge of the
hardware :)
One suggestion below. I'll test as soon as my build finishes.
> @@ -582,10 +739,26 @@ static void elantech_set_input_params(struct psmouse *psmouse)
> input_set_abs_params(dev, ABS_MT_POSITION_X, x_min, x_max, 0, 0);
> input_set_abs_params(dev, ABS_MT_POSITION_Y, y_min, y_max, 0, 0);
> break;
> +
> + case 3:
> + input_set_abs_params(dev, ABS_X, x_min, x_max, 0, 0);
> + input_set_abs_params(dev, ABS_Y, y_min, y_max, 0, 0);
> + /* range of pressure and width is the same as v2 */
> + input_set_abs_params(dev, ABS_PRESSURE, ETP_PMIN_V2,
> + ETP_PMAX_V2, 0, 0);
> + input_set_abs_params(dev, ABS_TOOL_WIDTH, ETP_WMIN_V2,
> + ETP_WMAX_V2, 0, 0);
> + __set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
> + input_mt_init_slots(dev, 2);
> + input_set_abs_params(dev, ABS_MT_POSITION_X, x_min, x_max, 0, 0);
> + input_set_abs_params(dev, ABS_MT_POSITION_Y, y_min, y_max, 0, 0);
> + break;
The case 3 code is nearly identical to case 2. How about this?
case 2:
__set_bit(BTN_TOOL_QUADTAP, dev->keybit);
/* fall through */
case 3:
input_set_abs_params(dev, ABS_X, x_min, x_max, 0, 0);
input_set_abs_params(dev, ABS_Y, y_min, y_max, 0, 0);
/* range of pressure and width is the same as v2 */
input_set_abs_params(dev, ABS_PRESSURE, ETP_PMIN_V2,
ETP_PMAX_V2, 0, 0);
input_set_abs_params(dev, ABS_TOOL_WIDTH, ETP_WMIN_V2,
ETP_WMAX_V2, 0, 0);
__set_bit(INPUT_PROP_SEMI_MT, dev->propbit);
input_mt_init_slots(dev, 2);
input_set_abs_params(dev, ABS_MT_POSITION_X, x_min, x_max, 0, 0);
input_set_abs_params(dev, ABS_MT_POSITION_Y, y_min, y_max, 0, 0);
break;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists