<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/hid/bpf/progs, branch linux-rolling-lts</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-lts</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-lts'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-04-24T09:36:53Z</updated>
<entry>
<title>HID: bpf: fix BTN_STYLUS for the XP Pen ACK05 remote</title>
<updated>2025-04-24T09:36:53Z</updated>
<author>
<name>Peter Hutterer</name>
</author>
<published>2025-03-24T05:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55cd617566ef14ed607b0b50eff4c0dbd304661b'/>
<id>urn:sha1:55cd617566ef14ed607b0b50eff4c0dbd304661b</id>
<content type='text'>
Usage_Dig_BarrelSwitch was applied in the UsagePage_Button
which incorrectly mapped to BTN_TOOL_PENCIL

Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/193
Fixes: 834da375 ("bpf: add a v6.11+ compatible BPF fixup for the XPPen ACK05 remote")
Link: https://patchwork.kernel.org/project/linux-input/patch/20250207-bpf-import-2025-02-07-v1-7-6048fdd5a206@kernel.org/

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.com&gt;
</content>
</entry>
<entry>
<title>HID: bpf: add a v6.11+ compatible BPF fixup for the XPPen ACK05 remote</title>
<updated>2025-02-24T08:25:34Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:56:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=834da3756f49825d58769a75c279dd2ca3d183ae'/>
<id>urn:sha1:834da3756f49825d58769a75c279dd2ca3d183ae</id>
<content type='text'>
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: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/133
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-7-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: new hid_bpf_async.h common header</title>
<updated>2025-02-24T08:25:34Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a94deb94994a121d7a7ae21d9860445a14018fc'/>
<id>urn:sha1:4a94deb94994a121d7a7ae21d9860445a14018fc</id>
<content type='text'>
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-&gt;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,
};
```

Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/133
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-6-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: import new kfunc from v6.10 &amp; v6.11</title>
<updated>2025-02-24T08:25:34Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:56:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=91bb3115efdf30a5457f2b68805b2d21630a4f4a'/>
<id>urn:sha1:91bb3115efdf30a5457f2b68805b2d21630a4f4a</id>
<content type='text'>
These kfunc are all in v6.10 except for the hid_bpf_try_input_report()
which will be in v6.11. Import their definition once now so we can make
use of it.

Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/114
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-5-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: add support for the XP-Pen Artist Pro 19 (gen2)</title>
<updated>2025-02-24T08:25:34Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:56:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4be933521ffa620f34742355870c25a278fb10d8'/>
<id>urn:sha1:4be933521ffa620f34742355870c25a278fb10d8</id>
<content type='text'>
The device behaves the same than the 16" and 14" models, so let's just
add support for it too.

Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/145
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-4-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: Added updated Kamvas Pro 19 descriptor</title>
<updated>2025-02-24T08:25:34Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:55:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=531a1cc66713aecef84efd5ec7282d7e444f9d7c'/>
<id>urn:sha1:531a1cc66713aecef84efd5ec7282d7e444f9d7c</id>
<content type='text'>
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: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/164
Signed-off-by: Aki Van Ness &lt;aki@lethalbit.net&gt;
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-3-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: Suppress bogus F13 trigger on Sirius keyboard full fan shortcut</title>
<updated>2025-02-24T08:25:33Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:55:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43db1911f807741fe987ee644fb6ee3642e1bd06'/>
<id>urn:sha1:43db1911f807741fe987ee644fb6ee3642e1bd06</id>
<content type='text'>
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 &lt;wse@tuxedocomputers.com&gt;
Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/166
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-2-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: Add support for the default firmware mode of the Huion K20</title>
<updated>2025-02-24T08:25:33Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2025-02-07T13:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56be863932145e4e5a24e179ed6d1a6ea6b32227'/>
<id>urn:sha1:56be863932145e4e5a24e179ed6d1a6ea6b32227</id>
<content type='text'>
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 &lt;peter.hutterer@who-t.net&gt;
Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/158
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20250207-bpf-import-2025-02-07-v1-1-6048fdd5a206@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: drop use of Logical|Physical|UsageRange</title>
<updated>2024-10-18T12:37:33Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2024-10-17T16:35:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b6d8c474e26517f944208e4645a2a09a6eeee88e'/>
<id>urn:sha1:b6d8c474e26517f944208e4645a2a09a6eeee88e</id>
<content type='text'>
Replace with individual Minimum/Maximum calls to match the HID report
descriptor - HID doesn't have a Range field. Abstracting this is good
for hand-written descriptors but almost all tools will output min/max
instead so let's stick with that.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20241017-import_bpf_6-13-v2-3-6a7acb89a97f@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
<entry>
<title>HID: bpf: Fix Rapoo M50 Plus Silent side buttons</title>
<updated>2024-10-18T12:37:33Z</updated>
<author>
<name>Benjamin Tissoires</name>
</author>
<published>2024-10-17T16:34:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cee9faff2f65d00fe8a56c1223c9c52435eb525d'/>
<id>urn:sha1:cee9faff2f65d00fe8a56c1223c9c52435eb525d</id>
<content type='text'>
The Rapoo M50 Plus Silent mouse has 2 side buttons in addition to the
left, right and middles buttons. However, its original HID descriptor
has a Usage Maximum of 3, preventing the side buttons to work.

This HID-BPF driver changes that usage to 5.

Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1015
Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/116
Signed-off-by: José Expósito &lt;jose.exposito89@gmail.com&gt;
Acked-by: Jiri Kosina &lt;jkosina@suse.com&gt;
Link: https://patch.msgid.link/20241017-import_bpf_6-13-v2-2-6a7acb89a97f@kernel.org
Signed-off-by: Benjamin Tissoires &lt;bentiss@kernel.org&gt;
</content>
</entry>
</feed>
