Re: [PATCH v3 13/20] Input: bcm5974 - Drop pressure and width emulation

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

 



On Sat, Sep 01, 2012 at 09:47:08PM +0200, Henrik Rydberg wrote:
> The ABS_PRESSURE and ABS_WIDTH have special scales, and were initially
> added solely for thumb and palm recognition in the synaptics driver.
> This never really get used, however, and userspace quickly moved to
> MT solutions instead. This patch drops the unused events.

How can you know that? There could still be people using ST emulation
with this device. I think we should keep it.

Thanks.

> 
> Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>
> ---
>  drivers/input/mouse/bcm5974.c | 26 +++++---------------------
>  1 file changed, 5 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
> index 2de974c..e033d3a 100644
> --- a/drivers/input/mouse/bcm5974.c
> +++ b/drivers/input/mouse/bcm5974.c
> @@ -417,10 +417,6 @@ static void setup_events_to_report(struct input_dev *input_dev,
>  {
>  	__set_bit(EV_ABS, input_dev->evbit);
>  
> -	input_set_abs_params(input_dev, ABS_PRESSURE,
> -				0, cfg->p.dim, cfg->p.fuzz, 0);
> -	input_set_abs_params(input_dev, ABS_TOOL_WIDTH,
> -				0, cfg->w.dim, cfg->w.fuzz, 0);
>  	input_set_abs_params(input_dev, ABS_X,
>  				0, cfg->x.dim, cfg->x.fuzz, 0);
>  	input_set_abs_params(input_dev, ABS_Y,
> @@ -504,9 +500,9 @@ static int report_tp_state(struct bcm5974 *dev, int size)
>  	const struct bcm5974_config *c = &dev->cfg;
>  	const struct tp_finger *f;
>  	struct input_dev *input = dev->input;
> -	int raw_p, raw_w, raw_x, raw_y, raw_n, i;
> +	int raw_p, raw_x, raw_y, raw_n, i;
>  	int ptest, origin, ibt = 0, nmin = 0, nmax = 0;
> -	int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0;
> +	int abs_x = 0, abs_y = 0;
>  
>  	if (size < c->tp_offset || (size - c->tp_offset) % SIZEOF_FINGER != 0)
>  		return -EIO;
> @@ -523,22 +519,19 @@ static int report_tp_state(struct bcm5974 *dev, int size)
>  			report_finger_data(input, c, &f[i]);
>  
>  		raw_p = raw2int(f->touch_major);
> -		raw_w = raw2int(f->tool_major);
>  		raw_x = raw2int(f->abs_x);
>  		raw_y = raw2int(f->abs_y);
>  
>  		dprintk(9,
>  			"bcm5974: "
> -			"raw: p: %+05d w: %+05d x: %+05d y: %+05d n: %d\n",
> -			raw_p, raw_w, raw_x, raw_y, raw_n);
> +			"raw: p: %+05d x: %+05d y: %+05d n: %d\n",
> +			raw_p, raw_x, raw_y, raw_n);
>  
>  		ptest = int2bound(&c->p, raw_p);
>  		origin = raw2int(f->origin);
>  
>  		/* while tracking finger still valid, count all fingers */
>  		if (ptest > PRESSURE_LOW && origin) {
> -			abs_p = ptest;
> -			abs_w = int2bound(&c->w, raw_w);
>  			abs_x = int2bound(&c->x, raw_x - c->x.devmin);
>  			abs_y = int2bound(&c->y, c->y.devmax - raw_y);
>  			while (raw_n--) {
> @@ -568,18 +561,9 @@ static int report_tp_state(struct bcm5974 *dev, int size)
>  	input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers == 3);
>  	input_report_key(input, BTN_TOOL_QUADTAP, dev->fingers > 3);
>  
> -	input_report_abs(input, ABS_PRESSURE, abs_p);
> -	input_report_abs(input, ABS_TOOL_WIDTH, abs_w);
> -
> -	if (abs_p) {
> +	if (dev->fingers > 0) {
>  		input_report_abs(input, ABS_X, abs_x);
>  		input_report_abs(input, ABS_Y, abs_y);
> -
> -		dprintk(8,
> -			"bcm5974: abs: p: %+05d w: %+05d x: %+05d y: %+05d "
> -			"nmin: %d nmax: %d n: %d ibt: %d\n", abs_p, abs_w,
> -			abs_x, abs_y, nmin, nmax, dev->fingers, ibt);
> -
>  	}
>  
>  	/* type 2 reports button events via ibt only */
> -- 
> 1.7.12
> 

-- 
Dmitry
--
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