2023-05-29 23:49:20

by Stuart

[permalink] [raw]
Subject: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

From: stuarthayhurst <[email protected]>

Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard

---
drivers/hid/hid-logitech-hidpp.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index b2cd7527de19..28761272afe5 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -4403,6 +4403,8 @@ static const struct hid_device_id hidpp_devices[] = {
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
{ /* Logitech G903 Hero Gaming Mouse over USB */
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
+ { /* Logitech G915 TKL Keyboard over USB */
+ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
{ /* Logitech G920 Wheel over USB */
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G920_WHEEL),
.driver_data = HIDPP_QUIRK_CLASS_G920 | HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
@@ -4418,6 +4420,8 @@ static const struct hid_device_id hidpp_devices[] = {
{ /* MX5500 keyboard over Bluetooth */
HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
.driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS },
+ { /* Logitech G915 TKL keyboard over Bluetooth */
+ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
{ /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
{ /* MX Master mouse over Bluetooth */
--
2.40.1.521.gf1e218fcd8



2023-05-30 08:39:49

by Bastien Nocera

[permalink] [raw]
Subject: Re: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

On Tue, 2023-05-30 at 00:30 +0100, Stuart Hayhurst wrote:
> From: stuarthayhurst <[email protected]>
>
> Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard

Which functionality gets enabled by that addition, battery reporting,
something else?

>
> ---
>  drivers/hid/hid-logitech-hidpp.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-
> logitech-hidpp.c
> index b2cd7527de19..28761272afe5 100644
> --- a/drivers/hid/hid-logitech-hidpp.c
> +++ b/drivers/hid/hid-logitech-hidpp.c
> @@ -4403,6 +4403,8 @@ static const struct hid_device_id
> hidpp_devices[] = {
>           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
>         { /* Logitech G903 Hero Gaming Mouse over USB */
>           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
> +       { /* Logitech G915 TKL Keyboard over USB */
> +         HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
>         { /* Logitech G920 Wheel over USB */
>           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
> USB_DEVICE_ID_LOGITECH_G920_WHEEL),
>                 .driver_data = HIDPP_QUIRK_CLASS_G920 |
> HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
> @@ -4418,6 +4420,8 @@ static const struct hid_device_id
> hidpp_devices[] = {
>         { /* MX5500 keyboard over Bluetooth */
>           HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
>           .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS },
> +       { /* Logitech G915 TKL keyboard over Bluetooth */
> +         HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
>         { /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
>           HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
>         { /* MX Master mouse over Bluetooth */


2023-05-30 12:57:21

by Stuart

[permalink] [raw]
Subject: Re: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

Using https://github.com/cvuchener/hidpp, the keyboard now seems to
report the following:
Logitech G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard
(046d:c343) is a HID++ 4.2 device
Feature 0x01: [0x0001] Feature set
Feature 0x02: [0x0003] Device FW version
Feature 0x03: [0x0005] Device name
Feature 0x04: [0x1d4b] Wireless device status
Feature 0x05: [0x0020] Reset
Feature 0x06: [0x1001] Battery voltage
Feature 0x07: [0x1814] Change host
Feature 0x08: [0x1815] Hosts info
Feature 0x09: [0x8071] RGB Effects
Feature 0x0a: [0x8081] Per-key lighting v2
Feature 0x0b: [0x1b04] Reprog controls v4
Feature 0x0c: [0x1bc0] Persistent remappable action
Feature 0x0d: [0x4100] Encryption
Feature 0x0e: [0x4522] Disable keys by usage
Feature 0x0f: [0x4540] Keyboard layout 2
Feature 0x10: [0x8010] G-key
Feature 0x11: [0x8020] M-keys
Feature 0x12: [0x8030] MR
Feature 0x13: [0x8040] Brightness control
Feature 0x14: [0x8100] Onboard profiles
Feature 0x15: [0x8060] Report rate
Feature 0x16: [0x00c2] DFUcontrol 3
Feature 0x17: [0x00d0] DFU
Feature 0x18: [0x1802] Device reset (hidden, internal)
Feature 0x19: [0x1803] ? (hidden, internal)
Feature 0x1a: [0x1806] Configurable device properties (hidden, internal)
Feature 0x1b: [0x1813] ? (hidden, internal)
Feature 0x1c: [0x1805] OOBState (hidden, internal)
Feature 0x1d: [0x1830] ? (hidden, internal)
Feature 0x1e: [0x1890] ? (hidden, internal)
Feature 0x1f: [0x1891] ? (hidden, internal)
Feature 0x20: [0x18a1] ? (hidden, internal)
Feature 0x21: [0x1e00] Enable hidden features (hidden)
Feature 0x22: [0x1eb0] ? (hidden, internal)
Feature 0x23: [0x1861] ? (hidden, internal)
Feature 0x24: [0x18b0] ? (hidden, internal)


On Tue, May 30, 2023 at 9:36 AM Bastien Nocera <[email protected]> wrote:
>
> On Tue, 2023-05-30 at 00:30 +0100, Stuart Hayhurst wrote:
> > From: stuarthayhurst <[email protected]>
> >
> > Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard
>
> Which functionality gets enabled by that addition, battery reporting,
> something else?
>
> >
> > ---
> > drivers/hid/hid-logitech-hidpp.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-
> > logitech-hidpp.c
> > index b2cd7527de19..28761272afe5 100644
> > --- a/drivers/hid/hid-logitech-hidpp.c
> > +++ b/drivers/hid/hid-logitech-hidpp.c
> > @@ -4403,6 +4403,8 @@ static const struct hid_device_id
> > hidpp_devices[] = {
> > HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
> > { /* Logitech G903 Hero Gaming Mouse over USB */
> > HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
> > + { /* Logitech G915 TKL Keyboard over USB */
> > + HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
> > { /* Logitech G920 Wheel over USB */
> > HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
> > USB_DEVICE_ID_LOGITECH_G920_WHEEL),
> > .driver_data = HIDPP_QUIRK_CLASS_G920 |
> > HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
> > @@ -4418,6 +4420,8 @@ static const struct hid_device_id
> > hidpp_devices[] = {
> > { /* MX5500 keyboard over Bluetooth */
> > HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
> > .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS },
> > + { /* Logitech G915 TKL keyboard over Bluetooth */
> > + HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
> > { /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
> > HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
> > { /* MX Master mouse over Bluetooth */
>

2023-05-30 14:20:55

by Bastien Nocera

[permalink] [raw]
Subject: Re: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

On Tue, 2023-05-30 at 13:49 +0100, Stuart wrote:
> Using https://github.com/cvuchener/hidpp, the keyboard now seems to
> report the following:

While the list of all the feature it supports is interesting, it seems
that the only thing this adds on top of hid-generic is the battery
reporting. Can you please verify that that's the fact and add this
information to the commit message?

Cheers

> Logitech G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard
> (046d:c343) is a HID++ 4.2 device
> Feature 0x01: [0x0001] Feature set
> Feature 0x02: [0x0003] Device FW version
> Feature 0x03: [0x0005] Device name
> Feature 0x04: [0x1d4b] Wireless device status
> Feature 0x05: [0x0020] Reset
> Feature 0x06: [0x1001] Battery voltage
> Feature 0x07: [0x1814] Change host
> Feature 0x08: [0x1815] Hosts info
> Feature 0x09: [0x8071] RGB Effects
> Feature 0x0a: [0x8081] Per-key lighting v2
> Feature 0x0b: [0x1b04] Reprog controls v4
> Feature 0x0c: [0x1bc0] Persistent remappable action
> Feature 0x0d: [0x4100] Encryption
> Feature 0x0e: [0x4522] Disable keys by usage
> Feature 0x0f: [0x4540] Keyboard layout 2
> Feature 0x10: [0x8010] G-key
> Feature 0x11: [0x8020] M-keys
> Feature 0x12: [0x8030] MR
> Feature 0x13: [0x8040] Brightness control
> Feature 0x14: [0x8100] Onboard profiles
> Feature 0x15: [0x8060] Report rate
> Feature 0x16: [0x00c2] DFUcontrol 3
> Feature 0x17: [0x00d0] DFU
> Feature 0x18: [0x1802] Device reset (hidden, internal)
> Feature 0x19: [0x1803] ? (hidden, internal)
> Feature 0x1a: [0x1806] Configurable device properties (hidden,
> internal)
> Feature 0x1b: [0x1813] ? (hidden, internal)
> Feature 0x1c: [0x1805] OOBState (hidden, internal)
> Feature 0x1d: [0x1830] ? (hidden, internal)
> Feature 0x1e: [0x1890] ? (hidden, internal)
> Feature 0x1f: [0x1891] ? (hidden, internal)
> Feature 0x20: [0x18a1] ? (hidden, internal)
> Feature 0x21: [0x1e00] Enable hidden features (hidden)
> Feature 0x22: [0x1eb0] ? (hidden, internal)
> Feature 0x23: [0x1861] ? (hidden, internal)
> Feature 0x24: [0x18b0] ? (hidden, internal)
>
> On Tue, May 30, 2023 at 9:36 AM Bastien Nocera <[email protected]>
> wrote:
> > On Tue, 2023-05-30 at 00:30 +0100, Stuart Hayhurst wrote:
> > > From: stuarthayhurst <[email protected]>
> > >
> > > Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard
> >
> > Which functionality gets enabled by that addition, battery
> > reporting,
> > something else?
> >
> > >
> > > ---
> > >  drivers/hid/hid-logitech-hidpp.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-
> > > logitech-hidpp.c
> > > index b2cd7527de19..28761272afe5 100644
> > > --- a/drivers/hid/hid-logitech-hidpp.c
> > > +++ b/drivers/hid/hid-logitech-hidpp.c
> > > @@ -4403,6 +4403,8 @@ static const struct hid_device_id
> > > hidpp_devices[] = {
> > >           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
> > >         { /* Logitech G903 Hero Gaming Mouse over USB */
> > >           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
> > > +       { /* Logitech G915 TKL Keyboard over USB */
> > > +         HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
> > >         { /* Logitech G920 Wheel over USB */
> > >           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
> > > USB_DEVICE_ID_LOGITECH_G920_WHEEL),
> > >                 .driver_data = HIDPP_QUIRK_CLASS_G920 |
> > > HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
> > > @@ -4418,6 +4420,8 @@ static const struct hid_device_id
> > > hidpp_devices[] = {
> > >         { /* MX5500 keyboard over Bluetooth */
> > >           HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
> > >           .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS
> > > },
> > > +       { /* Logitech G915 TKL keyboard over Bluetooth */
> > > +         HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
> > >         { /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
> > >           HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
> > >         { /* MX Master mouse over Bluetooth */
> >


2023-05-30 14:40:56

by Stuart

[permalink] [raw]
Subject: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard, for device detection
For this device, this provides battery reporting on top of hid-generic

Signed-off-by: Stuart Hayhurst <[email protected]>
---
drivers/hid/hid-logitech-hidpp.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index b2cd7527de19..28761272afe5 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -4403,6 +4403,8 @@ static const struct hid_device_id hidpp_devices[] = {
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
{ /* Logitech G903 Hero Gaming Mouse over USB */
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
+ { /* Logitech G915 TKL Keyboard over USB */
+ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
{ /* Logitech G920 Wheel over USB */
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G920_WHEEL),
.driver_data = HIDPP_QUIRK_CLASS_G920 | HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
@@ -4418,6 +4420,8 @@ static const struct hid_device_id hidpp_devices[] = {
{ /* MX5500 keyboard over Bluetooth */
HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
.driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS },
+ { /* Logitech G915 TKL keyboard over Bluetooth */
+ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
{ /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
{ /* MX Master mouse over Bluetooth */
--
2.40.1.521.gf1e218fcd8


2023-05-30 14:43:37

by Bastien Nocera

[permalink] [raw]
Subject: Re: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

On Tue, 2023-05-30 at 15:16 +0100, Stuart Hayhurst wrote:
> Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard,
> for device detection
> For this device, this provides battery reporting on top of hid-
> generic
>
> Signed-off-by: Stuart Hayhurst <[email protected]>

You can add my:

Reviewed-by: Bastien Nocera <[email protected]>

to the v2 patch that you should send, otherwise the tree maintainers
will get confused.

Cheers

> ---
>  drivers/hid/hid-logitech-hidpp.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-
> logitech-hidpp.c
> index b2cd7527de19..28761272afe5 100644
> --- a/drivers/hid/hid-logitech-hidpp.c
> +++ b/drivers/hid/hid-logitech-hidpp.c
> @@ -4403,6 +4403,8 @@ static const struct hid_device_id
> hidpp_devices[] = {
>           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
>         { /* Logitech G903 Hero Gaming Mouse over USB */
>           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
> +       { /* Logitech G915 TKL Keyboard over USB */
> +         HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
>         { /* Logitech G920 Wheel over USB */
>           HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
> USB_DEVICE_ID_LOGITECH_G920_WHEEL),
>                 .driver_data = HIDPP_QUIRK_CLASS_G920 |
> HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
> @@ -4418,6 +4420,8 @@ static const struct hid_device_id
> hidpp_devices[] = {
>         { /* MX5500 keyboard over Bluetooth */
>           HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
>           .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS },
> +       { /* Logitech G915 TKL keyboard over Bluetooth */
> +         HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
>         { /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
>           HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
>         { /* MX Master mouse over Bluetooth */


2023-05-30 14:48:53

by Stuart

[permalink] [raw]
Subject: Re: [PATCH 1/1] HID: logitech-hidpp: Add USB and Bluetooth IDs for the Logitech G915 TKL Keyboard

Oops, didn't realise it needed a v2, sorry.

Thanks,
Stuart

On Tue, May 30, 2023 at 3:33 PM Bastien Nocera <[email protected]> wrote:
>
> On Tue, 2023-05-30 at 15:16 +0100, Stuart Hayhurst wrote:
> > Adds the USB and Bluetooth IDs for the Logitech G915 TKL keyboard,
> > for device detection
> > For this device, this provides battery reporting on top of hid-
> > generic
> >
> > Signed-off-by: Stuart Hayhurst <[email protected]>
>
> You can add my:
>
> Reviewed-by: Bastien Nocera <[email protected]>
>
> to the v2 patch that you should send, otherwise the tree maintainers
> will get confused.
>
> Cheers
>
> > ---
> > drivers/hid/hid-logitech-hidpp.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-
> > logitech-hidpp.c
> > index b2cd7527de19..28761272afe5 100644
> > --- a/drivers/hid/hid-logitech-hidpp.c
> > +++ b/drivers/hid/hid-logitech-hidpp.c
> > @@ -4403,6 +4403,8 @@ static const struct hid_device_id
> > hidpp_devices[] = {
> > HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC086) },
> > { /* Logitech G903 Hero Gaming Mouse over USB */
> > HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC091) },
> > + { /* Logitech G915 TKL Keyboard over USB */
> > + HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC343) },
> > { /* Logitech G920 Wheel over USB */
> > HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH,
> > USB_DEVICE_ID_LOGITECH_G920_WHEEL),
> > .driver_data = HIDPP_QUIRK_CLASS_G920 |
> > HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
> > @@ -4418,6 +4420,8 @@ static const struct hid_device_id
> > hidpp_devices[] = {
> > { /* MX5500 keyboard over Bluetooth */
> > HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b),
> > .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS },
> > + { /* Logitech G915 TKL keyboard over Bluetooth */
> > + HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb35f) },
> > { /* M-RCQ142 V470 Cordless Laser Mouse over Bluetooth */
> > HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb008) },
> > { /* MX Master mouse over Bluetooth */
>