Pretty much similar to the Inspiroy 2, but with 2 wheels and 8 buttons. This bpf also works in both normal and vendor mode. If the device is switched into vendor mode by huion-switcher, a udev property is set which is then retrieved by this bpf object. This allows to hide the now unused normal collections. Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/103 Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/104 Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/111 Link: https://patch.msgid.link/20240627-import-bpf-v1-5-0dbcda4a5b1f@kernel.org Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
21 lines
565 B
C
21 lines
565 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/* Copyright (c) 2022 Benjamin Tissoires
|
|
*/
|
|
|
|
#ifndef ____HID_BPF__H
|
|
#define ____HID_BPF__H
|
|
|
|
#define HID_BPF_DEVICE_EVENT "struct_ops/hid_device_event"
|
|
#define HID_BPF_RDESC_FIXUP "struct_ops/hid_rdesc_fixup"
|
|
#define HID_BPF_OPS(name) SEC(".struct_ops.link") \
|
|
struct hid_bpf_ops name
|
|
#define hid_set_name(_hdev, _name) __builtin_memcpy(_hdev->name, _name, sizeof(_name))
|
|
|
|
struct hid_bpf_probe_args {
|
|
unsigned int hid;
|
|
unsigned int rdesc_size;
|
|
unsigned char rdesc[4096];
|
|
int retval;
|
|
};
|
|
|
|
#endif /* ____HID_BPF__H */
|