Lines Matching refs:input
43 struct input_dev *input = wacom_wac->pen_input; in wacom_force_proxout() local
47 input_report_key(input, BTN_TOUCH, 0); in wacom_force_proxout()
48 input_report_key(input, BTN_STYLUS, 0); in wacom_force_proxout()
49 input_report_key(input, BTN_STYLUS2, 0); in wacom_force_proxout()
50 input_report_key(input, BTN_STYLUS3, 0); in wacom_force_proxout()
51 input_report_key(input, wacom_wac->tool[0], 0); in wacom_force_proxout()
53 input_report_abs(input, ABS_MISC, 0); in wacom_force_proxout()
55 input_report_abs(input, ABS_PRESSURE, 0); in wacom_force_proxout()
61 input_sync(input); in wacom_force_proxout()
129 struct input_dev *input = wacom->pen_input; in wacom_penpartner_irq() local
136 input_report_key(input, wacom->tool[0], 1); in wacom_penpartner_irq()
137 input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */ in wacom_penpartner_irq()
138 input_report_abs(input, ABS_X, get_unaligned_le16(&data[1])); in wacom_penpartner_irq()
139 input_report_abs(input, ABS_Y, get_unaligned_le16(&data[3])); in wacom_penpartner_irq()
140 input_report_abs(input, ABS_PRESSURE, (signed char)data[6] + 127); in wacom_penpartner_irq()
141 input_report_key(input, BTN_TOUCH, ((signed char)data[6] > -127)); in wacom_penpartner_irq()
142 input_report_key(input, BTN_STYLUS, (data[5] & 0x40)); in wacom_penpartner_irq()
144 input_report_key(input, wacom->tool[0], 0); in wacom_penpartner_irq()
145 input_report_abs(input, ABS_MISC, 0); /* report tool id */ in wacom_penpartner_irq()
146 input_report_abs(input, ABS_PRESSURE, -1); in wacom_penpartner_irq()
147 input_report_key(input, BTN_TOUCH, 0); in wacom_penpartner_irq()
152 input_report_key(input, BTN_TOOL_PEN, 1); in wacom_penpartner_irq()
153 input_report_abs(input, ABS_MISC, STYLUS_DEVICE_ID); /* report tool id */ in wacom_penpartner_irq()
154 input_report_abs(input, ABS_X, get_unaligned_le16(&data[1])); in wacom_penpartner_irq()
155 input_report_abs(input, ABS_Y, get_unaligned_le16(&data[3])); in wacom_penpartner_irq()
156 input_report_abs(input, ABS_PRESSURE, (signed char)data[6] + 127); in wacom_penpartner_irq()
157 input_report_key(input, BTN_TOUCH, ((signed char)data[6] > -80) && !(data[5] & 0x20)); in wacom_penpartner_irq()
158 input_report_key(input, BTN_STYLUS, (data[5] & 0x40)); in wacom_penpartner_irq()
162 dev_dbg(input->dev.parent, in wacom_penpartner_irq()
174 struct input_dev *input = wacom->pen_input; in wacom_pl_irq() local
178 dev_dbg(input->dev.parent, in wacom_pl_irq()
201 input_report_key(input, BTN_TOOL_RUBBER, 0); in wacom_pl_irq()
202 input_report_abs(input, ABS_MISC, 0); in wacom_pl_irq()
203 input_sync(input); in wacom_pl_irq()
214 input_report_abs(input, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14)); in wacom_pl_irq()
215 input_report_abs(input, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14)); in wacom_pl_irq()
216 input_report_abs(input, ABS_PRESSURE, pressure); in wacom_pl_irq()
218 input_report_key(input, BTN_TOUCH, data[4] & 0x08); in wacom_pl_irq()
219 input_report_key(input, BTN_STYLUS, data[4] & 0x10); in wacom_pl_irq()
221 input_report_key(input, BTN_STYLUS2, (wacom->tool[0] == BTN_TOOL_PEN) && (data[4] & 0x20)); in wacom_pl_irq()
226 input_report_key(input, wacom->tool[0], prox); in wacom_pl_irq()
227 input_report_abs(input, ABS_MISC, wacom->id[0]); in wacom_pl_irq()
234 struct input_dev *input = wacom->pen_input; in wacom_ptu_irq() local
237 dev_dbg(input->dev.parent, in wacom_ptu_irq()
243 input_report_key(input, BTN_TOOL_RUBBER, data[1] & 0x20); in wacom_ptu_irq()
244 input_report_key(input, BTN_TOUCH, data[1] & 0x08); in wacom_ptu_irq()
247 input_report_key(input, BTN_TOOL_PEN, data[1] & 0x20); in wacom_ptu_irq()
248 input_report_key(input, BTN_TOUCH, data[1] & 0x01); in wacom_ptu_irq()
251 input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */ in wacom_ptu_irq()
252 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_ptu_irq()
253 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_ptu_irq()
254 input_report_abs(input, ABS_PRESSURE, le16_to_cpup((__le16 *)&data[6])); in wacom_ptu_irq()
255 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_ptu_irq()
256 input_report_key(input, BTN_STYLUS2, data[1] & 0x10); in wacom_ptu_irq()
263 struct input_dev *input = wacom->pen_input; in wacom_dtu_irq() local
266 dev_dbg(input->dev.parent, in wacom_dtu_irq()
277 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_dtu_irq()
278 input_report_key(input, BTN_STYLUS2, data[1] & 0x10); in wacom_dtu_irq()
279 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_dtu_irq()
280 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_dtu_irq()
281 input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x01) << 8) | data[6]); in wacom_dtu_irq()
282 input_report_key(input, BTN_TOUCH, data[1] & 0x05); in wacom_dtu_irq()
285 input_report_key(input, wacom->tool[0], prox); in wacom_dtu_irq()
286 input_report_abs(input, ABS_MISC, wacom->id[0]); in wacom_dtu_irq()
293 struct input_dev *input = wacom->pen_input; in wacom_dtus_irq() local
297 dev_dbg(input->dev.parent, in wacom_dtus_irq()
301 input = wacom->pad_input; in wacom_dtus_irq()
302 input_report_key(input, BTN_0, (data[1] & 0x01)); in wacom_dtus_irq()
303 input_report_key(input, BTN_1, (data[1] & 0x02)); in wacom_dtus_irq()
304 input_report_key(input, BTN_2, (data[1] & 0x04)); in wacom_dtus_irq()
305 input_report_key(input, BTN_3, (data[1] & 0x08)); in wacom_dtus_irq()
306 input_report_abs(input, ABS_MISC, in wacom_dtus_irq()
325 input_report_key(input, BTN_STYLUS, data[1] & 0x20); in wacom_dtus_irq()
326 input_report_key(input, BTN_STYLUS2, data[1] & 0x40); in wacom_dtus_irq()
327 input_report_abs(input, ABS_X, get_unaligned_be16(&data[3])); in wacom_dtus_irq()
328 input_report_abs(input, ABS_Y, get_unaligned_be16(&data[5])); in wacom_dtus_irq()
330 input_report_abs(input, ABS_PRESSURE, pressure); in wacom_dtus_irq()
331 input_report_key(input, BTN_TOUCH, pressure > 10); in wacom_dtus_irq()
335 input_report_key(input, wacom->tool[0], prox); in wacom_dtus_irq()
336 input_report_abs(input, ABS_MISC, wacom->id[0]); in wacom_dtus_irq()
345 struct input_dev *input = wacom->pen_input; in wacom_graphire_irq() local
354 dev_dbg(input->dev.parent, in wacom_graphire_irq()
360 dev_dbg(input->dev.parent, in wacom_graphire_irq()
381 input_report_key(input, BTN_MIDDLE, data[1] & 0x04); in wacom_graphire_irq()
390 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_graphire_irq()
391 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_graphire_irq()
394 input_report_abs(input, ABS_PRESSURE, data[6] | in wacom_graphire_irq()
397 input_report_abs(input, ABS_PRESSURE, data[6] | in wacom_graphire_irq()
399 input_report_key(input, BTN_TOUCH, data[1] & 0x01); in wacom_graphire_irq()
400 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_graphire_irq()
401 input_report_key(input, BTN_STYLUS2, data[1] & 0x04); in wacom_graphire_irq()
403 input_report_key(input, BTN_LEFT, data[1] & 0x01); in wacom_graphire_irq()
404 input_report_key(input, BTN_RIGHT, data[1] & 0x02); in wacom_graphire_irq()
407 input_report_abs(input, ABS_DISTANCE, data[6] & 0x3f); in wacom_graphire_irq()
413 input_report_abs(input, ABS_DISTANCE, rw); in wacom_graphire_irq()
416 input_report_key(input, BTN_MIDDLE, in wacom_graphire_irq()
424 input_report_abs(input, ABS_DISTANCE, data[7] & 0x3f); in wacom_graphire_irq()
427 input_report_rel(input, REL_WHEEL, rw); in wacom_graphire_irq()
432 input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */ in wacom_graphire_irq()
433 input_report_key(input, wacom->tool[0], prox); in wacom_graphire_irq()
434 input_sync(input); /* sync last event */ in wacom_graphire_irq()
517 struct input_dev *input = wacom->pad_input; in wacom_intuos_pad() local
581 input_report_abs(input, ABS_X, be16_to_cpup((__be16 *)&data[4])); in wacom_intuos_pad()
582 input_report_abs(input, ABS_Y, be16_to_cpup((__be16 *)&data[6])); in wacom_intuos_pad()
583 input_report_abs(input, ABS_Z, be16_to_cpup((__be16 *)&data[8])); in wacom_intuos_pad()
643 wacom_report_numbered_buttons(input, nbuttons, buttons); in wacom_intuos_pad()
646 input_report_key(input, KEY_PROG1 + i, keys & (1 << i)); in wacom_intuos_pad()
648 input_report_key(input, KEY_BUTTONCONFIG, wrench); in wacom_intuos_pad()
649 input_report_key(input, KEY_ONSCREEN_KEYBOARD, keyboard); in wacom_intuos_pad()
650 input_report_key(input, KEY_CONTROLPANEL, menu); in wacom_intuos_pad()
651 input_report_key(input, KEY_INFO, info); in wacom_intuos_pad()
660 input_report_abs(input, ABS_RX, strip1); in wacom_intuos_pad()
661 input_report_abs(input, ABS_RY, strip2); in wacom_intuos_pad()
663 input_report_abs(input, ABS_WHEEL, (ring1 & 0x80) ? (ring1 & 0x7f) : 0); in wacom_intuos_pad()
664 input_report_abs(input, ABS_THROTTLE, (ring2 & 0x80) ? (ring2 & 0x7f) : 0); in wacom_intuos_pad()
666 input_report_key(input, wacom->tool[1], prox ? 1 : 0); in wacom_intuos_pad()
667 input_report_abs(input, ABS_MISC, prox ? PAD_DEVICE_ID : 0); in wacom_intuos_pad()
669 input_event(input, EV_MSC, MSC_SERIAL, 0xffffffff); in wacom_intuos_pad()
735 struct input_dev *input = wacom->pen_input; in wacom_exit_report() local
744 input_report_abs(input, ABS_X, 0); in wacom_exit_report()
745 input_report_abs(input, ABS_Y, 0); in wacom_exit_report()
746 input_report_abs(input, ABS_DISTANCE, 0); in wacom_exit_report()
747 input_report_abs(input, ABS_TILT_X, 0); in wacom_exit_report()
748 input_report_abs(input, ABS_TILT_Y, 0); in wacom_exit_report()
750 input_report_key(input, BTN_LEFT, 0); in wacom_exit_report()
751 input_report_key(input, BTN_MIDDLE, 0); in wacom_exit_report()
752 input_report_key(input, BTN_RIGHT, 0); in wacom_exit_report()
753 input_report_key(input, BTN_SIDE, 0); in wacom_exit_report()
754 input_report_key(input, BTN_EXTRA, 0); in wacom_exit_report()
755 input_report_abs(input, ABS_THROTTLE, 0); in wacom_exit_report()
756 input_report_abs(input, ABS_RZ, 0); in wacom_exit_report()
758 input_report_abs(input, ABS_PRESSURE, 0); in wacom_exit_report()
759 input_report_key(input, BTN_STYLUS, 0); in wacom_exit_report()
760 input_report_key(input, BTN_STYLUS2, 0); in wacom_exit_report()
761 input_report_key(input, BTN_TOUCH, 0); in wacom_exit_report()
762 input_report_abs(input, ABS_WHEEL, 0); in wacom_exit_report()
764 input_report_abs(input, ABS_Z, 0); in wacom_exit_report()
766 input_report_key(input, wacom->tool[idx], 0); in wacom_exit_report()
767 input_report_abs(input, ABS_MISC, 0); /* reset tool id */ in wacom_exit_report()
768 input_event(input, EV_MSC, MSC_SERIAL, wacom->serial[idx]); in wacom_exit_report()
776 struct input_dev *input = wacom->pen_input; in wacom_intuos_inout() local
807 input_report_key(input, BTN_TOUCH, 0); in wacom_intuos_inout()
808 input_report_abs(input, ABS_PRESSURE, 0); in wacom_intuos_inout()
809 input_report_abs(input, ABS_DISTANCE, wacom->features.distance_max); in wacom_intuos_inout()
852 struct input_dev *input = wacom->pen_input; in wacom_intuos_general() local
901 input_report_abs(input, ABS_X, x); in wacom_intuos_general()
902 input_report_abs(input, ABS_Y, y); in wacom_intuos_general()
903 input_report_abs(input, ABS_DISTANCE, distance); in wacom_intuos_general()
914 input_report_abs(input, ABS_PRESSURE, t); in wacom_intuos_general()
916 input_report_abs(input, ABS_TILT_X, in wacom_intuos_general()
918 input_report_abs(input, ABS_TILT_Y, (data[8] & 0x7f) - 64); in wacom_intuos_general()
920 input_report_key(input, BTN_STYLUS, data[1] & 2); in wacom_intuos_general()
921 input_report_key(input, BTN_STYLUS2, data[1] & 4); in wacom_intuos_general()
922 input_report_key(input, BTN_TOUCH, t > 10); in wacom_intuos_general()
927 input_report_abs(input, ABS_WHEEL, in wacom_intuos_general()
929 input_report_abs(input, ABS_TILT_X, in wacom_intuos_general()
931 input_report_abs(input, ABS_TILT_Y, (data[8] & 0x7f) - 64); in wacom_intuos_general()
941 input_report_abs(input, ABS_Z, t); in wacom_intuos_general()
945 input_report_abs(input, ABS_RZ, (data[7] & 0x20) ? in wacom_intuos_general()
952 input_report_key(input, BTN_LEFT, data[8] & 0x01); in wacom_intuos_general()
953 input_report_key(input, BTN_MIDDLE, data[8] & 0x02); in wacom_intuos_general()
954 input_report_key(input, BTN_RIGHT, data[8] & 0x04); in wacom_intuos_general()
956 input_report_key(input, BTN_SIDE, data[8] & 0x20); in wacom_intuos_general()
957 input_report_key(input, BTN_EXTRA, data[8] & 0x10); in wacom_intuos_general()
959 input_report_abs(input, ABS_THROTTLE, (data[8] & 0x08) ? -t : t); in wacom_intuos_general()
964 input_report_key(input, BTN_LEFT, data[6] & 0x01); in wacom_intuos_general()
965 input_report_key(input, BTN_MIDDLE, data[6] & 0x02); in wacom_intuos_general()
966 input_report_key(input, BTN_RIGHT, data[6] & 0x04); in wacom_intuos_general()
967 input_report_rel(input, REL_WHEEL, ((data[7] & 0x80) >> 7) in wacom_intuos_general()
969 input_report_key(input, BTN_SIDE, data[6] & 0x08); in wacom_intuos_general()
970 input_report_key(input, BTN_EXTRA, data[6] & 0x10); in wacom_intuos_general()
972 input_report_abs(input, ABS_TILT_X, in wacom_intuos_general()
974 input_report_abs(input, ABS_TILT_Y, (data[8] & 0x7f) - 64); in wacom_intuos_general()
980 input_report_key(input, BTN_LEFT, data[8] & 0x04); in wacom_intuos_general()
981 input_report_key(input, BTN_MIDDLE, data[8] & 0x08); in wacom_intuos_general()
982 input_report_key(input, BTN_RIGHT, data[8] & 0x10); in wacom_intuos_general()
983 input_report_rel(input, REL_WHEEL, (data[8] & 0x01) in wacom_intuos_general()
988 input_report_key(input, BTN_SIDE, data[8] & 0x40); in wacom_intuos_general()
989 input_report_key(input, BTN_EXTRA, data[8] & 0x20); in wacom_intuos_general()
994 input_report_key(input, BTN_LEFT, data[8] & 0x01); in wacom_intuos_general()
995 input_report_key(input, BTN_MIDDLE, data[8] & 0x02); in wacom_intuos_general()
996 input_report_key(input, BTN_RIGHT, data[8] & 0x04); in wacom_intuos_general()
997 input_report_key(input, BTN_SIDE, data[8] & 0x10); in wacom_intuos_general()
998 input_report_key(input, BTN_EXTRA, data[8] & 0x08); in wacom_intuos_general()
1013 input_report_abs(input, ABS_MISC, in wacom_intuos_general()
1015 input_report_key(input, wacom->tool[idx], 1); in wacom_intuos_general()
1016 input_event(input, EV_MSC, MSC_SERIAL, wacom->serial[idx]); in wacom_intuos_general()
1024 struct input_dev *input = wacom->pen_input; in wacom_intuos_irq() local
1035 dev_dbg(input->dev.parent, in wacom_intuos_irq()
1061 struct input_dev *input; in wacom_remote_irq() local
1091 input = remote->remotes[index].input; in wacom_remote_irq()
1093 input_report_key(input, BTN_0, (data[9] & 0x01)); in wacom_remote_irq()
1094 input_report_key(input, BTN_1, (data[9] & 0x02)); in wacom_remote_irq()
1095 input_report_key(input, BTN_2, (data[9] & 0x04)); in wacom_remote_irq()
1096 input_report_key(input, BTN_3, (data[9] & 0x08)); in wacom_remote_irq()
1097 input_report_key(input, BTN_4, (data[9] & 0x10)); in wacom_remote_irq()
1098 input_report_key(input, BTN_5, (data[9] & 0x20)); in wacom_remote_irq()
1099 input_report_key(input, BTN_6, (data[9] & 0x40)); in wacom_remote_irq()
1100 input_report_key(input, BTN_7, (data[9] & 0x80)); in wacom_remote_irq()
1102 input_report_key(input, BTN_8, (data[10] & 0x01)); in wacom_remote_irq()
1103 input_report_key(input, BTN_9, (data[10] & 0x02)); in wacom_remote_irq()
1104 input_report_key(input, BTN_A, (data[10] & 0x04)); in wacom_remote_irq()
1105 input_report_key(input, BTN_B, (data[10] & 0x08)); in wacom_remote_irq()
1106 input_report_key(input, BTN_C, (data[10] & 0x10)); in wacom_remote_irq()
1107 input_report_key(input, BTN_X, (data[10] & 0x20)); in wacom_remote_irq()
1108 input_report_key(input, BTN_Y, (data[10] & 0x40)); in wacom_remote_irq()
1109 input_report_key(input, BTN_Z, (data[10] & 0x80)); in wacom_remote_irq()
1111 input_report_key(input, BTN_BASE, (data[11] & 0x01)); in wacom_remote_irq()
1112 input_report_key(input, BTN_BASE2, (data[11] & 0x02)); in wacom_remote_irq()
1115 input_report_abs(input, ABS_WHEEL, (data[12] & 0x7f) - 1); in wacom_remote_irq()
1117 input_report_abs(input, ABS_WHEEL, 0); in wacom_remote_irq()
1123 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_remote_irq()
1125 input_report_abs(input, ABS_MISC, 0); in wacom_remote_irq()
1127 input_event(input, EV_MSC, MSC_SERIAL, serial); in wacom_remote_irq()
1129 input_sync(input); in wacom_remote_irq()
1240 struct input_dev *input = wacom->touch_input; in wacom_wac_finger_count_touches() local
1249 return test_bit(BTN_TOUCH, input->key) && in wacom_wac_finger_count_touches()
1252 for (i = 0; i < input->mt->num_slots; i++) { in wacom_wac_finger_count_touches()
1253 struct input_mt_slot *ps = &input->mt->slots[i]; in wacom_wac_finger_count_touches()
1555 struct input_dev *input = wacom->touch_input; in wacom_24hdt_irq() local
1586 int slot = input_mt_get_slot_by_key(input, data[offset + 1]); in wacom_24hdt_irq()
1590 input_mt_slot(input, slot); in wacom_24hdt_irq()
1591 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_24hdt_irq()
1597 input_report_abs(input, ABS_MT_POSITION_X, t_x); in wacom_24hdt_irq()
1598 input_report_abs(input, ABS_MT_POSITION_Y, t_y); in wacom_24hdt_irq()
1606 input_report_abs(input, ABS_MT_TOUCH_MAJOR, min(w,h)); in wacom_24hdt_irq()
1607 input_report_abs(input, ABS_MT_WIDTH_MAJOR, in wacom_24hdt_irq()
1609 input_report_abs(input, ABS_MT_WIDTH_MINOR, min(w, h)); in wacom_24hdt_irq()
1610 input_report_abs(input, ABS_MT_ORIENTATION, w > h); in wacom_24hdt_irq()
1614 input_mt_sync_frame(input); in wacom_24hdt_irq()
1626 struct input_dev *input = wacom->touch_input; in wacom_mt_touch() local
1651 int slot = input_mt_get_slot_by_key(input, id); in wacom_mt_touch()
1656 input_mt_slot(input, slot); in wacom_mt_touch()
1657 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_mt_touch()
1661 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_mt_touch()
1662 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_mt_touch()
1665 input_mt_sync_frame(input); in wacom_mt_touch()
1677 struct input_dev *input = wacom->touch_input; in wacom_tpc_mt_touch() local
1685 input_mt_slot(input, i); in wacom_tpc_mt_touch()
1686 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_tpc_mt_touch()
1691 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_tpc_mt_touch()
1692 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_tpc_mt_touch()
1695 input_mt_sync_frame(input); in wacom_tpc_mt_touch()
1706 struct input_dev *input = wacom->touch_input; in wacom_tpc_single_touch() local
1728 input_report_abs(input, ABS_X, x); in wacom_tpc_single_touch()
1729 input_report_abs(input, ABS_Y, y); in wacom_tpc_single_touch()
1731 input_report_key(input, BTN_TOUCH, prox); in wacom_tpc_single_touch()
1742 struct input_dev *input = wacom->pen_input; in wacom_tpc_pen() local
1756 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_tpc_pen()
1757 input_report_key(input, BTN_STYLUS2, data[1] & 0x10); in wacom_tpc_pen()
1758 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_tpc_pen()
1759 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_tpc_pen()
1760 input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x07) << 8) | data[6]); in wacom_tpc_pen()
1761 input_report_key(input, BTN_TOUCH, data[1] & 0x05); in wacom_tpc_pen()
1762 input_report_key(input, wacom->tool[0], prox); in wacom_tpc_pen()
1811 static int wacom_offset_rotation(struct input_dev *input, struct hid_usage *usage, in wacom_offset_rotation() argument
1814 struct input_absinfo *abs = &input->absinfo[usage->code]; in wacom_offset_rotation()
1871 static void wacom_map_usage(struct input_dev *input, struct hid_usage *usage, in wacom_map_usage() argument
1874 struct wacom *wacom = input_get_drvdata(input); in wacom_map_usage()
1903 input_set_abs_params(input, code, fmin, fmax, fuzz, 0); in wacom_map_usage()
1908 hid_warn(input, in wacom_map_usage()
1912 input_abs_set_res(input, code, resolution); in wacom_map_usage()
1918 input_set_capability(input, type, code); in wacom_map_usage()
1994 struct input_dev *input = wacom_wac->pad_input; in wacom_wac_pad_usage_mapping() local
1999 __set_bit(INPUT_PROP_ACCELEROMETER, input->propbit); in wacom_wac_pad_usage_mapping()
2000 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 0); in wacom_wac_pad_usage_mapping()
2004 __set_bit(INPUT_PROP_ACCELEROMETER, input->propbit); in wacom_wac_pad_usage_mapping()
2005 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 0); in wacom_wac_pad_usage_mapping()
2009 __set_bit(INPUT_PROP_ACCELEROMETER, input->propbit); in wacom_wac_pad_usage_mapping()
2010 wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0); in wacom_wac_pad_usage_mapping()
2019 wacom_map_usage(input, usage, field, EV_KEY, in wacom_wac_pad_usage_mapping()
2043 wacom_map_usage(input, usage, field, EV_ABS, ABS_RX, 0); in wacom_wac_pad_usage_mapping()
2047 wacom_map_usage(input, usage, field, EV_ABS, ABS_RY, 0); in wacom_wac_pad_usage_mapping()
2054 wacom_map_usage(input, usage, field, EV_REL, REL_WHEEL_HI_RES, 0); in wacom_wac_pad_usage_mapping()
2055 set_bit(REL_WHEEL, input->relbit); in wacom_wac_pad_usage_mapping()
2058 wacom_map_usage(input, usage, field, EV_REL, REL_HWHEEL_HI_RES, 0); in wacom_wac_pad_usage_mapping()
2059 set_bit(REL_HWHEEL, input->relbit); in wacom_wac_pad_usage_mapping()
2064 wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0); in wacom_wac_pad_usage_mapping()
2066 wacom_map_usage(input, usage, field, EV_ABS, ABS_THROTTLE, 0); in wacom_wac_pad_usage_mapping()
2077 set_bit(EV_ABS, input->evbit); in wacom_wac_pad_usage_mapping()
2081 wacom_map_usage(input, usage, field, EV_KEY, KEY_BUTTONCONFIG, 0); in wacom_wac_pad_usage_mapping()
2085 wacom_map_usage(input, usage, field, EV_KEY, KEY_ONSCREEN_KEYBOARD, 0); in wacom_wac_pad_usage_mapping()
2089 wacom_map_usage(input, usage, field, EV_KEY, KEY_CONTROLPANEL, 0); in wacom_wac_pad_usage_mapping()
2104 wacom_map_usage(input, usage, field, EV_KEY, in wacom_wac_pad_usage_mapping()
2118 struct input_dev *input = wacom_wac->pad_input; in wacom_wac_pad_event() local
2160 if (!input) in wacom_wac_pad_event()
2182 value = wacom_offset_rotation(input, usage, value, 3, 16); in wacom_wac_pad_event()
2186 value = wacom_offset_rotation(input, usage, value, 1, 2); in wacom_wac_pad_event()
2230 input_event(input, usage->type, lowres_code, clicks); in wacom_wac_pad_event()
2235 value = wacom_offset_rotation(input, usage, value, 1, 4); in wacom_wac_pad_event()
2241 input_event(input, usage->type, usage->code, 0); in wacom_wac_pad_event()
2262 input_event(input, usage->type, usage->code, value); in wacom_wac_pad_event()
2282 struct input_dev *input = wacom_wac->pad_input; in wacom_wac_pad_report() local
2287 input_event(input, EV_ABS, ABS_MISC, active ? PAD_DEVICE_ID : 0); in wacom_wac_pad_report()
2288 input_sync(input); in wacom_wac_pad_report()
2296 struct input_dev *input = wacom_wac->pen_input; in wacom_set_barrel_switch3_usage() local
2304 input_set_capability(input, EV_KEY, BTN_STYLUS3); in wacom_set_barrel_switch3_usage()
2315 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_usage_mapping() local
2320 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4); in wacom_wac_pen_usage_mapping()
2323 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4); in wacom_wac_pen_usage_mapping()
2327 wacom_map_usage(input, usage, field, EV_ABS, ABS_DISTANCE, 0); in wacom_wac_pen_usage_mapping()
2330 wacom_map_usage(input, usage, field, EV_ABS, ABS_PRESSURE, 0); in wacom_wac_pen_usage_mapping()
2333 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0); in wacom_wac_pen_usage_mapping()
2336 wacom_map_usage(input, usage, field, EV_KEY, in wacom_wac_pen_usage_mapping()
2340 wacom_map_usage(input, usage, field, EV_ABS, ABS_TILT_X, 0); in wacom_wac_pen_usage_mapping()
2343 wacom_map_usage(input, usage, field, EV_ABS, ABS_TILT_Y, 0); in wacom_wac_pen_usage_mapping()
2346 wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0); in wacom_wac_pen_usage_mapping()
2349 input_set_capability(input, EV_KEY, BTN_TOOL_RUBBER); in wacom_wac_pen_usage_mapping()
2350 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0); in wacom_wac_pen_usage_mapping()
2353 input_set_capability(input, EV_KEY, BTN_TOOL_PEN); in wacom_wac_pen_usage_mapping()
2354 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0); in wacom_wac_pen_usage_mapping()
2359 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS, 0); in wacom_wac_pen_usage_mapping()
2364 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS2, 0); in wacom_wac_pen_usage_mapping()
2368 wacom_map_usage(input, usage, field, EV_MSC, MSC_SERIAL, 0); in wacom_wac_pen_usage_mapping()
2371 wacom_map_usage(input, usage, field, EV_MSC, MSC_TIMESTAMP, 0); in wacom_wac_pen_usage_mapping()
2375 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0); in wacom_wac_pen_usage_mapping()
2380 wacom_map_usage(input, usage, field, EV_ABS, ABS_MISC, 0); in wacom_wac_pen_usage_mapping()
2383 input_set_capability(input, EV_KEY, BTN_TOOL_AIRBRUSH); in wacom_wac_pen_usage_mapping()
2384 wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0); in wacom_wac_pen_usage_mapping()
2388 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS3, 0); in wacom_wac_pen_usage_mapping()
2403 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_event() local
2454 value = wacom_offset_rotation(input, usage, value, 1, 4); in wacom_wac_pen_event()
2540 input_event(input, usage->type, usage->code, value); in wacom_wac_pen_event()
2542 input_event(input, usage->type, usage->code, 0); in wacom_wac_pen_event()
2560 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_report() local
2592 input_report_key(input, BTN_STYLUS, wacom_wac->hid_data.barrelswitch); in wacom_wac_pen_report()
2593 input_report_key(input, BTN_STYLUS2, wacom_wac->hid_data.barrelswitch2); in wacom_wac_pen_report()
2594 input_report_key(input, BTN_STYLUS3, wacom_wac->hid_data.barrelswitch3); in wacom_wac_pen_report()
2608 input_report_key(input, BTN_TOUCH, in wacom_wac_pen_report()
2610 input_report_key(input, wacom_wac->tool[0], sense); in wacom_wac_pen_report()
2619 input_event(input, EV_MSC, MSC_SERIAL, (int)(serial_lo ? serial_lo : serial_hi)); in wacom_wac_pen_report()
2620 input_report_abs(input, ABS_MISC, sense ? id : 0); in wacom_wac_pen_report()
2626 input_sync(input); in wacom_wac_pen_report()
2650 struct input_dev *input = wacom_wac->touch_input; in wacom_wac_finger_usage_mapping() local
2657 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4); in wacom_wac_finger_usage_mapping()
2659 wacom_map_usage(input, usage, field, EV_ABS, in wacom_wac_finger_usage_mapping()
2664 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4); in wacom_wac_finger_usage_mapping()
2666 wacom_map_usage(input, usage, field, EV_ABS, in wacom_wac_finger_usage_mapping()
2671 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MAJOR, 0); in wacom_wac_finger_usage_mapping()
2672 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MINOR, 0); in wacom_wac_finger_usage_mapping()
2673 input_set_abs_params(input, ABS_MT_ORIENTATION, 0, 1, 0, 0); in wacom_wac_finger_usage_mapping()
2676 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0); in wacom_wac_finger_usage_mapping()
2694 wacom_map_usage(input, usage, field, EV_MSC, MSC_TIMESTAMP, 0); in wacom_wac_finger_usage_mapping()
2700 struct input_dev *input) in wacom_wac_finger_slot() argument
2720 slot = input_mt_get_slot_by_key(input, hid_data->id); in wacom_wac_finger_slot()
2724 struct input_mt_slot *ps = &input->mt->slots[slot]; in wacom_wac_finger_slot()
2733 input_mt_slot(input, slot); in wacom_wac_finger_slot()
2734 input_mt_report_slot_state(input, MT_TOOL_FINGER, prox); in wacom_wac_finger_slot()
2737 input_report_key(input, BTN_TOUCH, prox); in wacom_wac_finger_slot()
2741 input_report_abs(input, mt ? ABS_MT_POSITION_X : ABS_X, in wacom_wac_finger_slot()
2743 input_report_abs(input, mt ? ABS_MT_POSITION_Y : ABS_Y, in wacom_wac_finger_slot()
2746 if (test_bit(ABS_MT_TOUCH_MAJOR, input->absbit)) { in wacom_wac_finger_slot()
2747 input_report_abs(input, ABS_MT_TOUCH_MAJOR, max(hid_data->width, hid_data->height)); in wacom_wac_finger_slot()
2748 input_report_abs(input, ABS_MT_TOUCH_MINOR, min(hid_data->width, hid_data->height)); in wacom_wac_finger_slot()
2750 input_report_abs(input, ABS_MT_ORIENTATION, hid_data->width <= hid_data->height ? 0 : 1); in wacom_wac_finger_slot()
2878 struct input_dev *input = wacom_wac->touch_input; in wacom_wac_finger_report() local
2893 input_mt_sync_frame(input); in wacom_wac_finger_report()
2895 input_sync(input); in wacom_wac_finger_report()
3055 struct input_dev *input = wacom->touch_input; in wacom_bpt_touch() local
3068 input_mt_slot(input, i); in wacom_bpt_touch()
3069 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_bpt_touch()
3077 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_bpt_touch()
3078 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_bpt_touch()
3082 input_mt_sync_frame(input); in wacom_bpt_touch()
3096 struct input_dev *input = wacom->touch_input; in wacom_bpt3_touch_msg() local
3098 int slot = input_mt_get_slot_by_key(input, data[0]); in wacom_bpt3_touch_msg()
3105 input_mt_slot(input, slot); in wacom_bpt3_touch_msg()
3106 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_bpt3_touch_msg()
3123 int x_res = input_abs_get_res(input, ABS_MT_POSITION_X); in wacom_bpt3_touch_msg()
3124 int y_res = input_abs_get_res(input, ABS_MT_POSITION_Y); in wacom_bpt3_touch_msg()
3129 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_bpt3_touch_msg()
3130 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_bpt3_touch_msg()
3131 input_report_abs(input, ABS_MT_TOUCH_MAJOR, width); in wacom_bpt3_touch_msg()
3132 input_report_abs(input, ABS_MT_TOUCH_MINOR, height); in wacom_bpt3_touch_msg()
3138 struct input_dev *input = wacom->pad_input; in wacom_bpt3_button_msg() local
3142 input_report_key(input, BTN_LEFT, (data[1] & 0x02) != 0); in wacom_bpt3_button_msg()
3143 input_report_key(input, BTN_BACK, (data[1] & 0x08) != 0); in wacom_bpt3_button_msg()
3145 input_report_key(input, BTN_BACK, (data[1] & 0x02) != 0); in wacom_bpt3_button_msg()
3146 input_report_key(input, BTN_LEFT, (data[1] & 0x08) != 0); in wacom_bpt3_button_msg()
3148 input_report_key(input, BTN_FORWARD, (data[1] & 0x04) != 0); in wacom_bpt3_button_msg()
3149 input_report_key(input, BTN_RIGHT, (data[1] & 0x01) != 0); in wacom_bpt3_button_msg()
3186 struct input_dev *input = wacom->pen_input; in wacom_bpt_pen() local
3236 input_report_key(input, BTN_TOUCH, pen); in wacom_bpt_pen()
3237 input_report_key(input, BTN_STYLUS, btn1); in wacom_bpt_pen()
3238 input_report_key(input, BTN_STYLUS2, btn2); in wacom_bpt_pen()
3241 input_report_abs(input, ABS_X, x); in wacom_bpt_pen()
3242 input_report_abs(input, ABS_Y, y); in wacom_bpt_pen()
3244 input_report_abs(input, ABS_PRESSURE, p); in wacom_bpt_pen()
3245 input_report_abs(input, ABS_DISTANCE, d); in wacom_bpt_pen()
3247 input_report_key(input, wacom->tool[0], range); /* PEN or RUBBER */ in wacom_bpt_pen()
3248 input_report_abs(input, ABS_MISC, wacom->id[0]); /* TOOL ID */ in wacom_bpt_pen()
3304 struct input_dev *input = wacom->touch_input; in wacom_bamboo_pad_touch_event() local
3316 input_mt_slot(input, id); in wacom_bamboo_pad_touch_event()
3317 input_mt_report_slot_state(input, MT_TOOL_FINGER, valid); in wacom_bamboo_pad_touch_event()
3326 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_bamboo_pad_touch_event()
3327 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_bamboo_pad_touch_event()
3330 input_mt_sync_frame(input); in wacom_bamboo_pad_touch_event()
3332 input_report_key(input, BTN_LEFT, prefix & 0x40); in wacom_bamboo_pad_touch_event()
3333 input_report_key(input, BTN_RIGHT, prefix & 0x80); in wacom_bamboo_pad_touch_event()