[New Device] Logitech G915 TKL
<!--
When naming the support request please title the request as
`[New Device] <Name of new device>`
Please open one issue per device you would like to add
-->
### Name of device:
<!--
Please put the name of the product, including manufacturer, beneath this line
-->
Logitech G915 TKL
### Link to manufacturer's product page:
<!--
Please add a link to the manufacturer's product page beneath this line
-->
https://www.logitechg.com/en-us/products/gaming-keyboards/g915-tkl-wireless.html
### Please select what type of device/interface the device uses:
<!-- Please select from one of the following
This determines how the device connects to the PC -->
~"DeviceType::USB" <!-- The device connects to an internal header or external usb port -->
<!-- Please delete any lines that are not relevant -->
### ID information:
<!--
For PCI (GPU) devices we will need the Vendor ID, Device ID, Sub-Vendor ID and Sub-Device IDs
In Windows this can be found under the device manager and on Linux this can be found with lspci -vv
For USB devices we will need the USB VID and PID
-->
```
Bus 002 Device 011: ID 046d:c343 Logitech, Inc. G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x046d Logitech, Inc.
idProduct 0xc343
bcdDevice 14.00
iManufacturer 1 Logitech
iProduct 2 G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard
iSerial 3 4EB658E9
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0054
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 4 MPK14.00_B0017
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 67
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 123
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 54
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered
```
### Please attach screenshots of the device's official control application here:
<!--
Screenshots of the official control software should show lists of supported modes, color selection, and zone/LED selection capabilities of the device's official software.
-->




















### Please attach device captures here:
<!-- If you have code examples from other projects please link them here or alternatively
for information on how to capture device packets please refer to the wiki article
https://gitlab.com/Dr_No/OpenRGB/-/wikis/OpenRGB-doesn%27t-have-my-device
-->
Logitech has SDK available. However, I have no idea how useful it is to this project. I see other Logitech RGB keyboards are supported so maybe some implementation already exists.
https://www.logitechg.com/en-us/innovation/developer-lab.html
I used Lenovo X230 with docking station. USB Root Hub 2 was empty and I connected G915 TKL to this Root Hub and used Wireshark to capture only USBPcap2 interface.
[g915_ghub_animation_ocean_wave_cycle_bounce_speed70ms.pcapng](/uploads/397c07beb59e61d85b06c867a8f256b9/g915_ghub_animation_ocean_wave_cycle_bounce_speed70ms.pcapng)
[g915_ghub_animations.pcapng](/uploads/5897cb6313d3503ca2e6b9136d3f1d4d/g915_ghub_animations.pcapng)
[g915_ghub_freestyle.pcapng](/uploads/821bb2de4c18f77e96540730f149cb2c/g915_ghub_freestyle.pcapng)
[g915_ghub_preset_colorwave_rate3000ms_brightness_80percent.pcapng](/uploads/4ed846f7fda8ea35c42bce0abe3b7b5f/g915_ghub_preset_colorwave_rate3000ms_brightness_80percent.pcapng)
[g915_ghub_preset_echo_press_0_0_255_101_102_103_speed2000ms.pcapng](/uploads/8c80f1f95ff0dfbdde533003da4783b2/g915_ghub_preset_echo_press_0_0_255_101_102_103_speed2000ms.pcapng)
[g915_ghub_preset_ripple_rate50ms_press_qwerty.pcapng](/uploads/a83b4a816c8cd41afbfd8d2c92761ee6/g915_ghub_preset_ripple_rate50ms_press_qwerty.pcapng)
[g915_ghub_presets.pcapng](/uploads/adebe02f4a9f8484690877489f88a7f7/g915_ghub_presets.pcapng)
<!-- For admin purposes: Please leave this section as is -->
# Checklist for Step2
- [X] Name of device
- [X] A link to the vendors product page has been included
- [X] The transport bus has been identified and the appropriate label added to the issue.
- [X] The device ID's have been included for [USB](https://gitlab.com/Dr_No/OpenRGB/-/wikis/USB-Vendor-Identification-and-Product-Identification) or PCI
- [X] Screenshots of the OEM Application are included
- [X] There is either, appropriate code examples linked or suitable device captures attached
<!-- For admin purposes: Please leave this section as is -->
issue