Lines Matching refs:input
72 struct input_dev *input = wacom->pen_input; in wacom_penpartner_irq() local
79 input_report_key(input, wacom->tool[0], 1); in wacom_penpartner_irq()
80 input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */ in wacom_penpartner_irq()
81 input_report_abs(input, ABS_X, get_unaligned_le16(&data[1])); in wacom_penpartner_irq()
82 input_report_abs(input, ABS_Y, get_unaligned_le16(&data[3])); in wacom_penpartner_irq()
83 input_report_abs(input, ABS_PRESSURE, (signed char)data[6] + 127); in wacom_penpartner_irq()
84 input_report_key(input, BTN_TOUCH, ((signed char)data[6] > -127)); in wacom_penpartner_irq()
85 input_report_key(input, BTN_STYLUS, (data[5] & 0x40)); in wacom_penpartner_irq()
87 input_report_key(input, wacom->tool[0], 0); in wacom_penpartner_irq()
88 input_report_abs(input, ABS_MISC, 0); /* report tool id */ in wacom_penpartner_irq()
89 input_report_abs(input, ABS_PRESSURE, -1); in wacom_penpartner_irq()
90 input_report_key(input, BTN_TOUCH, 0); in wacom_penpartner_irq()
95 input_report_key(input, BTN_TOOL_PEN, 1); in wacom_penpartner_irq()
96 input_report_abs(input, ABS_MISC, STYLUS_DEVICE_ID); /* report tool id */ in wacom_penpartner_irq()
97 input_report_abs(input, ABS_X, get_unaligned_le16(&data[1])); in wacom_penpartner_irq()
98 input_report_abs(input, ABS_Y, get_unaligned_le16(&data[3])); in wacom_penpartner_irq()
99 input_report_abs(input, ABS_PRESSURE, (signed char)data[6] + 127); in wacom_penpartner_irq()
100 input_report_key(input, BTN_TOUCH, ((signed char)data[6] > -80) && !(data[5] & 0x20)); in wacom_penpartner_irq()
101 input_report_key(input, BTN_STYLUS, (data[5] & 0x40)); in wacom_penpartner_irq()
105 dev_dbg(input->dev.parent, in wacom_penpartner_irq()
117 struct input_dev *input = wacom->pen_input; in wacom_pl_irq() local
121 dev_dbg(input->dev.parent, in wacom_pl_irq()
144 input_report_key(input, BTN_TOOL_RUBBER, 0); in wacom_pl_irq()
145 input_report_abs(input, ABS_MISC, 0); in wacom_pl_irq()
146 input_sync(input); in wacom_pl_irq()
156 input_report_abs(input, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14)); in wacom_pl_irq()
157 input_report_abs(input, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14)); in wacom_pl_irq()
158 input_report_abs(input, ABS_PRESSURE, pressure); in wacom_pl_irq()
160 input_report_key(input, BTN_TOUCH, data[4] & 0x08); in wacom_pl_irq()
161 input_report_key(input, BTN_STYLUS, data[4] & 0x10); in wacom_pl_irq()
163 input_report_key(input, BTN_STYLUS2, (wacom->tool[0] == BTN_TOOL_PEN) && (data[4] & 0x20)); in wacom_pl_irq()
167 input_report_key(input, wacom->tool[0], prox); in wacom_pl_irq()
168 input_report_abs(input, ABS_MISC, wacom->id[0]); in wacom_pl_irq()
175 struct input_dev *input = wacom->pen_input; in wacom_ptu_irq() local
178 dev_dbg(input->dev.parent, in wacom_ptu_irq()
184 input_report_key(input, BTN_TOOL_RUBBER, data[1] & 0x20); in wacom_ptu_irq()
185 input_report_key(input, BTN_TOUCH, data[1] & 0x08); in wacom_ptu_irq()
188 input_report_key(input, BTN_TOOL_PEN, data[1] & 0x20); in wacom_ptu_irq()
189 input_report_key(input, BTN_TOUCH, data[1] & 0x01); in wacom_ptu_irq()
192 input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */ in wacom_ptu_irq()
193 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_ptu_irq()
194 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_ptu_irq()
195 input_report_abs(input, ABS_PRESSURE, le16_to_cpup((__le16 *)&data[6])); in wacom_ptu_irq()
196 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_ptu_irq()
197 input_report_key(input, BTN_STYLUS2, data[1] & 0x10); in wacom_ptu_irq()
204 struct input_dev *input = wacom->pen_input; in wacom_dtu_irq() local
207 dev_dbg(input->dev.parent, in wacom_dtu_irq()
218 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_dtu_irq()
219 input_report_key(input, BTN_STYLUS2, data[1] & 0x10); in wacom_dtu_irq()
220 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_dtu_irq()
221 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_dtu_irq()
222 input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x01) << 8) | data[6]); in wacom_dtu_irq()
223 input_report_key(input, BTN_TOUCH, data[1] & 0x05); in wacom_dtu_irq()
226 input_report_key(input, wacom->tool[0], prox); in wacom_dtu_irq()
227 input_report_abs(input, ABS_MISC, wacom->id[0]); in wacom_dtu_irq()
234 struct input_dev *input = wacom->pen_input; in wacom_dtus_irq() local
238 dev_dbg(input->dev.parent, in wacom_dtus_irq()
242 input = wacom->pad_input; in wacom_dtus_irq()
243 input_report_key(input, BTN_0, (data[1] & 0x01)); in wacom_dtus_irq()
244 input_report_key(input, BTN_1, (data[1] & 0x02)); in wacom_dtus_irq()
245 input_report_key(input, BTN_2, (data[1] & 0x04)); in wacom_dtus_irq()
246 input_report_key(input, BTN_3, (data[1] & 0x08)); in wacom_dtus_irq()
247 input_report_abs(input, ABS_MISC, in wacom_dtus_irq()
266 input_report_key(input, BTN_STYLUS, data[1] & 0x20); in wacom_dtus_irq()
267 input_report_key(input, BTN_STYLUS2, data[1] & 0x40); in wacom_dtus_irq()
268 input_report_abs(input, ABS_X, get_unaligned_be16(&data[3])); in wacom_dtus_irq()
269 input_report_abs(input, ABS_Y, get_unaligned_be16(&data[5])); in wacom_dtus_irq()
271 input_report_abs(input, ABS_PRESSURE, pressure); in wacom_dtus_irq()
272 input_report_key(input, BTN_TOUCH, pressure > 10); in wacom_dtus_irq()
276 input_report_key(input, wacom->tool[0], prox); in wacom_dtus_irq()
277 input_report_abs(input, ABS_MISC, wacom->id[0]); in wacom_dtus_irq()
286 struct input_dev *input = wacom->pen_input; in wacom_graphire_irq() local
295 dev_dbg(input->dev.parent, in wacom_graphire_irq()
301 dev_dbg(input->dev.parent, in wacom_graphire_irq()
322 input_report_key(input, BTN_MIDDLE, data[1] & 0x04); in wacom_graphire_irq()
331 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_graphire_irq()
332 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_graphire_irq()
335 input_report_abs(input, ABS_PRESSURE, data[6] | in wacom_graphire_irq()
338 input_report_abs(input, ABS_PRESSURE, data[6] | in wacom_graphire_irq()
340 input_report_key(input, BTN_TOUCH, data[1] & 0x01); in wacom_graphire_irq()
341 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_graphire_irq()
342 input_report_key(input, BTN_STYLUS2, data[1] & 0x04); in wacom_graphire_irq()
344 input_report_key(input, BTN_LEFT, data[1] & 0x01); in wacom_graphire_irq()
345 input_report_key(input, BTN_RIGHT, data[1] & 0x02); in wacom_graphire_irq()
348 input_report_abs(input, ABS_DISTANCE, data[6] & 0x3f); in wacom_graphire_irq()
354 input_report_abs(input, ABS_DISTANCE, rw); in wacom_graphire_irq()
357 input_report_key(input, BTN_MIDDLE, in wacom_graphire_irq()
365 input_report_abs(input, ABS_DISTANCE, data[7] & 0x3f); in wacom_graphire_irq()
368 input_report_rel(input, REL_WHEEL, rw); in wacom_graphire_irq()
373 input_report_abs(input, ABS_MISC, wacom->id[0]); /* report tool id */ in wacom_graphire_irq()
374 input_report_key(input, wacom->tool[0], prox); in wacom_graphire_irq()
375 input_sync(input); /* sync last event */ in wacom_graphire_irq()
453 struct input_dev *input = wacom->pen_input; in wacom_intuos_inout() local
576 input_report_key(input, BTN_TOUCH, 0); in wacom_intuos_inout()
577 input_report_abs(input, ABS_PRESSURE, 0); in wacom_intuos_inout()
578 input_report_abs(input, ABS_DISTANCE, wacom->features.distance_max); in wacom_intuos_inout()
595 input_report_abs(input, ABS_X, 0); in wacom_intuos_inout()
596 input_report_abs(input, ABS_Y, 0); in wacom_intuos_inout()
597 input_report_abs(input, ABS_DISTANCE, 0); in wacom_intuos_inout()
598 input_report_abs(input, ABS_TILT_X, 0); in wacom_intuos_inout()
599 input_report_abs(input, ABS_TILT_Y, 0); in wacom_intuos_inout()
601 input_report_key(input, BTN_LEFT, 0); in wacom_intuos_inout()
602 input_report_key(input, BTN_MIDDLE, 0); in wacom_intuos_inout()
603 input_report_key(input, BTN_RIGHT, 0); in wacom_intuos_inout()
604 input_report_key(input, BTN_SIDE, 0); in wacom_intuos_inout()
605 input_report_key(input, BTN_EXTRA, 0); in wacom_intuos_inout()
606 input_report_abs(input, ABS_THROTTLE, 0); in wacom_intuos_inout()
607 input_report_abs(input, ABS_RZ, 0); in wacom_intuos_inout()
609 input_report_abs(input, ABS_PRESSURE, 0); in wacom_intuos_inout()
610 input_report_key(input, BTN_STYLUS, 0); in wacom_intuos_inout()
611 input_report_key(input, BTN_STYLUS2, 0); in wacom_intuos_inout()
612 input_report_key(input, BTN_TOUCH, 0); in wacom_intuos_inout()
613 input_report_abs(input, ABS_WHEEL, 0); in wacom_intuos_inout()
615 input_report_abs(input, ABS_Z, 0); in wacom_intuos_inout()
617 input_report_key(input, wacom->tool[idx], 0); in wacom_intuos_inout()
618 input_report_abs(input, ABS_MISC, 0); /* reset tool id */ in wacom_intuos_inout()
619 input_event(input, EV_MSC, MSC_SERIAL, wacom->serial[idx]); in wacom_intuos_inout()
637 struct input_dev *input = wacom_wac->pad_input; in wacom_remote_irq() local
645 dev_dbg(input->dev.parent, in wacom_remote_irq()
653 input_report_key(input, BTN_0, (data[9] & 0x01)); in wacom_remote_irq()
654 input_report_key(input, BTN_1, (data[9] & 0x02)); in wacom_remote_irq()
655 input_report_key(input, BTN_2, (data[9] & 0x04)); in wacom_remote_irq()
656 input_report_key(input, BTN_3, (data[9] & 0x08)); in wacom_remote_irq()
657 input_report_key(input, BTN_4, (data[9] & 0x10)); in wacom_remote_irq()
658 input_report_key(input, BTN_5, (data[9] & 0x20)); in wacom_remote_irq()
659 input_report_key(input, BTN_6, (data[9] & 0x40)); in wacom_remote_irq()
660 input_report_key(input, BTN_7, (data[9] & 0x80)); in wacom_remote_irq()
662 input_report_key(input, BTN_8, (data[10] & 0x01)); in wacom_remote_irq()
663 input_report_key(input, BTN_9, (data[10] & 0x02)); in wacom_remote_irq()
664 input_report_key(input, BTN_A, (data[10] & 0x04)); in wacom_remote_irq()
665 input_report_key(input, BTN_B, (data[10] & 0x08)); in wacom_remote_irq()
666 input_report_key(input, BTN_C, (data[10] & 0x10)); in wacom_remote_irq()
667 input_report_key(input, BTN_X, (data[10] & 0x20)); in wacom_remote_irq()
668 input_report_key(input, BTN_Y, (data[10] & 0x40)); in wacom_remote_irq()
669 input_report_key(input, BTN_Z, (data[10] & 0x80)); in wacom_remote_irq()
671 input_report_key(input, BTN_BASE, (data[11] & 0x01)); in wacom_remote_irq()
672 input_report_key(input, BTN_BASE2, (data[11] & 0x02)); in wacom_remote_irq()
675 input_report_abs(input, ABS_WHEEL, (data[12] & 0x7f)); in wacom_remote_irq()
677 input_report_abs(input, ABS_WHEEL, 0); in wacom_remote_irq()
683 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_remote_irq()
685 input_report_abs(input, ABS_MISC, 0); in wacom_remote_irq()
687 input_event(input, EV_MSC, MSC_SERIAL, serial); in wacom_remote_irq()
762 struct input_dev *input = wacom->pen_input; in wacom_intuos_general() local
771 input_report_abs(input, ABS_PRESSURE, t); in wacom_intuos_general()
773 input_report_abs(input, ABS_TILT_X, in wacom_intuos_general()
775 input_report_abs(input, ABS_TILT_Y, (data[8] & 0x7f) - 64); in wacom_intuos_general()
777 input_report_key(input, BTN_STYLUS, data[1] & 2); in wacom_intuos_general()
778 input_report_key(input, BTN_STYLUS2, data[1] & 4); in wacom_intuos_general()
779 input_report_key(input, BTN_TOUCH, t > 10); in wacom_intuos_general()
784 input_report_abs(input, ABS_WHEEL, in wacom_intuos_general()
786 input_report_abs(input, ABS_TILT_X, in wacom_intuos_general()
788 input_report_abs(input, ABS_TILT_Y, (data[8] & 0x7f) - 64); in wacom_intuos_general()
796 struct input_dev *input = wacom->pen_input; in wacom_intuos_irq() local
808 dev_dbg(input->dev.parent, in wacom_intuos_irq()
820 input = wacom->pad_input; in wacom_intuos_irq()
822 input_report_key(input, BTN_0, (data[2] & 0x01)); in wacom_intuos_irq()
823 input_report_key(input, BTN_1, (data[3] & 0x01)); in wacom_intuos_irq()
824 input_report_key(input, BTN_2, (data[3] & 0x02)); in wacom_intuos_irq()
825 input_report_key(input, BTN_3, (data[3] & 0x04)); in wacom_intuos_irq()
826 input_report_key(input, BTN_4, (data[3] & 0x08)); in wacom_intuos_irq()
827 input_report_key(input, BTN_5, (data[3] & 0x10)); in wacom_intuos_irq()
828 input_report_key(input, BTN_6, (data[3] & 0x20)); in wacom_intuos_irq()
830 input_report_abs(input, ABS_WHEEL, (data[1] & 0x7f)); in wacom_intuos_irq()
833 input_report_abs(input, ABS_WHEEL, 0); in wacom_intuos_irq()
836 input_report_key(input, BTN_7, (data[3] & 0x40)); in wacom_intuos_irq()
837 input_report_key(input, BTN_8, (data[3] & 0x80)); in wacom_intuos_irq()
840 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
842 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
845 input_report_key(input, BTN_0, (data[6] & 0x01)); in wacom_intuos_irq()
846 input_report_key(input, BTN_1, (data[6] & 0x02)); in wacom_intuos_irq()
847 input_report_key(input, BTN_2, (data[6] & 0x04)); in wacom_intuos_irq()
848 input_report_key(input, BTN_3, (data[6] & 0x08)); in wacom_intuos_irq()
849 input_report_key(input, BTN_4, (data[6] & 0x10)); in wacom_intuos_irq()
850 input_report_key(input, BTN_5, (data[6] & 0x20)); in wacom_intuos_irq()
852 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
854 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
857 input_report_key(input, BTN_0, (data[3] & 0x01)); in wacom_intuos_irq()
858 input_report_key(input, BTN_1, (data[4] & 0x01)); in wacom_intuos_irq()
859 input_report_key(input, BTN_2, (data[4] & 0x02)); in wacom_intuos_irq()
860 input_report_key(input, BTN_3, (data[4] & 0x04)); in wacom_intuos_irq()
861 input_report_key(input, BTN_4, (data[4] & 0x08)); in wacom_intuos_irq()
862 input_report_key(input, BTN_5, (data[4] & 0x10)); in wacom_intuos_irq()
863 input_report_key(input, BTN_6, (data[4] & 0x20)); in wacom_intuos_irq()
864 input_report_key(input, BTN_7, (data[4] & 0x40)); in wacom_intuos_irq()
865 input_report_key(input, BTN_8, (data[4] & 0x80)); in wacom_intuos_irq()
867 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
869 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
872 input_report_key(input, BTN_0, (data[6] & 0x01)); in wacom_intuos_irq()
873 input_report_key(input, BTN_1, (data[6] & 0x02)); in wacom_intuos_irq()
874 input_report_key(input, BTN_2, (data[6] & 0x04)); in wacom_intuos_irq()
875 input_report_key(input, BTN_3, (data[6] & 0x08)); in wacom_intuos_irq()
876 input_report_key(input, BTN_4, (data[6] & 0x10)); in wacom_intuos_irq()
877 input_report_key(input, BTN_5, (data[6] & 0x20)); in wacom_intuos_irq()
878 input_report_key(input, BTN_6, (data[6] & 0x40)); in wacom_intuos_irq()
879 input_report_key(input, BTN_7, (data[6] & 0x80)); in wacom_intuos_irq()
880 input_report_key(input, BTN_8, (data[8] & 0x01)); in wacom_intuos_irq()
881 input_report_key(input, BTN_9, (data[8] & 0x02)); in wacom_intuos_irq()
882 input_report_key(input, BTN_A, (data[8] & 0x04)); in wacom_intuos_irq()
883 input_report_key(input, BTN_B, (data[8] & 0x08)); in wacom_intuos_irq()
884 input_report_key(input, BTN_C, (data[8] & 0x10)); in wacom_intuos_irq()
885 input_report_key(input, BTN_X, (data[8] & 0x20)); in wacom_intuos_irq()
886 input_report_key(input, BTN_Y, (data[8] & 0x40)); in wacom_intuos_irq()
887 input_report_key(input, BTN_Z, (data[8] & 0x80)); in wacom_intuos_irq()
896 input_report_key(input, KEY_PROG1, data[4] & 0x07); in wacom_intuos_irq()
897 input_report_key(input, KEY_PROG2, data[4] & 0xE0); in wacom_intuos_irq()
898 input_report_key(input, KEY_PROG3, data[3] & 0x1C); in wacom_intuos_irq()
901 input_report_abs(input, ABS_WHEEL, (data[1] & 0x7f)); in wacom_intuos_irq()
904 input_report_abs(input, ABS_WHEEL, 0); in wacom_intuos_irq()
908 input_report_abs(input, ABS_THROTTLE, (data[2] & 0x7f)); in wacom_intuos_irq()
911 input_report_abs(input, ABS_THROTTLE, 0); in wacom_intuos_irq()
915 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
917 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
920 input_report_key(input, KEY_PROG1, data[2] & 0x01); in wacom_intuos_irq()
921 input_report_key(input, KEY_PROG2, data[2] & 0x02); in wacom_intuos_irq()
922 input_report_key(input, KEY_PROG3, data[2] & 0x04); in wacom_intuos_irq()
924 input_report_abs(input, ABS_X, be16_to_cpup((__be16 *)&data[4])); in wacom_intuos_irq()
925 input_report_abs(input, ABS_Y, be16_to_cpup((__be16 *)&data[6])); in wacom_intuos_irq()
926 input_report_abs(input, ABS_Z, be16_to_cpup((__be16 *)&data[8])); in wacom_intuos_irq()
928 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
930 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
938 input_report_key(input, BTN_1, (data[4] & 0x01)); in wacom_intuos_irq()
939 input_report_key(input, BTN_2, (data[4] & 0x02)); in wacom_intuos_irq()
940 input_report_key(input, BTN_3, (data[4] & 0x04)); in wacom_intuos_irq()
941 input_report_key(input, BTN_4, (data[4] & 0x08)); in wacom_intuos_irq()
943 input_report_key(input, BTN_5, (data[4] & 0x10)); /* Right */ in wacom_intuos_irq()
944 input_report_key(input, BTN_6, (data[4] & 0x20)); /* Up */ in wacom_intuos_irq()
945 input_report_key(input, BTN_7, (data[4] & 0x40)); /* Left */ in wacom_intuos_irq()
946 input_report_key(input, BTN_8, (data[4] & 0x80)); /* Down */ in wacom_intuos_irq()
947 input_report_key(input, BTN_0, (data[3] & 0x01)); /* Center */ in wacom_intuos_irq()
950 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
952 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
956 input_report_key(input, BTN_1, (data[1] & 0x02)); in wacom_intuos_irq()
957 input_report_key(input, BTN_2, (data[2] & 0x01)); in wacom_intuos_irq()
958 input_report_key(input, BTN_3, (data[2] & 0x02)); in wacom_intuos_irq()
959 input_report_key(input, BTN_4, (data[2] & 0x04)); in wacom_intuos_irq()
960 input_report_key(input, BTN_5, (data[2] & 0x08)); in wacom_intuos_irq()
961 input_report_key(input, BTN_6, (data[1] & 0x04)); in wacom_intuos_irq()
963 input_report_key(input, BTN_7, (data[2] & 0x10)); /* Right */ in wacom_intuos_irq()
964 input_report_key(input, BTN_8, (data[2] & 0x20)); /* Up */ in wacom_intuos_irq()
965 input_report_key(input, BTN_9, (data[2] & 0x40)); /* Left */ in wacom_intuos_irq()
966 input_report_key(input, BTN_A, (data[2] & 0x80)); /* Down */ in wacom_intuos_irq()
967 input_report_key(input, BTN_0, (data[1] & 0x01)); /* Center */ in wacom_intuos_irq()
970 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
972 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
979 input_report_key(input, BTN_0, (data[3] & 0x01)); in wacom_intuos_irq()
987 input_report_key(input, BTN_1 + i, data[4] & (1 << i)); in wacom_intuos_irq()
990 input_report_abs(input, ABS_WHEEL, (data[2] & 0x7f)); in wacom_intuos_irq()
993 input_report_abs(input, ABS_WHEEL, 0); in wacom_intuos_irq()
997 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
999 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
1003 input_report_key(input, BTN_0, (data[5] & 0x01)); in wacom_intuos_irq()
1004 input_report_key(input, BTN_1, (data[6] & 0x01)); in wacom_intuos_irq()
1005 input_report_key(input, BTN_2, (data[6] & 0x02)); in wacom_intuos_irq()
1006 input_report_key(input, BTN_3, (data[6] & 0x04)); in wacom_intuos_irq()
1007 input_report_key(input, BTN_4, (data[6] & 0x08)); in wacom_intuos_irq()
1008 input_report_key(input, BTN_5, (data[6] & 0x10)); in wacom_intuos_irq()
1009 input_report_key(input, BTN_6, (data[6] & 0x20)); in wacom_intuos_irq()
1010 input_report_key(input, BTN_7, (data[6] & 0x40)); in wacom_intuos_irq()
1011 input_report_key(input, BTN_8, (data[6] & 0x80)); in wacom_intuos_irq()
1012 input_report_key(input, BTN_9, (data[7] & 0x01)); in wacom_intuos_irq()
1013 input_report_key(input, BTN_A, (data[8] & 0x01)); in wacom_intuos_irq()
1014 input_report_key(input, BTN_B, (data[8] & 0x02)); in wacom_intuos_irq()
1015 input_report_key(input, BTN_C, (data[8] & 0x04)); in wacom_intuos_irq()
1016 input_report_key(input, BTN_X, (data[8] & 0x08)); in wacom_intuos_irq()
1017 input_report_key(input, BTN_Y, (data[8] & 0x10)); in wacom_intuos_irq()
1018 input_report_key(input, BTN_Z, (data[8] & 0x20)); in wacom_intuos_irq()
1019 input_report_key(input, BTN_BASE, (data[8] & 0x40)); in wacom_intuos_irq()
1020 input_report_key(input, BTN_BASE2, (data[8] & 0x80)); in wacom_intuos_irq()
1023 input_report_key(input, KEY_PROG1, data[9] & 0x01); in wacom_intuos_irq()
1024 input_report_key(input, KEY_PROG2, data[9] & 0x02); in wacom_intuos_irq()
1025 input_report_key(input, KEY_PROG3, data[9] & 0x04); in wacom_intuos_irq()
1028 input_report_key(input, BTN_0, (data[5] & 0x01)); in wacom_intuos_irq()
1029 input_report_key(input, BTN_1, (data[5] & 0x02)); in wacom_intuos_irq()
1030 input_report_key(input, BTN_2, (data[5] & 0x04)); in wacom_intuos_irq()
1031 input_report_key(input, BTN_3, (data[5] & 0x08)); in wacom_intuos_irq()
1032 input_report_key(input, BTN_4, (data[6] & 0x01)); in wacom_intuos_irq()
1033 input_report_key(input, BTN_5, (data[6] & 0x02)); in wacom_intuos_irq()
1034 input_report_key(input, BTN_6, (data[6] & 0x04)); in wacom_intuos_irq()
1035 input_report_key(input, BTN_7, (data[6] & 0x08)); in wacom_intuos_irq()
1036 input_report_key(input, BTN_8, (data[5] & 0x10)); in wacom_intuos_irq()
1037 input_report_key(input, BTN_9, (data[6] & 0x10)); in wacom_intuos_irq()
1039 input_report_abs(input, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]); in wacom_intuos_irq()
1040 input_report_abs(input, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]); in wacom_intuos_irq()
1045 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID); in wacom_intuos_irq()
1047 input_report_abs(input, ABS_MISC, 0); in wacom_intuos_irq()
1059 input_report_abs(input, ABS_X, (data[2] << 9) | (data[3] << 1) | ((data[9] >> 1) & 1)); in wacom_intuos_irq()
1060 input_report_abs(input, ABS_Y, (data[4] << 9) | (data[5] << 1) | (data[9] & 1)); in wacom_intuos_irq()
1061 input_report_abs(input, ABS_DISTANCE, ((data[9] >> 2) & 0x3f)); in wacom_intuos_irq()
1063 input_report_abs(input, ABS_X, be16_to_cpup((__be16 *)&data[2])); in wacom_intuos_irq()
1064 input_report_abs(input, ABS_Y, be16_to_cpup((__be16 *)&data[4])); in wacom_intuos_irq()
1065 input_report_abs(input, ABS_DISTANCE, ((data[9] >> 3) & 0x1f)); in wacom_intuos_irq()
1081 input_report_abs(input, ABS_Z, t); in wacom_intuos_irq()
1085 input_report_abs(input, ABS_RZ, (data[7] & 0x20) ? in wacom_intuos_irq()
1091 input_report_key(input, BTN_LEFT, data[8] & 0x01); in wacom_intuos_irq()
1092 input_report_key(input, BTN_MIDDLE, data[8] & 0x02); in wacom_intuos_irq()
1093 input_report_key(input, BTN_RIGHT, data[8] & 0x04); in wacom_intuos_irq()
1095 input_report_key(input, BTN_SIDE, data[8] & 0x20); in wacom_intuos_irq()
1096 input_report_key(input, BTN_EXTRA, data[8] & 0x10); in wacom_intuos_irq()
1098 input_report_abs(input, ABS_THROTTLE, (data[8] & 0x08) ? -t : t); in wacom_intuos_irq()
1103 input_report_key(input, BTN_LEFT, data[6] & 0x01); in wacom_intuos_irq()
1104 input_report_key(input, BTN_MIDDLE, data[6] & 0x02); in wacom_intuos_irq()
1105 input_report_key(input, BTN_RIGHT, data[6] & 0x04); in wacom_intuos_irq()
1106 input_report_rel(input, REL_WHEEL, ((data[7] & 0x80) >> 7) in wacom_intuos_irq()
1108 input_report_key(input, BTN_SIDE, data[6] & 0x08); in wacom_intuos_irq()
1109 input_report_key(input, BTN_EXTRA, data[6] & 0x10); in wacom_intuos_irq()
1111 input_report_abs(input, ABS_TILT_X, in wacom_intuos_irq()
1113 input_report_abs(input, ABS_TILT_Y, (data[8] & 0x7f) - 64); in wacom_intuos_irq()
1116 input_report_key(input, BTN_LEFT, data[8] & 0x04); in wacom_intuos_irq()
1117 input_report_key(input, BTN_MIDDLE, data[8] & 0x08); in wacom_intuos_irq()
1118 input_report_key(input, BTN_RIGHT, data[8] & 0x10); in wacom_intuos_irq()
1119 input_report_rel(input, REL_WHEEL, (data[8] & 0x01) in wacom_intuos_irq()
1124 input_report_key(input, BTN_SIDE, data[8] & 0x40); in wacom_intuos_irq()
1125 input_report_key(input, BTN_EXTRA, data[8] & 0x20); in wacom_intuos_irq()
1133 input_report_key(input, BTN_LEFT, data[8] & 0x01); in wacom_intuos_irq()
1134 input_report_key(input, BTN_MIDDLE, data[8] & 0x02); in wacom_intuos_irq()
1135 input_report_key(input, BTN_RIGHT, data[8] & 0x04); in wacom_intuos_irq()
1136 input_report_key(input, BTN_SIDE, data[8] & 0x10); in wacom_intuos_irq()
1137 input_report_key(input, BTN_EXTRA, data[8] & 0x08); in wacom_intuos_irq()
1141 input_report_abs(input, ABS_MISC, wacom->id[idx]); /* report tool id */ in wacom_intuos_irq()
1142 input_report_key(input, wacom->tool[idx], 1); in wacom_intuos_irq()
1143 input_event(input, EV_MSC, MSC_SERIAL, wacom->serial[idx]); in wacom_intuos_irq()
1204 struct input_dev *input = wacom->touch_input; in wacom_wac_finger_count_touches() local
1213 return test_bit(BTN_TOUCH, input->key) && in wacom_wac_finger_count_touches()
1216 for (i = 0; i < input->mt->num_slots; i++) { in wacom_wac_finger_count_touches()
1217 struct input_mt_slot *ps = &input->mt->slots[i]; in wacom_wac_finger_count_touches()
1228 struct input_dev *input = wacom->touch_input; in wacom_24hdt_irq() local
1256 int slot = input_mt_get_slot_by_key(input, data[offset + 1]); in wacom_24hdt_irq()
1260 input_mt_slot(input, slot); in wacom_24hdt_irq()
1261 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_24hdt_irq()
1267 input_report_abs(input, ABS_MT_POSITION_X, t_x); in wacom_24hdt_irq()
1268 input_report_abs(input, ABS_MT_POSITION_Y, t_y); in wacom_24hdt_irq()
1276 input_report_abs(input, ABS_MT_TOUCH_MAJOR, min(w,h)); in wacom_24hdt_irq()
1277 input_report_abs(input, ABS_MT_WIDTH_MAJOR, in wacom_24hdt_irq()
1279 input_report_abs(input, ABS_MT_WIDTH_MINOR, min(w, h)); in wacom_24hdt_irq()
1280 input_report_abs(input, ABS_MT_ORIENTATION, w > h); in wacom_24hdt_irq()
1284 input_mt_sync_frame(input); in wacom_24hdt_irq()
1296 struct input_dev *input = wacom->touch_input; in wacom_mt_touch() local
1321 int slot = input_mt_get_slot_by_key(input, id); in wacom_mt_touch()
1326 input_mt_slot(input, slot); in wacom_mt_touch()
1327 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_mt_touch()
1331 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_mt_touch()
1332 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_mt_touch()
1335 input_mt_sync_frame(input); in wacom_mt_touch()
1347 struct input_dev *input = wacom->touch_input; in wacom_tpc_mt_touch() local
1355 input_mt_slot(input, i); in wacom_tpc_mt_touch()
1356 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_tpc_mt_touch()
1361 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_tpc_mt_touch()
1362 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_tpc_mt_touch()
1365 input_mt_sync_frame(input); in wacom_tpc_mt_touch()
1376 struct input_dev *input = wacom->touch_input; in wacom_tpc_single_touch() local
1398 input_report_abs(input, ABS_X, x); in wacom_tpc_single_touch()
1399 input_report_abs(input, ABS_Y, y); in wacom_tpc_single_touch()
1401 input_report_key(input, BTN_TOUCH, prox); in wacom_tpc_single_touch()
1412 struct input_dev *input = wacom->pen_input; in wacom_tpc_pen() local
1424 input_report_key(input, BTN_STYLUS, data[1] & 0x02); in wacom_tpc_pen()
1425 input_report_key(input, BTN_STYLUS2, data[1] & 0x10); in wacom_tpc_pen()
1426 input_report_abs(input, ABS_X, le16_to_cpup((__le16 *)&data[2])); in wacom_tpc_pen()
1427 input_report_abs(input, ABS_Y, le16_to_cpup((__le16 *)&data[4])); in wacom_tpc_pen()
1428 input_report_abs(input, ABS_PRESSURE, ((data[7] & 0x07) << 8) | data[6]); in wacom_tpc_pen()
1429 input_report_key(input, BTN_TOUCH, data[1] & 0x05); in wacom_tpc_pen()
1430 input_report_key(input, wacom->tool[0], prox); in wacom_tpc_pen()
1478 static void wacom_map_usage(struct input_dev *input, struct hid_usage *usage, in wacom_map_usage() argument
1487 set_bit(type, input->evbit); in wacom_map_usage()
1491 input_set_abs_params(input, code, fmin, fmax, fuzz, 0); in wacom_map_usage()
1492 input_abs_set_res(input, code, in wacom_map_usage()
1496 input_set_capability(input, EV_KEY, code); in wacom_map_usage()
1499 input_set_capability(input, EV_MSC, code); in wacom_map_usage()
1509 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_usage_mapping() local
1513 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4); in wacom_wac_pen_usage_mapping()
1516 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4); in wacom_wac_pen_usage_mapping()
1519 wacom_map_usage(input, usage, field, EV_ABS, ABS_PRESSURE, 0); in wacom_wac_pen_usage_mapping()
1522 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOOL_PEN, 0); in wacom_wac_pen_usage_mapping()
1525 wacom_map_usage(input, usage, field, EV_KEY, in wacom_wac_pen_usage_mapping()
1530 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0); in wacom_wac_pen_usage_mapping()
1533 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS, 0); in wacom_wac_pen_usage_mapping()
1536 wacom_map_usage(input, usage, field, EV_KEY, BTN_STYLUS2, 0); in wacom_wac_pen_usage_mapping()
1539 wacom_map_usage(input, usage, field, EV_MSC, MSC_SERIAL, 0); in wacom_wac_pen_usage_mapping()
1549 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_event() local
1569 input_event(input, usage->type, usage->code, value); in wacom_wac_pen_event()
1585 struct input_dev *input = wacom_wac->pen_input; in wacom_wac_pen_report() local
1598 input_report_key(input, BTN_TOUCH, in wacom_wac_pen_report()
1600 input_report_key(input, wacom_wac->tool[0], prox); in wacom_wac_pen_report()
1604 input_sync(input); in wacom_wac_pen_report()
1614 struct input_dev *input = wacom_wac->touch_input; in wacom_wac_finger_usage_mapping() local
1621 wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 4); in wacom_wac_finger_usage_mapping()
1623 wacom_map_usage(input, usage, field, EV_ABS, in wacom_wac_finger_usage_mapping()
1629 wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 4); in wacom_wac_finger_usage_mapping()
1631 wacom_map_usage(input, usage, field, EV_ABS, in wacom_wac_finger_usage_mapping()
1637 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MAJOR, 0); in wacom_wac_finger_usage_mapping()
1638 wacom_map_usage(input, usage, field, EV_ABS, ABS_MT_TOUCH_MINOR, 0); in wacom_wac_finger_usage_mapping()
1639 input_set_abs_params(input, ABS_MT_ORIENTATION, 0, 1, 0, 0); in wacom_wac_finger_usage_mapping()
1652 wacom_map_usage(input, usage, field, EV_KEY, BTN_TOUCH, 0); in wacom_wac_finger_usage_mapping()
1663 struct input_dev *input) in wacom_wac_finger_slot() argument
1677 slot = input_mt_get_slot_by_key(input, hid_data->id); in wacom_wac_finger_slot()
1678 input_mt_slot(input, slot); in wacom_wac_finger_slot()
1679 input_mt_report_slot_state(input, MT_TOOL_FINGER, prox); in wacom_wac_finger_slot()
1682 input_report_key(input, BTN_TOUCH, prox); in wacom_wac_finger_slot()
1686 input_report_abs(input, mt ? ABS_MT_POSITION_X : ABS_X, in wacom_wac_finger_slot()
1688 input_report_abs(input, mt ? ABS_MT_POSITION_Y : ABS_Y, in wacom_wac_finger_slot()
1691 if (test_bit(ABS_MT_TOUCH_MAJOR, input->absbit)) { in wacom_wac_finger_slot()
1692 input_report_abs(input, ABS_MT_TOUCH_MAJOR, max(hid_data->width, hid_data->height)); in wacom_wac_finger_slot()
1693 input_report_abs(input, ABS_MT_TOUCH_MINOR, min(hid_data->width, hid_data->height)); in wacom_wac_finger_slot()
1695 input_report_abs(input, ABS_MT_ORIENTATION, hid_data->width <= hid_data->height ? 0 : 1); in wacom_wac_finger_slot()
1784 struct input_dev *input = wacom_wac->touch_input; in wacom_wac_finger_report() local
1795 input_mt_sync_frame(input); in wacom_wac_finger_report()
1797 input_sync(input); in wacom_wac_finger_report()
1884 struct input_dev *input = wacom->touch_input; in wacom_bpt_touch() local
1904 input_mt_slot(input, i); in wacom_bpt_touch()
1905 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_bpt_touch()
1913 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_bpt_touch()
1914 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_bpt_touch()
1918 input_mt_sync_frame(input); in wacom_bpt_touch()
1932 struct input_dev *input = wacom->touch_input; in wacom_bpt3_touch_msg() local
1934 int slot = input_mt_get_slot_by_key(input, data[0]); in wacom_bpt3_touch_msg()
1941 input_mt_slot(input, slot); in wacom_bpt3_touch_msg()
1942 input_mt_report_slot_state(input, MT_TOOL_FINGER, touch); in wacom_bpt3_touch_msg()
1959 int x_res = input_abs_get_res(input, ABS_MT_POSITION_X); in wacom_bpt3_touch_msg()
1960 int y_res = input_abs_get_res(input, ABS_MT_POSITION_Y); in wacom_bpt3_touch_msg()
1965 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_bpt3_touch_msg()
1966 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_bpt3_touch_msg()
1967 input_report_abs(input, ABS_MT_TOUCH_MAJOR, width); in wacom_bpt3_touch_msg()
1968 input_report_abs(input, ABS_MT_TOUCH_MINOR, height); in wacom_bpt3_touch_msg()
1974 struct input_dev *input = wacom->pad_input; in wacom_bpt3_button_msg() local
1978 input_report_key(input, BTN_LEFT, (data[1] & 0x02) != 0); in wacom_bpt3_button_msg()
1979 input_report_key(input, BTN_BACK, (data[1] & 0x08) != 0); in wacom_bpt3_button_msg()
1981 input_report_key(input, BTN_BACK, (data[1] & 0x02) != 0); in wacom_bpt3_button_msg()
1982 input_report_key(input, BTN_LEFT, (data[1] & 0x08) != 0); in wacom_bpt3_button_msg()
1984 input_report_key(input, BTN_FORWARD, (data[1] & 0x04) != 0); in wacom_bpt3_button_msg()
1985 input_report_key(input, BTN_RIGHT, (data[1] & 0x01) != 0); in wacom_bpt3_button_msg()
2022 struct input_dev *input = wacom->pen_input; in wacom_bpt_pen() local
2075 input_report_key(input, BTN_TOUCH, pen); in wacom_bpt_pen()
2076 input_report_key(input, BTN_STYLUS, btn1); in wacom_bpt_pen()
2077 input_report_key(input, BTN_STYLUS2, btn2); in wacom_bpt_pen()
2079 input_report_abs(input, ABS_X, x); in wacom_bpt_pen()
2080 input_report_abs(input, ABS_Y, y); in wacom_bpt_pen()
2081 input_report_abs(input, ABS_PRESSURE, p); in wacom_bpt_pen()
2082 input_report_abs(input, ABS_DISTANCE, d); in wacom_bpt_pen()
2084 input_report_key(input, wacom->tool[0], prox); /* PEN or RUBBER */ in wacom_bpt_pen()
2085 input_report_abs(input, ABS_MISC, wacom->id[0]); /* TOOL ID */ in wacom_bpt_pen()
2136 struct input_dev *input = wacom->touch_input; in wacom_bamboo_pad_touch_event() local
2148 input_mt_slot(input, id); in wacom_bamboo_pad_touch_event()
2149 input_mt_report_slot_state(input, MT_TOOL_FINGER, valid); in wacom_bamboo_pad_touch_event()
2158 input_report_abs(input, ABS_MT_POSITION_X, x); in wacom_bamboo_pad_touch_event()
2159 input_report_abs(input, ABS_MT_POSITION_Y, y); in wacom_bamboo_pad_touch_event()
2162 input_mt_sync_frame(input); in wacom_bamboo_pad_touch_event()
2164 input_report_key(input, BTN_LEFT, prefix & 0x40); in wacom_bamboo_pad_touch_event()
2165 input_report_key(input, BTN_RIGHT, prefix & 0x80); in wacom_bamboo_pad_touch_event()