/linux/drivers/input/touchscreen/ |
H A D | da9034-ts.c | 66 static inline int is_pen_down(struct da9034_touch *touch) in is_pen_down() argument 68 return da903x_query_status(touch->da9034_dev, DA9034_STATUS_PEN_DOWN); in is_pen_down() 71 static inline int detect_pen_down(struct da9034_touch *touch, int on) in detect_pen_down() argument 74 return da903x_set_bits(touch->da9034_dev, in detect_pen_down() 77 return da903x_clr_bits(touch->da9034_dev, in detect_pen_down() 81 static int read_tsi(struct da9034_touch *touch) in read_tsi() argument 86 ret = da903x_read(touch->da9034_dev, DA9034_TSI_X_MSB, &_x); in read_tsi() 90 ret = da903x_read(touch->da9034_dev, DA9034_TSI_Y_MSB, &_y); in read_tsi() 94 ret = da903x_read(touch->da9034_dev, DA9034_TSI_XY_LSB, &_v); in read_tsi() 98 touch->last_x = ((_x << 2) & 0x3fc) | (_v & 0x3); in read_tsi() [all …]
|
H A D | 88pm860x-ts.c | 50 struct pm860x_touch *touch = data; in pm860x_touch_handler() local 51 struct pm860x_chip *chip = touch->chip; in pm860x_touch_handler() 57 ret = pm860x_bulk_read(touch->i2c, MEAS_TSIX_1, MEAS_LEN, buf); in pm860x_touch_handler() 68 if ((x != 0) && (z1 != 0) && (touch->res_x != 0)) { in pm860x_touch_handler() 70 rt = (rt * touch->res_x * x) >> ACCURATE_BIT; in pm860x_touch_handler() 74 input_report_abs(touch->idev, ABS_X, x); in pm860x_touch_handler() 75 input_report_abs(touch->idev, ABS_Y, y); in pm860x_touch_handler() 76 input_report_abs(touch->idev, ABS_PRESSURE, rt); in pm860x_touch_handler() 77 input_report_key(touch->idev, BTN_TOUCH, 1); in pm860x_touch_handler() 80 input_report_abs(touch->idev, ABS_PRESSURE, 0); in pm860x_touch_handler() [all …]
|
H A D | mms114.c | 160 static void mms114_process_mt(struct mms114_data *data, struct mms114_touch *touch) in mms114_process_mt() argument 168 if (touch->id > MMS114_MAX_TOUCH) { in mms114_process_mt() 169 dev_err(&client->dev, "Wrong touch id (%d)\n", touch->id); in mms114_process_mt() 173 id = touch->id - 1; in mms114_process_mt() 174 x = touch->x_lo | touch->x_hi << 8; in mms114_process_mt() 175 y = touch->y_lo | touch->y_hi << 8; in mms114_process_mt() 179 id, touch->type, touch->pressed, in mms114_process_mt() 180 x, y, touch->width, touch->strength); in mms114_process_mt() 183 input_mt_report_slot_state(input_dev, MT_TOOL_FINGER, touch->pressed); in mms114_process_mt() 185 if (touch->pressed) { in mms114_process_mt() [all …]
|
H A D | wacom_w8001.c | 157 bool touch = data[0] & (1 << i); in parse_multi_touch() local 160 input_mt_report_slot_state(dev, MT_TOOL_FINGER, touch); in parse_multi_touch() 161 if (touch) { in parse_multi_touch() 465 struct w8001_touch_query touch; in w8001_setup_touch() local 485 parse_touchquery(w8001->response, &touch); in w8001_setup_touch() 486 w8001->max_touch_x = touch.x; in w8001_setup_touch() 487 w8001->max_touch_y = touch.y; in w8001_setup_touch() 491 touch.x = w8001->max_pen_x; in w8001_setup_touch() 492 touch.y = w8001->max_pen_y; in w8001_setup_touch() 493 touch.panel_res = W8001_PEN_RESOLUTION; in w8001_setup_touch() [all …]
|
H A D | novatek-nvt-ts.c | 95 u8 *touch; in nvt_ts_irq() local 103 touch = &data->buf[i * NVT_TS_TOUCH_SIZE]; in nvt_ts_irq() 105 if (touch[0] == NVT_TS_TOUCH_INVALID) in nvt_ts_irq() 108 slot = touch[0] >> NVT_TS_TOUCH_SLOT_SHIFT; in nvt_ts_irq() 114 switch (touch[0] & NVT_TS_TOUCH_TYPE_MASK) { in nvt_ts_irq() 123 dev_warn(dev, "slot %d unknown state %d\n", slot, touch[0] & 7); in nvt_ts_irq() 128 x = (touch[1] << 4) | (touch[3] >> 4); in nvt_ts_irq() 129 y = (touch[2] << 4) | (touch[3] & 0x0f); in nvt_ts_irq()
|
H A D | chipone_icn8318.c | 112 struct icn8318_touch *touch = &touch_data.touches[i]; in icn8318_irq() local 113 bool act = icn8318_touch_active(touch->event); in icn8318_irq() 115 input_mt_slot(data->input, touch->slot); in icn8318_irq() 121 be16_to_cpu(touch->x), in icn8318_irq() 122 be16_to_cpu(touch->y), true); in icn8318_irq()
|
H A D | mc13783_ts.c | 38 struct mc13xxx_ts_platform_data *touch; member 128 priv->touch->ato, priv->touch->atox, in mc13783_ts_work() 183 priv->touch = dev_get_platdata(&pdev->dev); in mc13783_ts_probe() 184 if (!priv->touch) { in mc13783_ts_probe()
|
H A D | ili210x.c | 51 bool (*continue_polling)(const u8 *data, bool touch); 121 static bool ili210x_check_continue_polling(const u8 *data, bool touch) in ili210x_check_continue_polling() argument 182 static bool ili211x_decline_polling(const u8 *data, bool touch) in ili211x_decline_polling() argument 213 static bool ili212x_check_continue_polling(const u8 *data, bool touch) in ili212x_check_continue_polling() argument 215 return touch; in ili212x_check_continue_polling() 289 static bool ili251x_check_continue_polling(const u8 *data, bool touch) in ili251x_check_continue_polling() argument 291 return touch; in ili251x_check_continue_polling() 309 bool contact = false, touch; in ili210x_report_events() local 313 touch = priv->chip->parse_touch_data(touchdata, i, &x, &y, &z); in ili210x_report_events() 316 if (input_mt_report_slot_state(input, MT_TOOL_FINGER, touch)) { in ili210x_report_events() [all …]
|
/linux/drivers/input/mouse/ |
H A D | synaptics_i2c.c | 230 static inline void set_scan_rate(struct synaptics_i2c *touch, int scan_rate) in set_scan_rate() argument 232 touch->scan_ms = MSEC_PER_SEC / scan_rate; in set_scan_rate() 233 touch->scan_rate_param = scan_rate; in set_scan_rate() 335 static bool synaptics_i2c_get_input(struct synaptics_i2c *touch) in synaptics_i2c_get_input() argument 337 struct input_dev *input = touch->input; in synaptics_i2c_get_input() 343 if (synaptics_i2c_check_error(touch->client)) in synaptics_i2c_get_input() 347 data = synaptics_i2c_reg_get(touch->client, DATA_REG0); in synaptics_i2c_get_input() 354 xy_delta = synaptics_i2c_word_get(touch->client, REL_X_REG) & 0xffff; in synaptics_i2c_get_input() 373 struct synaptics_i2c *touch = dev_id; in synaptics_i2c_irq() local 375 mod_delayed_work(system_wq, &touch->dwork, 0); in synaptics_i2c_irq() [all …]
|
H A D | byd.c | 233 bool touch; member 241 input_report_key(dev, BTN_TOUCH, priv->touch); in byd_report_input() 242 input_report_key(dev, BTN_TOOL_FINGER, priv->touch); in byd_report_input() 258 priv->touch = false; in byd_clear_touch() 291 if (!priv->touch) { in byd_process_byte() 295 priv->touch = time_after(jiffies, tap_time); in byd_process_byte() 314 priv->touch = true; in byd_process_byte() 331 if (priv->touch) { in byd_process_byte()
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | dev-touch.rst | 16 Sensors may be Optical, or Projected Capacitive touch (PCT). 21 analogue front end device which delivers touch data at high rate, and any touch 24 For capacitive touch sensing, the touchscreen is composed of an array of 30 A touch input may be determined by comparing the raw capacitance measurement to 31 a no-touch reference (or "baseline") measurement: 36 the touch sensor matrix, for example manufacturing irregularities, 42 Devices supporting the touch interface set the ``V4L2_CAP_VIDEO_CAPTURE`` flag 50 The formats supported by touch devices are documented in 56 A touch device may support any I/O method.
|
/linux/Documentation/devicetree/bindings/input/touchscreen/ |
H A D | bu21013.txt | 11 - touch-gpios : GPIO pin registering a touch event 23 - rohm,touch-max-x : Maximum outward permitted limit in the X axis 24 - rohm,touch-max-y : Maximum outward permitted limit in the Y axis 25 - rohm,flip-x : Flip touch coordinates on the X axis 26 - rohm,flip-y : Flip touch coordinates on the Y axis 36 touch-gpio = <&gpio2 20 GPIO_ACTIVE_LOW>;
|
H A D | max11801-ts.txt | 1 * MAXI MAX11801 Resistive touch screen controller with i2c interface 6 - interrupts: touch controller interrupt
|
/linux/drivers/hid/ |
H A D | hid-udraw-ps3.c | 105 int touch; in udraw_raw_event() local 112 touch = TOUCH_NONE; in udraw_raw_event() 114 touch = TOUCH_PEN; in udraw_raw_event() 116 touch = TOUCH_FINGER; in udraw_raw_event() 118 touch = TOUCH_TWOFINGER; in udraw_raw_event() 171 if (touch != TOUCH_NONE) { in udraw_raw_event() 178 if (touch == TOUCH_FINGER) { in udraw_raw_event() 184 } else if (touch == TOUCH_TWOFINGER) { in udraw_raw_event() 213 if (touch == TOUCH_FINGER || touch == TOUCH_TWOFINGER) { in udraw_raw_event() 216 touch == TOUCH_FINGER); in udraw_raw_event() [all …]
|
/linux/tools/testing/scatterlist/ |
H A D | Makefile | 28 @touch asm/io.h 29 @touch linux/highmem.h 30 @touch linux/kmemleak.h 31 @touch linux/slab.h
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-driver-hid-ntrig | 7 start of activity (activating touch). 16 acknowledging the end of activity (deactivating touch). 34 start processing touch events. 37 start processing touch events. 49 min_width (RW) Minimum touch contact width to decide 52 min_height (RW) Minimum touch contact height to decide
|
/linux/tools/testing/selftests/ia64/ |
H A D | aliasing-test.c | 24 static int map_mem(char *path, off_t offset, size_t length, int touch) in map_mem() argument 46 if (touch) { in map_mem() 62 static int scan_tree(char *path, char *file, off_t offset, size_t length, int touch) in scan_tree() argument 89 rc = map_mem(path2, offset, length, touch); in scan_tree() 91 …fprintf(stderr, "PASS: %s 0x%lx-0x%lx is %s\n", path2, offset, offset + length, touch ? "readable"… in scan_tree() 101 rc = scan_tree(path2, file, offset, length, touch); in scan_tree()
|
/linux/arch/arm/boot/dts/st/ |
H A D | ste-href-stuib.dtsi | 109 rohm,touch-max-x = <384>; 110 rohm,touch-max-y = <704>; 121 rohm,touch-max-x = <384>; 122 rohm,touch-max-y = <704>; 177 touch { 180 * ROHM touch screen uses GPIO 143 for
|
/linux/tools/testing/selftests/powerpc/benchmarks/ |
H A D | context_switch.c | 55 static void touch(void) in touch() function 189 touch(); in pipe_thread1() 192 touch(); in pipe_thread1() 204 touch(); in pipe_thread2() 207 touch(); in pipe_thread2() 234 touch(); in yield_thread1() 246 touch(); in yield_thread2()
|
/linux/tools/perf/tests/shell/ |
H A D | test_arm_coresight.sh | 41 -- taskset -c $2 touch $file > /dev/null 2>&1 48 # touch 6512 1 branches:u: ffffb220824c strcmp+0xc (/lib/aarch64-linux-gnu/ld-2.27.so) 49 # touch 6512 1 branches:u: ffffb22082e0 strcmp+0xa0 (/lib/aarch64-linux-gnu/ld-2.27.so) 50 # touch 6512 1 branches:u: ffffb2208320 strcmp+0xe0 (/lib/aarch64-linux-gnu/ld-2.27.so) 59 # 73.04% 73.04% touch libc-2.27.so [.] _dl_addr 60 # 7.71% 7.71% touch libc-2.27.so [.] getenv 61 # 2.59% 2.59% touch ld-2.27.so [.] strcmp 70 # 68.12% touch libc-2.27.so [.] _dl_addr 71 # 5.80% touch libc-2.27.so [.] getenv 72 # 4.35% touch l [all...] |
/linux/drivers/media/rc/ |
H A D | imon.c | 129 struct input_dev *touch; /* input device for touchscreen */ member 1099 input_report_abs(ictx->touch, ABS_X, ictx->touch_x); in imon_touch_display_timeout() 1100 input_report_abs(ictx->touch, ABS_Y, ictx->touch_y); in imon_touch_display_timeout() 1101 input_report_key(ictx->touch, BTN_TOUCH, 0x00); in imon_touch_display_timeout() 1102 input_sync(ictx->touch); in imon_touch_display_timeout() 1381 input_report_abs(ictx->touch, ABS_X, ictx->touch_x); in imon_touch_event() 1382 input_report_abs(ictx->touch, ABS_Y, ictx->touch_y); in imon_touch_event() 1383 input_report_key(ictx->touch, BTN_TOUCH, 0x01); in imon_touch_event() 1384 input_sync(ictx->touch); in imon_touch_event() 1630 if (ictx->touch && len == 8 && buf[7] == 0x86) { in imon_incoming_packet() [all …]
|
/linux/Documentation/input/ |
H A D | multi-touch-protocol.rst | 4 Multi-touch (MT) Protocol 13 In order to utilize the full power of the new multi-touch and multi-user 16 document describes the multi-touch (MT) protocol which allows kernel 34 packet. Since these events are ignored by current single-touch (ST) 48 All drivers mark the end of a multi-touch transfer by calling the usual 95 Here is what a minimal event sequence for a two-contact touch would look 131 Here is what a minimal event sequence for a two-contact touch would look 182 ABS_MT_TOOL_X/Y. The touch diameter is ABS_MT_TOUCH_MAJOR and the finger 184 harder against the glass. The touch region will increase, and in general, 213 In addition to the MAJOR parameters, the oval shape of the touch and finger [all …]
|
H A D | event-codes.rst | 52 coordinates of a touch on a touchscreen. 110 - Used to synchronize and separate touch events. See the 111 multi-touch-protocol.txt document for more information. 148 BTN_TOUCH is used for touch contact. While an input tool is determined to be 152 touchpad may set the value to 1 only when the touch pressure rises above a 160 Note: Historically a touch device with BTN_TOOL_FINGER and BTN_TOUCH was 182 be used to emit these codes. Please see multi-touch-protocol.txt for details. 222 may emit coordinates for a touch location. 247 multi-touch-protocol.txt for details. 251 - For touch devices, many devices converted contact size into pressure. [all …]
|
/linux/Documentation/input/devices/ |
H A D | elantech.rst | 26 5.2.2 One/Three finger touch 27 5.2.3 Two finger touch 31 6.2.1 One/Three finger touch 32 6.2.2 Two finger touch 54 and width of the touch. Hardware version 3 uses 6 bytes per packet (and 285 w = 1 when wide finger touch? 331 tw = 1 when two finger touch 332 th = 1 when three finger touch 333 f = 1 when finger touch 425 One/Three finger touch [all …]
|
/linux/tools/testing/selftests/hid/tests/ |
H A D | test_sony.py | 144 r = uhdev.event(touch=[t0]) 154 r = uhdev.event(touch=[t0]) 172 r = uhdev.event(touch=[t0]) 183 r = uhdev.event(touch=[t0, t1]) 202 r = uhdev.event(touch=[t0, t1]) 211 r = uhdev.event(touch=[t1])
|