/linux/tools/testing/selftests/hid/tests/ |
H A D | test_tablet.py | 29 PEN = libevdev.EV_KEY.BTN_TOOL_PEN variable in ToolType 42 """Pen states according to Microsoft reference: 43 https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states 49 PEN_IS_IN_RANGE = BtnTouch.UP, ToolType.PEN, False 50 PEN_IS_IN_RANGE_WITH_BUTTON = BtnTouch.UP, ToolType.PEN, True 51 PEN_IS_IN_CONTACT = BtnTouch.DOWN, ToolType.PEN, False 52 PEN_IS_IN_CONTACT_WITH_BUTTON = BtnTouch.DOWN, ToolType.PEN, True 272 """This is the first half of the Windows Pen Implementation state machine: 274 … https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-pen-states 298 """This is the second half of the Windows Pen Implementation state machine: [all …]
|
/linux/drivers/hid/ |
H A D | hid-uclogic-params.c | 25 * uclogic_params_pen_inrange_to_str() - Convert a pen in-range reporting type 49 * uclogic_params_pen_hid_dbg() - Dump tablet interface pen parameters 50 * @hdev: The HID device the pen parameters describe. 51 * @pen: The pen parameters to dump. 53 * Dump tablet interface pen parameters with hid_dbg(). The dump is indented 57 const struct uclogic_params_pen *pen) in uclogic_params_pen_hid_dbg() argument 62 (pen->usage_invalid ? "true" : "false")); in uclogic_params_pen_hid_dbg() 63 hid_dbg(hdev, "\t.desc_ptr = %p\n", pen->desc_ptr); in uclogic_params_pen_hid_dbg() 64 hid_dbg(hdev, "\t.desc_size = %u\n", pen->desc_size); in uclogic_params_pen_hid_dbg() 65 hid_dbg(hdev, "\t.id = %u\n", pen->id); in uclogic_params_pen_hid_dbg() [all …]
|
H A D | hid-uclogic-core.c | 26 * uclogic_inrange_timeout - handle pen in-range state timeout. 27 * Emulate input events normally generated when pen goes out of range for 75 /* Discard invalid pen usages */ in uclogic_input_mapping() 76 if (params->pen.usage_invalid && (field->application == HID_DG_PEN)) in uclogic_input_mapping() 98 * If this is the input corresponding to the pen report in uclogic_input_configured() 101 if (hi->report->id == params->pen.id) { in uclogic_input_configured() 136 suffix = "Pen"; in uclogic_input_configured() 166 * than the pen, so use QUIRK_MULTI_INPUT for all tablets. in uclogic_probe() 274 * uclogic_raw_event_pen - handle raw pen events (pen HID reports). 286 struct uclogic_params_pen *pen = &drvdata->params.pen; in uclogic_raw_event_pen() local [all …]
|
H A D | hid-uclogic-params.h | 26 /* Types of pen in-range reporting */ 47 * Pen report's subreport data. 51 * The value of the second byte of the pen report indicating this 58 * The ID to be assigned to the report, if the second byte of the pen 65 * Tablet interface's pen input parameters. 74 * True if pen usage is invalid for this interface and should be 79 * Pointer to report descriptor part describing the pen inputs. 101 * True if the pen reports tilt in bytes at offset 10 (X) and 11 (Y), 222 * Pen parameters and optional report descriptor part. 225 struct uclogic_params_pen pen; member [all …]
|
H A D | hid-uclogic-rdesc.h | 104 /* Report descriptor pen template placeholder */ 112 /* Report ID for v1 pen reports */ 115 /* Fixed report descriptor template for (tweaked) v1 pen reports */ 119 /* Report ID for v2 pen reports */ 122 /* Fixed report descriptor template for (tweaked) v2 pen reports */ 172 /* Fixed report descriptor template for UGEE v2 pen reports */ 196 /* Fixed report descriptor for XP-Pen Deco 01 frame controls */
|
/linux/include/linux/ |
H A D | wm97xx.h | 67 #define WM97XX_RPR 0x2000 /* wake up on pen down */ 68 #define WM97XX_PEN_DOWN 0x8000 /* pen is down */ 72 #define WM9712_PDEN 0x0800 /* measure only when pen down */ 78 #define WM9712_RPU(i) (i&0x3f) /* internal pull up on pen detect (64k / rpu) */ 86 #define WM9705_PDEN 0x1000 /* measure only when pen is down */ 87 #define WM9705_PINV 0x0800 /* inverts sense of pen down output */ 96 #define WM9705_PDD(i) (i & 0x000f) /* pen detect comparator threshold */ 100 #define WM9713_PDPOL 0x0400 /* Pen down polarity */ 108 #define WM9713_PDEN 0x0800 /* measure only when pen down */ 152 /* The pen is up (the first RC_VALID without RC_PENUP means pen is down) */ [all …]
|
/linux/arch/arm/mach-versatile/ |
H A D | headsmp.S | 12 * This provides a "holding pen" into which all secondary cores are held 23 pen: ldr r7, [r6] label 25 bne pen 28 * we've been released from the holding pen: secondary_stack
|
H A D | platsmp.c | 25 * pen in headsmp.S, which exists because we are not always able to 55 * pen, then head off into the C entry point in versatile_secondary_init() 78 * CPUs in the holding pen until we're ready for them. However, in versatile_boot_secondary()
|
/linux/arch/arm/mach-exynos/ |
H A D | headsmp.S | 15 * a "holding pen" into which all secondary cores are held until we're 26 pen: ldr r7, [r6] label 28 bne pen 31 * we've been released from the holding pen: secondary_stack
|
/linux/arch/arm/mach-spear/ |
H A D | headsmp.S | 17 * a "holding pen" into which all secondary cores are held until we're 27 pen: ldr r7, [r6] label 29 bne pen 36 * we've been released from the holding pen: secondary_stack
|
/linux/Documentation/devicetree/bindings/input/touchscreen/ |
H A D | fsl-mx25-tcq.txt | 14 - fsl,pen-debounce-ns: Pen debounce time in nanoseconds. 15 - fsl,pen-threshold: Pen-down threshold for the touchscreen. This is a value
|
H A D | ti,am3359-tsc.yaml | 49 cycles. Charge delay value should be large in order to avoid false pen-up 51 kept as low as possible, while avoiding false pen-up event. Start from a 52 lower value, say 0x400, and increase value until false pen-up events are 53 avoided. The pen-up detection happens immediately after the charge step,
|
/linux/arch/mips/cavium-octeon/ |
H A D | octeon-irq.c | 307 unsigned long *pen; in octeon_irq_ciu_enable() local 316 pen = &per_cpu(octeon_irq_ciu0_en_mirror, cpu); in octeon_irq_ciu_enable() 317 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable() 323 cvmx_write_csr(CVMX_CIU_INTX_EN0(coreid * 2), *pen); in octeon_irq_ciu_enable() 325 pen = &per_cpu(octeon_irq_ciu1_en_mirror, cpu); in octeon_irq_ciu_enable() 326 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable() 332 cvmx_write_csr(CVMX_CIU_INTX_EN1(coreid * 2 + 1), *pen); in octeon_irq_ciu_enable() 339 unsigned long *pen; in octeon_irq_ciu_enable_local() local 348 pen = this_cpu_ptr(&octeon_irq_ciu0_en_mirror); in octeon_irq_ciu_enable_local() 349 __set_bit(cd->bit, pen); in octeon_irq_ciu_enable_local() [all …]
|
/linux/drivers/input/touchscreen/ |
H A D | surface3_spi.c | 122 struct surface3_ts_data_pen *pen) in surface3_spi_report_pen() argument 125 int st = pen->status; in surface3_spi_report_pen() 148 get_unaligned_le16(&pen->x)); in surface3_spi_report_pen() 151 get_unaligned_le16(&pen->y)); in surface3_spi_report_pen() 154 get_unaligned_le16(&pen->pressure)); in surface3_spi_report_pen() 160 struct surface3_ts_data_pen *pen; in surface3_spi_process_pen() local 162 pen = (struct surface3_ts_data_pen *)&data[15]; in surface3_spi_process_pen() 164 surface3_spi_report_pen(ts_data, pen); in surface3_spi_process_pen() 303 input->name = "Surface3 SPI Pen Input"; in surface3_spi_create_pen_input()
|
H A D | da9052_tsi.c | 109 /* Pen is still DOWN (or read error) */ in da9052_ts_pen_work() 114 /* Pen UP */ in da9052_ts_pen_work() 117 /* Report Pen UP */ in da9052_ts_pen_work() 124 * pen down and pen up events occurs in da9052_ts_pen_work() 194 /* Enable Pen Detect Circuit */ in da9052_ts_input_open() 220 /* Disable Pen Detect Circuit */ in da9052_ts_input_close() 265 /* Disable Pen Detect Circuit */ in da9052_ts_probe()
|
H A D | wm97xx-core.c | 22 * - pen down detection 272 * If a value other than 0 is set then WM97xx pen detection will be 329 * pen down operation then we need to schedule polls while the in wm97xx_pen_interrupt() 330 * pen is down. Otherwise the machine driver is responsible in wm97xx_pen_interrupt() 335 /* Data is not available immediately on pen down */ in wm97xx_pen_interrupt() 339 /* Let ts_reader report the pen up for debounce. */ in wm97xx_pen_interrupt() 351 * initialise pen IRQ handler and workqueue 359 "wm97xx-pen", wm)) { in wm97xx_init_pen_irq() 361 "Failed to register pen down interrupt, polling"); in wm97xx_init_pen_irq() 394 dev_dbg(wm->dev, "pen up\n"); in wm97xx_read_samples() [all …]
|
H A D | wm831x-ts.c | 109 * We get a pen down reading on every reading, report pen up if any in wm831x_ts_data_irq() 123 /* Switch from data to pen down */ in wm831x_ts_data_irq() 179 /* Switch from pen down to data */ in wm831x_ts_pen_down_irq() 221 /* If we ended up with the pen down then make sure we revert back in wm831x_ts_input_close() 222 * to pen detection state for the next time we start up. in wm831x_ts_input_close() 336 "Touchscreen pen down", wm831x_ts); in wm831x_ts_probe() 338 dev_err(&pdev->dev, "Failed to request pen down IRQ %d: %d\n", in wm831x_ts_probe()
|
H A D | mainstone-wm97xx.c | 64 * Pen sampling frequency (Hz) in continuous mode. 71 * Pen down detection. 73 * This driver can either poll or use an interrupt to indicate a pen down 78 MODULE_PARM_DESC(pen_int, "Pen down detection (1 = interrupt, 0 = polling)"); 83 * Set to 1 to read back pen down pressure 220 "pen down irq not supported on this device\n"); in wm97xx_acc_startup()
|
H A D | tsc2007_core.c | 92 * NOTE: We can't rely on the pressure to determine the pen down in tsc2007_is_pen_down() 95 * lifting the pen and in some cases may not even settle at the in tsc2007_is_pen_down() 98 * The only safe way to check for the pen up condition is in the in tsc2007_is_pen_down() 99 * work function by reading the pen signal state (it's a GPIO in tsc2007_is_pen_down() 101 * in that case we assume that the pen is down and expect caller in tsc2007_is_pen_down() 120 /* pen is down, continue with the measurement */ in tsc2007_soft_irq() 132 * assume that pen was lifted up. in tsc2007_soft_irq() 257 dev_warn(dev, "Pen down GPIO is not specified in properties\n"); in tsc2007_probe_properties()
|
H A D | 88pm860x-ts.c | 78 dev_dbg(chip->dev, "pen down at [%d, %d].\n", x, y); in pm860x_touch_handler() 82 dev_dbg(chip->dev, "pen release\n"); in pm860x_touch_handler() 152 /* set prebias & prechg time of pen detect */ in pm860x_touch_dt_init() 154 if (!of_property_read_u32(np, "marvell,88pm860x-pen-prebias", &n)) in pm860x_touch_dt_init() 156 if (!of_property_read_u32(np, "marvell,88pm860x-pen-prechg", &n)) in pm860x_touch_dt_init() 217 /* set prebias & prechg time of pen detect */ in pm860x_touch_probe()
|
H A D | wacom_w8001.c | 166 /* scale to pen maximum */ in parse_multi_touch() 220 * side2/eraser. If rdy && f2 are set, this can be either pen + side2, in report_pen_events() 222 * - if dev is already in proximity and f2 is toggled → pen + side2 in report_pen_events() 225 * eraser and in for pen. in report_pen_events() 269 /* scale to pen maximum */ in report_single_touch() 313 /* Pen coordinates packet */ in w8001_interrupt() 348 * ThinkPad X60 Tablet PC (pen only device) sometimes in w8001_interrupt() 490 /* if pen is supported scale to pen maximum */ in w8001_setup_touch() 635 "%s Pen", basename); in w8001_connect()
|
H A D | wm9712.c | 29 * Set internal pull up for pen detect. 34 * Adjust this value if you are having problems with pen detect not 39 MODULE_PARM_DESC(rpu, "Set internal pull up resistor for pen detect."); 58 * Pen down pressure below threshold is ignored. 160 dev_dbg(wm->dev, "setting pen detect pull-up to %d Ohms\n", in wm9712_phy_init() 279 /* If PDEN is set, we can get a timeout when pen goes up */ in wm9712_poll_sample() 343 /* If PDEN is set, we can get a timeout when pen goes up */ in wm9712_poll_coord()
|
/linux/drivers/hid/bpf/progs/ |
H A D | XPPen__Artist24.bpf.c | 22 * - the pen doesn't have a rubber tail, so basically we are removing any 27 0x09, 0x02, // Usage (Pen) 2 109 * sequences, all related to the second button (the pen doesn't 117 * - if the pen is in range, an extra out-of-range is sent 119 * // Pen is in range 135 * - if the pen is in contact, 2 extra events are added when 139 * // Pen is in contact 172 * Illegal transition: pen is in range with the tip pressed, and in SEC()
|
/linux/arch/arm64/boot/dts/mediatek/ |
H A D | mt8183-kukui-kakadu.dtsi | 48 switch-pen-insert { 49 label = "Pen Insert"; 339 * The pen driver doesn't currently support driving 342 * pulldown at boot (which makes sure the pen was in 344 * to take it out of reset. Better would be if the pen
|
/linux/drivers/input/tablet/ |
H A D | Kconfig | 34 Aiptek 8000U or Genius G-PEN 560 tablet. Make sure to say Y to 66 tristate "Pegasus Mobile Notetaker Pen input tablet support" 73 Staedtler Digital ballpoint pen 990 01,
|