- Mar 25, 2025
-
-
There are a differences in the report descriptor to the existing Inspiroy 2S which makes having this as separate file a more efficient approach than merging them together. Closes #45 Co-authored-by:
Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!167>
-
- Mar 24, 2025
-
-
Running install.sh --interactive will prompt for each BPF. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!186>
-
To install all huion files, run: install.sh "*Huion" and so on Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!186>
-
Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!186>
-
This way we can have the documentation at the top of the file while also making it appear in --help Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!186>
-
Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!186>
-
Peter Hutterer authored
This device needs a fix for the tilt range on the pen report descriptor and the usual conversion of the pad keys from the firmware's hardcoded keyboard shortcuts to actual pad buttons. Closes #54 Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!185>
-
Usage_Dig_BarrelSwitch was applied in the UsagePage_Button which incorrectly mapped to BTN_TOOL_PENCIL Closes #60 Fixes: 4df79b56 ("bpf: add a v6.11+ compatible BPF fixup for the XPPen ACK05 remote") Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!193>
-
- Mar 04, 2025
-
-
This adds a (slightly different) blurb to issues or mrs to remind the user that they can just download artifacts from a finished pipeline. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!190>
-
Peter Hutterer authored
Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!192>
-
- Feb 28, 2025
-
-
Benjamin Tissoires authored
We could go to the USB consortium, but it's probably easier that way. Reported-by:
Colin Ian King <colin.i.king@gmail.com> Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!191>
-
Benjamin Tissoires authored
From https://usb.org/sites/default/files/hut1_6.pdf updated: 01/30/2025 Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!191>
-
Same issues with a secondary tip switch instead of secondary barrel switch as the Kamvas 19. Copy the stable Kamvas 19 support back into testing and add the vid/pid for the Kamvas 27. Closes #57 Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!189>
-
- Feb 27, 2025
-
-
Device claims a range of -127/127 but only reports -60/60, let's fix the rdesc to that effect. Closes #46 Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!174>
-
- Feb 26, 2025
-
-
Nicholas LaPointe authored
This assumes that the tablet has been switched into vendor mode (by using huion-switcher[1], for example) and is sending events using Huion's proprietary data format. This has been tested using the PW600L pen, which does not have an eraser. There is no expectation that a pen with an eraser will work at this time. [1] https://github.com/whot/huion-switcher Signed-off-by:
Nicholas LaPointe <nicholaslapointe8@gmail.com> Part-of: <!162>
-
The device behaves the same than the 16" and 14" models, so let's just add support for it too. Link: !145 Acked-by:
Jiri Kosina <jkosina@suse.com> Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-4-6048fdd5a206@kernel.org Signed-off-by:
Benjamin Tissoires <bentiss@kernel.org> Upstream commit: https://git.kernel.org/hid/hid/c/4be933521ffa Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!188>
-
With v6.11+, we can actually call hid_hw_output_report() and put the device into raw mode, thus getting accurate events without being messed up. Technically we could do the same on v6.10, but given that wayland, gnome and KDE are still not capable of handling the dial, and that v6.10 is EOL, we can safely save a little bit of compilation by only allowing v6.11+. We can easily export the battery information to userspace by adding a dedicated report. However, we need to cheat on the kernel to force it not to query the battery by making the physical collection a stylus. The kernel will then only rely on the events it gets from the device. Link: !133 Acked-by:
Jiri Kosina <jkosina@suse.com> Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-7-6048fdd5a206@kernel.org Signed-off-by:
Benjamin Tissoires <bentiss@kernel.org> Upstream commit: https://git.kernel.org/hid/hid/c/834da3756f49 Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!188>
-
The TUXEDO Sirius 16 Gen1 and the TUXEDO Sirius 16 Gen2 Notebooks have an additional "fan" key next to F12. Pressing it alone sends a F14 key press which can be bound by user space. Pressing it while holding the FN key triggers two things: - The EC firmware locks the fan speed of the internal fans at 100% - F13 key press is registered which by default is already bound in xkb and desktop environments (e.g. in KDE Plasma it launches system settings) To avoid this unexpected double duty of the FN shortcut, this bpf program suppresses the F13 key press. Signed-off-by:
Werner Sembach <wse@tuxedocomputers.com> Link: !166 Acked-by:
Jiri Kosina <jkosina@suse.com> Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-2-6048fdd5a206@kernel.org Signed-off-by:
Benjamin Tissoires <bentiss@kernel.org> Upstream commit: https://git.kernel.org/hid/hid/c/43db1911f807 Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!188>
-
This re-uses the same HID report descriptor that we also use for the tablet mode after switching the device. The keys send uniquely identifyable shortcuts so we can map those to buttons. However the dial and the button inside the dial send events on a different hidraw node and they are unreliable (e.g. the button does not get released reliably). So they're ignored in this patch, it's not worth the effort getting those to work correctly. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Link: !158 Acked-by:
Jiri Kosina <jkosina@suse.com> Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-1-6048fdd5a206@kernel.org Signed-off-by:
Benjamin Tissoires <bentiss@kernel.org> Upstream commit: https://git.kernel.org/hid/hid/c/56be86393214 Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!188>
-
This adds an updated HID descriptor for the Huion Kamvas Pro 19 that is present on newer firmware revisions, while also trying to keep compat with the older versions. Link: !164 Signed-off-by:
Aki Van Ness <aki@lethalbit.net> Acked-by:
Jiri Kosina <jkosina@suse.com> Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-3-6048fdd5a206@kernel.org Signed-off-by:
Benjamin Tissoires <bentiss@kernel.org> Upstream commit: https://git.kernel.org/hid/hid/c/531a1cc66713 Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!188>
-
- Feb 25, 2025
-
-
Peter Hutterer authored
udev rules don't support in-line commends so the #MARKER tag ended up being an invalid key/value pair causing the udev rule to fail. Fix this by moving the marker to a separate line followed by the modified line, then deleting the marker plus the next line on re-install. Fixes: cbe49f4b ("install.sh: don't permanently remove the @@BINDIR@@ marker on install") Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!187>
-
- Feb 16, 2025
-
-
Make this obvious on the first page users (likely) visit to avoid confusion. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!184>
-
This needs to be set to the largest HID report as the kernel discards any HID report sized larger than whatever the report descriptor defines. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!182>
-
The 3Dconnexion SpaceNavigator HID report descriptor declares its axis data to be "relative" when it is actually "absolute". This quirk was addressed in the kernel in 2.6.33, but some SpaceNavigator variants have a slightly different report descriptor whose axis input items are at different offsets than those assumed by the kernel fixup. Add a BPF fixup to handle both sets of offsets for known SpaceNavigator variants if the descriptor has not already been fixed by the kernel. Signed-off-by:
Curran Muhlberger <curran@cs.cornell.edu> Part-of: <!181>
-
- Feb 12, 2025
-
-
Curran Muhlberger authored
Closes #55 Signed-off-by:
Curran Muhlberger <curran@cs.cornell.edu> Part-of: <!183>
-
- Feb 06, 2025
-
-
Peter Hutterer authored
Taken from libinput with some of the things removed or slightly changed to apply to udev-hid-bpf. This is the basic set of bugbot commands that we'll likely need here. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!180>
-
- Feb 04, 2025
-
-
Benjamin Tissoires authored
Enums in python needs to be prefixed with their classes, so `BtfKind.BTF_KIND_RESTRICT` looks much better as `BtfKind.RESTRICT` Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!179>
-
Benjamin Tissoires authored
Allows to call directly `kind == BtfKind.BTF_KIND_UNKN` with kind being an int. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!179>
-
Benjamin Tissoires authored
Now that we have bpf_wq emulated, we can emit a reconnect event and check that our bpf requests the switch to raw mode correctly. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
Benjamin Tissoires authored
The new test ensures `hid_bpf_hw_output_report` is properly called. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
Benjamin Tissoires authored
Simple tests: inject one event, ensure the output is correct. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
Benjamin Tissoires authored
Dealing with bytes is nice so we can do something like `data[42] = 45`, but comparing the data input and output is rather ugly. Add detection if a string is given as a parameter and in that case return a string parameter as well. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
Benjamin Tissoires authored
We can easily export the battery information to userspace by adding a dedicated report. We cheat on the kernel to force it not to query the battery by making the physical collection a stylus. The kernel will then only rely on the events it gets from the device. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
Benjamin Tissoires authored
With v6.11+, we can actually call hid_hw_output_report() and put the device into raw mode, thus getting accurate events without being messed up. Technically we could do the same on v6.10, but given that wayland, gnome and KDE are still not capable of handling the dial, and that v6.10 is EOL, we can safely save a little bit of compilation by only allowing v6.11+. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
Benjamin Tissoires authored
The purpose is to simplify the use of bpf_wq to defer blocking operations in a sleepable context. Compared to a more "classic" async approach, there is no sync mechanism to wait for the async to finish. The "simple" API is the following: ``` static int HID_BPF_ASYNC(async_fun)(struct hid_bpf_ctx *hctx) { bpf_printk("%s", __fun__); return 0; } SEC("syscall") int probe(struct hid_bpf_probe_args *ctx) { ctx->retval = HID_BPF_ASYNC_INIT(async_fun); return 0; } SEC(HID_BPF_DEVICE_EVENT) int BPF_PROG(event_handler, struct hid_bpf_ctx *hctx) { /* async_fun() can be called now, it's not a sleepable * function in this example */ async_fun(hctx); /* but we can also delay the call by 10 ms */ HID_BPF_ASYNC_DELAYED_CALL(async_fun, hctx, 10); return 0; } HID_BPF_OPS(xppen_ack05_remote) = { .hid_device_event = (void *)event_handler, }; ``` Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com> Part-of: <!133>
-
- Feb 03, 2025
-
-
Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!175>
-
So users don't have a reason to freak out if they use --dry-run and see lots of sudo commands printed. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!175>
-
Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!175>
-
Some highlighting, some console formatting, etc. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!178>
-
Not always perfect because it detects # and $ both as start of a line and our hid-recorder output uses # as comment but overall it's still an improvement. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Part-of: <!178>
-