Lines Matching +full:event +full:- +full:touch +full:- +full:alt

1 // SPDX-License-Identifier: GPL-2.0-only
19 /* Filled in by udev-hid-bpf */
34 * To switch the tablet use e.g. https://github.com/whot/huion-switcher
37 * This BPF works for both modes. The huion-switcher tool sets the
38 * HUION_FIRMWARE_ID udev property - if that is set then we disable the firmware
42 * you bind it to all event nodes
59 * https://github.com/whot/huion-switcher
90 * # 0x55, 0x0d, // Unit Exponent (-3) 46
106 * # 0x15, 0x81, // Logical Minimum (-127) 81
121 * # 0x09, 0x0e, // Usage (System Multi-Axis Controller) 2
136 * # 0x09, 0x33, // Usage (Touch) 32
143 * # 0x16, 0x00, 0x80, // Logical Minimum (-32768) 46
215 // -- Byte 0 in report
221 // Byte 1 in report - just exists so we get to be a tablet pad
228 // Bytes 2/3 in report - just exists so we get to be a tablet pad
237 LogicalRange_i8(-1, 1)
260 // -- Byte 0 in report
264 // -- Byte 1 in report
282 UnitExponent(-1)
298 LogicalRange_i8(-60, 60)
333 UnitExponent(-1)
354 LogicalRange_i8(-60, 60)
380 // Bytes 2/3 - x/y just exist so we get to be a tablet pad
397 LogicalRange_i8(-1, 1)
423 __s32 rdesc_size = hctx->size; in SEC()
435 sizeof(EXPECTED_FIRMWARE_ID) - 1) == 0; in SEC()
455 * the udev property (e.g. huion-switcher run manually) in SEC()
479 * Button 1: 03 00 05 00 00 00 00 00 -> b in SEC()
480 * Button 2: 03 00 08 00 00 00 00 00 -> e in SEC()
481 * Button 3: 03 00 0c 00 00 00 00 00 -> i in SEC()
482 * Button 4: 03 00 e0 16 00 00 00 00 -> Ctrl S in SEC()
483 * Button 5: 03 00 2c 00 00 00 00 00 -> space in SEC()
484 * Button 6: 03 00 e0 e2 1d 00 00 00 -> Ctrl Alt Z in SEC()
522 * Dial down: 11 00 ff ff 00 00 00 00 00 -> Dial -1 in SEC()
523 * Dial up: 11 00 01 00 00 00 00 00 00 -> Dial 1 in SEC()
576 pad_report->report_id = PAD_REPORT_ID; in SEC()
577 pad_report->btn_stylus = 0; in SEC()
578 pad_report->x = 0; in SEC()
579 pad_report->y = 0; in SEC()
580 pad_report->buttons = last_button_state; in SEC()
581 pad_report->dial_1 = dial_1; in SEC()
582 pad_report->dial_2 = dial_2; in SEC()
601 switch (ctx->rdesc_size) { in probe()
605 ctx->retval = 0; in probe()
608 ctx->retval = -EINVAL; in probe()