/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 | 21 /* touch register */ 33 /* bit definitions of touch */ 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() [all …]
|
H A D | mms114.c | 50 /* Touch type */ 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() [all …]
|
H A D | wacom_w8001.c | 37 /* set in first byte of touch data packets */ 71 /* touch query reply packet */ 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() 175 /* emulate single touch events when stylus is out of proximity. in parse_multi_touch() 176 * This is to make single touch backward support consistent in parse_multi_touch() 177 * across all Wacom single touch devices. in parse_multi_touch() 204 /* Early days' single-finger touch models need the following defaults */ in parse_touchquery() 340 /* 2 finger touch packet */ in w8001_interrupt() [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 | mainstone-wm97xx.c | 3 * mainstone-wm97xx.c -- Mainstone Continuous Touch screen driver for 12 * This is a wm97xx extended touch driver to capture touch 90 * AC97 touch data slot. 92 * Touch screen readback data ac97 slot 96 MODULE_PARM_DESC(ac97_touch_slot, "Touch screen data slot AC97 number"); 191 gpiod_irq = gpiod_get(wm->dev, "touch", GPIOD_IN); in wm97xx_acc_startup() 266 .name = "wm97xx-touch", 273 MODULE_DESCRIPTION("wm97xx continuous touch driver for mainstone");
|
/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 | 53 /* Time in jiffies used to timeout various touch events (64 ms) */ 113 * Touch sensitivity 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() 265 * Move cursor back to center of pad when we lose touch - this 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() [all …]
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | dev-touch.rst | 6 Touch Devices 9 Touch devices are accessed through character device special files named 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 [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 176 The TOUCH and WIDTH parameters have a geometrical interpretation; imagine 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, [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/devicetree/bindings/input/touchscreen/ |
H A D | bu21013.txt | 1 * Rohm BU21013 Touch Screen 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 | fsl,imx6ul-tsc.yaml | 7 title: Freescale i.MX6UL Touch Controller 20 - description: touch controller address 25 - description: touch controller address 40 low once the finger leave the touch screen (The last touch event 41 the touch controller capture). 55 The touch screen need some time to precharge.
|
H A D | resistive-adc-touch.yaml | 4 $id: http://devicetree.org/schemas/input/touchscreen/resistive-adc-touch.yaml# 22 const: resistive-adc-touch 68 compatible = "resistive-adc-touch"; 74 compatible = "resistive-adc-touch"; 81 compatible = "resistive-adc-touch";
|
/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/tools/testing/selftests/hid/tests/ |
H A D | test_sony.py | 138 """send a single touch in the first slot of the device, 141 evdev = uhdev.get_evdev("Touch Pad") 144 r = uhdev.event(touch=[t0]) 145 events = uhdev.next_sync_events("Touch Pad") 154 r = uhdev.event(touch=[t0]) 155 events = uhdev.next_sync_events("Touch Pad") 162 Make sure the kernel sees this as a dual touch. 167 evdev = uhdev.get_evdev("Touch Pad") 172 r = uhdev.event(touch=[t0]) 173 events = uhdev.next_sync_events("Touch Pad") [all …]
|
/linux/drivers/hid/ |
H A D | hid-udraw-ps3.c | 26 * - the touch area which works as a touchpad 77 * the device could report a single touch when the two fingers 81 * We'll make do without it, and try to report the first touch 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() [all …]
|
/linux/Documentation/devicetree/bindings/input/ |
H A D | iqs62x-keys.yaml | 39 Specifies the numeric keycodes associated with each available touch or 46 | 0 | CH0 Touch | x | x | x | x | x | 47 | | Antenna 1 Touch* | x | | | | | 52 | 2 | CH1 Touch | x | x | x | x | x | 53 | | Ant. 1 Deep Touch* | x | | | | | 57 | 4 | CH2 Touch | x | | | | | 62 | 6 | Metal (+) Touch** | x | x | | | | 63 | | Ant. 2 Deep Touch* | x | | | | | 66 | | Antenna 2 Touch* | x | | | | | 68 | 8 | Metal (-) Touch** | x | x | | | | [all …]
|
H A D | iqs269a.yaml | 7 title: Azoteq IQS269A Capacitive Touch Controller 16 The Azoteq IQS269A is an 8-channel capacitive touch controller that features 164 Selects the channel for which the GPIO3 pin represents touch state. 198 2: Proximity or touch 199 3: Proximity, touch or deep touch 213 azoteq,touch-hold-ms: 220 'azoteq,gpio3-select' must be held in a state of touch in order for an 250 Specifies the length of time (in ms) within which a slider touch must be 355 Inverts the polarity of the states reported for proximity, touch and 356 deep-touch events relative to their respective thresholds. [all …]
|
H A D | microchip,cap11xx.yaml | 7 title: Microchip CAP11xx based capacitive touch sensors 11 touch controllers and LED drivers. The device communication via I2C only. 78 Controls the sensitivity multiplier of a touch detection. 81 capacitance corresponding to a "lighter" touch. 104 Specifies the delta threshold that is used to determine if a touch has 106 is required for a touch to be registered, making the touch sensor less 120 Gain is based on touch pad capacitance range 190 touch@28 {
|
H A D | iqs626a.yaml | 7 title: Azoteq IQS626A Capacitive Touch Controller 13 The Azoteq IQS626A is a 14-channel capacitive touch controller that features 88 represents touch state as follows: 107 2: Proximity or touch 108 3: Proximity, touch or deep touch 112 description: Multiplies all touch and deep-touch thresholds by 4. 209 touch states (ULP channel). 407 Inverts the polarity of the states reported for proximity, touch and 408 deep-touch events relative to their respective thresholds (generic 450 "^event-(prox|touch|deep)(-alt)?$": [all …]
|
/linux/include/linux/mfd/ |
H A D | mxs-lradc.h | 117 * and/or touch-buttons and generic LRADC block. Therefore when using 121 * CH0 -- Touch button #0 122 * CH1 -- Touch button #1 123 * CH2 -- Touch screen XPUL 124 * CH3 -- Touch screen YPLL 125 * CH4 -- Touch screen XNUL 126 * CH5 -- Touch screen YNLR 127 * CH6 -- Touch screen WIPER (5-wire only)
|
/linux/include/xen/interface/io/ |
H A D | kbdif.h | 55 * feature-multi-touch 58 * Backends, which support reporting of multi-touch events 91 *----------------------- Multi-touch Device Parameters ---------------------- 93 * multi-touch-num-contacts 98 * multi-touch-width 101 * Width of the touch area to be used by the frontend 104 * multi-touch-height 107 * Height of the touch area to be used by the frontend 126 * request-multi-touch 129 * Request backend to report multi-touch events. [all …]
|
/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/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 …]
|