Lines Matching +full:packet +full:- +full:based
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* ----------------------------------------------------------------------------
3 * touchkit_ps2.c -- Driver for eGalax TouchKit PS/2 Touchscreens
9 * Based upon touchkitusb.c
36 #define TOUCHKIT_GET_TOUCHED(packet) (((packet)[0]) & 0x01) argument
37 #define TOUCHKIT_GET_X(packet) (((packet)[1] << 7) | (packet)[2]) argument
38 #define TOUCHKIT_GET_Y(packet) (((packet)[3] << 7) | (packet)[4]) argument
42 unsigned char *packet = psmouse->packet; in touchkit_ps2_process_byte() local
43 struct input_dev *dev = psmouse->dev; in touchkit_ps2_process_byte()
45 if (psmouse->pktcnt != 5) in touchkit_ps2_process_byte()
48 input_report_abs(dev, ABS_X, TOUCHKIT_GET_X(packet)); in touchkit_ps2_process_byte()
49 input_report_abs(dev, ABS_Y, TOUCHKIT_GET_Y(packet)); in touchkit_ps2_process_byte()
50 input_report_key(dev, BTN_TOUCH, TOUCHKIT_GET_TOUCHED(packet)); in touchkit_ps2_process_byte()
58 struct input_dev *dev = psmouse->dev; in touchkit_ps2_detect()
66 if (ps2_command(&psmouse->ps2dev, param, command)) in touchkit_ps2_detect()
67 return -ENODEV; in touchkit_ps2_detect()
71 return -ENODEV; in touchkit_ps2_detect()
74 dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); in touchkit_ps2_detect()
75 dev->keybit[BIT_WORD(BTN_MOUSE)] = 0; in touchkit_ps2_detect()
76 dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); in touchkit_ps2_detect()
80 psmouse->vendor = "eGalax"; in touchkit_ps2_detect()
81 psmouse->name = "Touchscreen"; in touchkit_ps2_detect()
82 psmouse->protocol_handler = touchkit_ps2_process_byte; in touchkit_ps2_detect()
83 psmouse->pktsize = 5; in touchkit_ps2_detect()