On Fri, Jan 20, 2012 at 05:09:48PM +0100, Henrik Rydberg wrote:
Hi Benjamin,
quoted
@@ -389,9 +404,19 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
td->last_field_index = field->index;
return -1;
}
+ case HID_DG_TOUCH:
+ /* Legacy devices use TIPSWITCH and not TOUCH.
+ * Let's just ignore this field. */
+ return -1;
/* let hid-input decide for the others */
return 0;
+ case HID_UP_BUTTON:
+ code = ((usage->hid - 1) & HID_USAGE) + BTN_MOUSE;
Why '+' here instead of '|' is beyond me...
Because it is an offset for the range. The fact that it is on power 2
boundary and we can use "|" is purely coincidential here.
Maybe we should even write it as:
code = BTN_MOUSE + ((usage->hid - 1) & HID_USAGE);
Thanks,
Dmitry
--
Dmitry