linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Input: xbox_gip - Add new driver for Xbox GIP
@ 2025-09-17  1:19 Vicki Pfau
  2025-09-17  1:19 ` [PATCH v2 1/5] " Vicki Pfau
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Vicki Pfau @ 2025-09-17  1:19 UTC (permalink / raw)
  To: Dmitry Torokhov, linux-input; +Cc: Vicki Pfau

This introduces a new driver for the Xbox One/Series controller protocol,
officially known as the Gaming Input Protocol, or GIP for short.

Microsoft released documentation on (some of) GIP in late 2024, upon which
this driver is based. Though the documentation was incomplete, it still
provided enough information to warrant a clean start over the previous,
incomplete implementation.

This driver is already at feature parity with the GIP support in xpad,
along with several more enhancements:

- Proper support for parsing message length and fragmented messages
- Metadata parsing, allowing for auto-detection on various parameters,
  including the presence and location in the message of the share button,
  as well as detection of specific device types
- Controllable LED support
- HID passthrough for the Chatpad
- Preliminary support for racing wheels

The framework set out in this driver also allows future expansion for
specialized device types and additional features more cleanly than xpad.

Future plans include:

- Flight stick support
- Improved support for racing wheels, including force feedback support
- Support for the security handshake, which is required for devices that use
  wireless dongles
- Exposing a raw character device to enable sending vendor-specific commands
  from userspace
- Event logging to either sysfs or dmesg
- Support for the headphone jack
- Splitting the driver into separate drivers treating gip as a bus with each
  attachment being able to have its own gip_driver defined by a preferred type
  and/or GUID

Also included in this series is the addition of three new ABS input types, with
the two relevant ones to HID added to the mappings

v2 of this series is mostly the same as v1 rebased onto dtor/master so it
actually applies cleanly, with one major difference: flight stick support has
been omitted, as I was unhappy with how mapping worked and want to discuss it
further before having a patch readied.

Vicki Pfau (5):
  Input: xbox_gip - Add new driver for Xbox GIP
  Input: xpad - Remove Xbox One support
  Input: Add ABS_CLUTCH, HANDBRAKE, and SHIFTER
  HID: Map more automobile simulation inputs
  Input: xbox_gip - Add wheel support

 Documentation/input/devices/xpad.rst   |   17 +-
 MAINTAINERS                            |    6 +
 drivers/hid/hid-debug.c                |   16 +-
 drivers/hid/hid-input.c                |    2 +
 drivers/input/joystick/Kconfig         |   26 +
 drivers/input/joystick/Makefile        |    1 +
 drivers/input/joystick/xbox_gip.c      | 3314 ++++++++++++++++++++++++
 drivers/input/joystick/xpad.c          |  634 +----
 include/uapi/linux/input-event-codes.h |    3 +
 9 files changed, 3372 insertions(+), 647 deletions(-)
 create mode 100644 drivers/input/joystick/xbox_gip.c

-- 
2.51.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-11-01 17:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-17  1:19 [PATCH v2 0/5] Input: xbox_gip - Add new driver for Xbox GIP Vicki Pfau
2025-09-17  1:19 ` [PATCH v2 1/5] " Vicki Pfau
2025-09-17  1:19 ` [PATCH v2 2/5] Input: xpad - Remove Xbox One support Vicki Pfau
2025-09-17  1:19 ` [PATCH v2 3/5] Input: Add ABS_CLUTCH, HANDBRAKE, and SHIFTER Vicki Pfau
2025-09-17  1:19 ` [PATCH v2 4/5] HID: Map more automobile simulation inputs Vicki Pfau
2025-09-17  1:19 ` [PATCH v2 5/5] Input: xbox_gip - Add wheel support Vicki Pfau
2025-11-01 17:45 ` [PATCH v2 0/5] Input: xbox_gip - Add new driver for Xbox GIP Shengyu Qu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).