Thread (5 messages) 5 messages, 3 authors, 2011-01-24

Re: [2/2] input: wacom - Pass touch resolution to clients through input_absinfo

From: Ping Cheng <hidden>
Date: 2011-01-24 18:18:55

On Mon, Jan 24, 2011 at 6:40 AM, Henrik Rydberg [off-list ref] wrote:
Hi Ping,
quoted
@@ -1228,8 +1228,13 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev,
      case TABLETPC:
              if (features->device_type == BTN_TOOL_DOUBLETAP ||
                  features->device_type == BTN_TOOL_TRIPLETAP) {
-                     input_set_abs_params(input_dev, ABS_RX, 0, features->x_phy, 0, 0);
-                     input_set_abs_params(input_dev, ABS_RY, 0, features->y_phy, 0, 0);
+                     /* set touch resolution in points/mm */
+                     res = features->x_phy/100;
+                     input_abs_set_res(input_dev, ABS_X,
+                                         features->x_max/res);
It seems to me the construction above looses precision twice for no
apparent reason.
Well, there was a reason (logically instead of mathematically though):
features->x_phy/100 gives us the physical size of the touch area in
mm.
How about instead use "100 * features->x_max /
features->x_phy"?
Sure.
Besides, it is a bit unfortunate that "res" is short
for both result and resolution.
Resolution is defined as __s32 in input_absinfo. How about we use __s32 then?
Finally, are the physical dimensions
actually presented in 100ths of millimeters?
Well, the protocol says it is in thousandth of a centimeter. So, 100th
of a mm is right too.

Thank you for the comments.

Ping
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help