Skip to content

Commit

Permalink
feat(XBox Elite): Add Microsoft X-Box One Elite pad target device.
Browse files Browse the repository at this point in the history
- Adds the Xbox One Elite controller as a target device, which has 4 back paddles. SDL/Steam recognize this controller and it works out of the box for mapping back buttons.
- Replaces GenericController with XBox360Controller. 'generic' target name is retained for backwards compatibility, but it will now create a device with an xbox 360 VID/PID. The implementation is the same as the old generic controller aside from adding the VID/PID.
- Update all target devices to either use xb360 or xbox-elite for their default configuration. Devices with back paddles are elite while non paddles are xb360.
  • Loading branch information
pastaq committed Jun 29, 2024
1 parent 4ef189c commit 558d258
Show file tree
Hide file tree
Showing 41 changed files with 536 additions and 136 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-aokzoe_a1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_2021.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_2s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_air.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_flip.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_kun.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_next.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayaneo_slide.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-ayn_loki.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-gpd_win3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- xbox-elite
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-gpd_win4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- xbox-elite
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-gpd_winmax2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- xbox-elite
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-gpd_winmini.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- xbox-elite
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-legion_go.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- xbox-elite
- mouse
- keyboard
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-onexplayer_2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xb360
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-orangepi_neo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5
- xbox-elite
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-rog_ally.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- xbox-elite
- mouse
- keyboard

Expand Down
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-steam_deck.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xbox-elite
- mouse
- keyboard
- touchscreen-fts3528
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/50-switch_pro.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- gamepad #TODO: Nintendo controller target
- mouse
- keyboard
2 changes: 1 addition & 1 deletion rootfs/usr/share/inputplumber/devices/60-ps4_gamepad.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- ds5-edge
- ds5
- mouse
- keyboard
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ version: 1
kind: CompositeDevice

# Name of the composite device mapping
name: Xbox 360 Gamepad
name: Microsoft X-Box 360 pad

# Only use this profile if *any* of the given matches matches. If this list is
# empty then the source devices will *always* be checked.
Expand Down Expand Up @@ -177,6 +177,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xb360
- mouse
- keyboard
4 changes: 2 additions & 2 deletions rootfs/usr/share/inputplumber/devices/60-xbox_gamepad.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ version: 1
kind: CompositeDevice

# Name of the composite device mapping
name: Xbox Gamepad
name: Microsoft X-Box pad

# Only use this profile if *any* of the given matches matches. If this list is
# empty,then the source devices will *always* be checked.
Expand Down Expand Up @@ -104,6 +104,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xb360
- mouse
- keyboard
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/composite_device_v1.json
# Schema version number
version: 1

# The type of configuration schema
kind: CompositeDevice

# Name of the composite device mapping
name: Microsoft X-Box One Elite pad

# Only use this profile if *any* of the given matches matches. If this list is
# empty,then the source devices will *always* be checked.
# /sys/class/dmi/id/product_name
matches: []

# One or more source devices to combine into a single virtual device. The events
# from these devices will be watched and translated according to the key map.
source_devices:
- group: gamepad
evdev:
vendor_id: "045e"
product_id: "{02e3,0b00}"

# The target input device(s) that the virtual device profile can use
target_devices:
- xbox-elite
- mouse
- keyboard
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ version: 1
kind: CompositeDevice

# Name of the composite device mapping
name: Xbox One Gamepad
name: Microsoft X-Box One pad

# Only use this profile if *any* of the given matches matches. If this list is
# empty,then the source devices will *always* be checked.
Expand All @@ -23,7 +23,7 @@ source_devices:
- group: gamepad
evdev:
vendor_id: "045e"
product_id: "{02d1,02dd,02e3,0b00,02ea,0b12}"
product_id: "{02d1,02dd,02ea,0b12}"

- group: gamepad
evdev:
Expand Down Expand Up @@ -87,6 +87,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xb360
- mouse
- keyboard
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ source_devices:

# The target input device(s) that the virtual device profile can use
target_devices:
- gamepad
- xb360
- mouse
- keyboard
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"keyboard",
"gamepad",
"xb360",
"xbox-elite",
"deck",
"ds5",
"ds5-usb",
Expand Down
Loading

0 comments on commit 558d258

Please sign in to comment.