Home
last modified time | relevance | path

Searched full:pen (Results 1 – 25 of 150) sorted by relevance

123456

/linux/tools/testing/selftests/hid/tests/
H A Dtest_tablet.py29 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 Dhid-uclogic-params.c25 * 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 Dhid-uclogic-core.c26 * 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 Dhid-uclogic-params.h26 /* 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 Dhid-uclogic-rdesc.h104 /* 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 Dwm97xx.h67 #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 Dheadsmp.S12 * 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 Dplatsmp.c25 * 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 Dheadsmp.S15 * 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 Dheadsmp.S17 * 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 Dfsl-mx25-tcq.txt14 - 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 Dti,am3359-tsc.yaml49 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 Docteon-irq.c307 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 Dsurface3_spi.c122 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 Dda9052_tsi.c109 /* 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 Dwm97xx-core.c22 * - 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 Dwm831x-ts.c109 * 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 Dmainstone-wm97xx.c64 * 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 Dtsc2007_core.c92 * 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 D88pm860x-ts.c78 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 Dwacom_w8001.c166 /* 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 Dwm9712.c29 * 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 DXPPen__Artist24.bpf.c22 * - 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 Dmt8183-kukui-kakadu.dtsi48 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 DKconfig34 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,

123456