Lines Matching +full:abs +full:- +full:range
1 // SPDX-License-Identifier: GPL-2.0-only
21 * - the device reports Eraser instead of using Secondary Barrel Switch
22 * - when the eraser button is pressed and the stylus is touching the tablet,
38 … // Usage (Eraser) 16 /* created over a padding bit at offset 29-33 */
43 0x81, 0x02, // Input (Data,Var,Abs) 28
44 0x09, 0x32, // Usage (In Range) 34
48 0x81, 0x02, // Input (Data,Var,Abs) 42
50 0x81, 0x03, // Input (Cnst,Var,Abs) 46
58 0x55, 0x0d, // Unit Exponent (-3) 61
61 0x81, 0x02, // Input (Data,Var,Abs) 69
65 0x81, 0x02, // Input (Data,Var,Abs) 79
70 0x81, 0x42, // Input (Data,Var,Abs,Null) 89
72 0x15, 0x81, // Logical Minimum (-127) 93
76 0x81, 0x02, // Input (Data,Var,Abs) 101
78 0x15, 0x81, // Logical Minimum (-127) 105
80 0x81, 0x02, // Input (Data,Var,Abs) 109
98 if (hctx->hid->product == PID_ARTIST_PRO14_GEN2) { in SEC()
132 * >>> [round(h*math.sin(math.radians(d))) for d in range(0, 128)]
189 __u8 angle = tilt > 0 ? tilt : -tilt; in compensate_coordinates_by_tilt()
197 coords = (coords > compensation) ? coords - compensation : 0; in compensate_coordinates_by_tilt()
200 __u16 max = logical_maximum - compensation; in compensate_coordinates_by_tilt()
232 * bytes 0 - report id in xppen_16_fix_angle_offset()
233 * 1 - buttons in xppen_16_fix_angle_offset()
234 * 2-3 - X coords (logical) in xppen_16_fix_angle_offset()
235 * 4-5 - Y coords in xppen_16_fix_angle_offset()
236 * 6-7 - pressure (ignore) in xppen_16_fix_angle_offset()
237 * 8 - tilt X in xppen_16_fix_angle_offset()
238 * 9 - tilt Y in xppen_16_fix_angle_offset()
244 if (hctx->hid->product == PID_ARTIST_PRO14_GEN2) { in xppen_16_fix_angle_offset()
247 } else if (hctx->hid->product == PID_ARTIST_PRO16_GEN2) { in xppen_16_fix_angle_offset()
277 ctx->retval = ctx->rdesc_size != 113; in probe()
278 if (ctx->retval) in probe()
279 ctx->retval = -EINVAL; in probe()
282 if (ctx->rdesc[17] != 0x45) /* Eraser */ in probe()
283 ctx->retval = -EINVAL; in probe()