Re: [PATCH v4 04/10] Input: wacom_i2c - Add touchscren properties
On Mon, Mar 29, 2021 at 3:08 PM Dmitry Torokhov wrote: > > On Thu, Mar 25, 2021 at 09:52:24PM -0400, Alistair Francis wrote: > > Connect touchscreen properties to the wacom_i2c. > > > > Signed-off-by: Alistair Francis > > --- > > v4: > > - Add touchscreen_report_pos() as well > > > > drivers/input/touchscreen/wacom_i2c.c | 5 + > > 1 file changed, 5 insertions(+) > > > > diff --git a/drivers/input/touchscreen/wacom_i2c.c > > b/drivers/input/touchscreen/wacom_i2c.c > > index eada68770671..ee1829dd35f4 100644 > > --- a/drivers/input/touchscreen/wacom_i2c.c > > +++ b/drivers/input/touchscreen/wacom_i2c.c > > @@ -11,6 +11,7 @@ > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > @@ -33,6 +34,7 @@ struct wacom_features { > > struct wacom_i2c { > > struct i2c_client *client; > > struct input_dev *input; > > + struct touchscreen_properties props; > > u8 data[WACOM_QUERY_SIZE]; > > bool prox; > > int tool; > > @@ -188,6 +190,9 @@ static int wacom_i2c_probe(struct i2c_client *client, > > __set_bit(BTN_STYLUS2, input->keybit); > > __set_bit(BTN_TOUCH, input->keybit); > > > > + touchscreen_parse_properties(input, true, _i2c->props); > > + touchscreen_report_pos(input, _i2c->props, features.x_max, > > +features.y_max, true); > > ??? This goes into wacom_i2c_irq() where it previously used > input_report_abs() for X and Y so that transformations (swap, mirrot) > requested via device properties are applied to the coordinates. Ah sorry. I misunderstood what touchscreen_report_pos() does (and didn't read it). Looking at the actual code it seems that I need to remove input_report_abs(input, ABS_Y, y); input_report_abs(input, ABS_X, x); from wacom_i2c_irq() and add touchscreen_report_pos() to wacom_i2c_irq() instead I'll do that in the next version. Alistair > > Thanks. > > -- > Dmitry
Re: [PATCH v4 04/10] Input: wacom_i2c - Add touchscren properties
On Thu, Mar 25, 2021 at 09:52:24PM -0400, Alistair Francis wrote: > Connect touchscreen properties to the wacom_i2c. > > Signed-off-by: Alistair Francis > --- > v4: > - Add touchscreen_report_pos() as well > > drivers/input/touchscreen/wacom_i2c.c | 5 + > 1 file changed, 5 insertions(+) > > diff --git a/drivers/input/touchscreen/wacom_i2c.c > b/drivers/input/touchscreen/wacom_i2c.c > index eada68770671..ee1829dd35f4 100644 > --- a/drivers/input/touchscreen/wacom_i2c.c > +++ b/drivers/input/touchscreen/wacom_i2c.c > @@ -11,6 +11,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -33,6 +34,7 @@ struct wacom_features { > struct wacom_i2c { > struct i2c_client *client; > struct input_dev *input; > + struct touchscreen_properties props; > u8 data[WACOM_QUERY_SIZE]; > bool prox; > int tool; > @@ -188,6 +190,9 @@ static int wacom_i2c_probe(struct i2c_client *client, > __set_bit(BTN_STYLUS2, input->keybit); > __set_bit(BTN_TOUCH, input->keybit); > > + touchscreen_parse_properties(input, true, _i2c->props); > + touchscreen_report_pos(input, _i2c->props, features.x_max, > +features.y_max, true); ??? This goes into wacom_i2c_irq() where it previously used input_report_abs() for X and Y so that transformations (swap, mirrot) requested via device properties are applied to the coordinates. Thanks. -- Dmitry
[PATCH v4 04/10] Input: wacom_i2c - Add touchscren properties
Connect touchscreen properties to the wacom_i2c. Signed-off-by: Alistair Francis --- v4: - Add touchscreen_report_pos() as well drivers/input/touchscreen/wacom_i2c.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/input/touchscreen/wacom_i2c.c b/drivers/input/touchscreen/wacom_i2c.c index eada68770671..ee1829dd35f4 100644 --- a/drivers/input/touchscreen/wacom_i2c.c +++ b/drivers/input/touchscreen/wacom_i2c.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +34,7 @@ struct wacom_features { struct wacom_i2c { struct i2c_client *client; struct input_dev *input; + struct touchscreen_properties props; u8 data[WACOM_QUERY_SIZE]; bool prox; int tool; @@ -188,6 +190,9 @@ static int wacom_i2c_probe(struct i2c_client *client, __set_bit(BTN_STYLUS2, input->keybit); __set_bit(BTN_TOUCH, input->keybit); + touchscreen_parse_properties(input, true, _i2c->props); + touchscreen_report_pos(input, _i2c->props, features.x_max, + features.y_max, true); input_set_abs_params(input, ABS_X, 0, features.x_max, 0, 0); input_set_abs_params(input, ABS_Y, 0, features.y_max, 0, 0); input_set_abs_params(input, ABS_PRESSURE, -- 2.31.0