@@ -15,10 +15,13 @@ use thiserror::Error;
1515use tokio:: sync:: mpsc:: { self , error:: TryRecvError } ;
1616use unified_gamepad:: UnifiedGamepadDevice ;
1717
18- use crate :: dbus:: interface:: {
19- performance:: PerformanceInterface ,
20- target:: { gamepad:: TargetGamepadInterface , TargetInterface } ,
21- DBusInterfaceManager ,
18+ use crate :: {
19+ dbus:: interface:: {
20+ performance:: PerformanceInterface ,
21+ target:: { gamepad:: TargetGamepadInterface , TargetInterface } ,
22+ DBusInterfaceManager ,
23+ } ,
24+ input:: target:: xpad:: XBoxController ,
2225} ;
2326
2427use super :: {
@@ -44,9 +47,6 @@ use self::mouse::MouseDevice;
4447use self :: steam_deck:: SteamDeckDevice ;
4548use self :: touchpad:: TouchpadDevice ;
4649use self :: touchscreen:: TouchscreenDevice ;
47- use self :: xb360:: XBox360Controller ;
48- use self :: xbox_elite:: XboxEliteController ;
49- use self :: xbox_series:: XboxSeriesController ;
5050
5151pub mod client;
5252pub mod command;
@@ -61,9 +61,7 @@ pub mod steam_deck_uhid;
6161pub mod touchpad;
6262pub mod touchscreen;
6363pub mod unified_gamepad;
64- pub mod xb360;
65- pub mod xbox_elite;
66- pub mod xbox_series;
64+ pub mod xpad;
6765
6866/// Possible errors for a target device client
6967#[ derive( Error , Debug ) ]
@@ -740,9 +738,7 @@ pub enum TargetDevice {
740738 SteamDeckUhid ( TargetDriver < SteamDeckUhidDevice > ) ,
741739 Touchpad ( TargetDriver < TouchpadDevice > ) ,
742740 Touchscreen ( TargetDriver < TouchscreenDevice > ) ,
743- XBox360 ( TargetDriver < XBox360Controller > ) ,
744- XBoxElite ( TargetDriver < XboxEliteController > ) ,
745- XBoxSeries ( TargetDriver < XboxSeriesController > ) ,
741+ XBoxController ( TargetDriver < XBoxController > ) ,
746742 UnifiedGamepad ( TargetDriver < UnifiedGamepadDevice > ) ,
747743}
748744
@@ -849,20 +845,10 @@ impl TargetDevice {
849845 let driver = TargetDriver :: new_with_options ( id, device, dbus, options) ;
850846 Ok ( Self :: Touchscreen ( driver) )
851847 }
852- "xb360" | "gamepad" => {
853- let device = XBox360Controller :: new ( ) ?;
854- let driver = TargetDriver :: new ( id, device, dbus) ;
855- Ok ( Self :: XBox360 ( driver) )
856- }
857- "xbox-elite" => {
858- let device = XboxEliteController :: new ( ) ?;
859- let driver = TargetDriver :: new ( id, device, dbus) ;
860- Ok ( Self :: XBoxElite ( driver) )
861- }
862- "xbox-series" => {
863- let device = XboxSeriesController :: new ( ) ?;
848+ "xb360" | "gamepad" | "xbox-elite" | "xbox-series" => {
849+ let device = XBoxController :: new ( id. as_str ( ) ) ?;
864850 let driver = TargetDriver :: new ( id, device, dbus) ;
865- Ok ( Self :: XBoxSeries ( driver) )
851+ Ok ( Self :: XBoxController ( driver) )
866852 }
867853 "unified-gamepad" => {
868854 let device = UnifiedGamepadDevice :: new ( ) ?;
@@ -897,11 +883,14 @@ impl TargetDevice {
897883 TargetDevice :: SteamDeckUhid ( _) => vec ! [ "deck-uhid" . try_into( ) . unwrap( ) ] ,
898884 TargetDevice :: Touchpad ( _) => vec ! [ "touchpad" . try_into( ) . unwrap( ) ] ,
899885 TargetDevice :: Touchscreen ( _) => vec ! [ "touchscreen" . try_into( ) . unwrap( ) ] ,
900- TargetDevice :: XBox360 ( _) => {
901- vec ! [ "xb360" . try_into( ) . unwrap( ) , "gamepad" . try_into( ) . unwrap( ) ]
886+ TargetDevice :: XBoxController ( _) => {
887+ vec ! [
888+ "xb360" . try_into( ) . unwrap( ) ,
889+ "gamepad" . try_into( ) . unwrap( ) ,
890+ "xbox-elite" . try_into( ) . unwrap( ) ,
891+ "xbox-series" . try_into( ) . unwrap( ) ,
892+ ]
902893 }
903- TargetDevice :: XBoxElite ( _) => vec ! [ "xbox-elite" . try_into( ) . unwrap( ) ] ,
904- TargetDevice :: XBoxSeries ( _) => vec ! [ "xbox-series" . try_into( ) . unwrap( ) ] ,
905894 TargetDevice :: UnifiedGamepad ( _) => vec ! [ "unified-gamepad" . try_into( ) . unwrap( ) ] ,
906895 }
907896 }
@@ -920,9 +909,7 @@ impl TargetDevice {
920909 TargetDevice :: SteamDeckUhid ( device) => Some ( device. client ( ) ) ,
921910 TargetDevice :: Touchpad ( device) => Some ( device. client ( ) ) ,
922911 TargetDevice :: Touchscreen ( device) => Some ( device. client ( ) ) ,
923- TargetDevice :: XBox360 ( device) => Some ( device. client ( ) ) ,
924- TargetDevice :: XBoxElite ( device) => Some ( device. client ( ) ) ,
925- TargetDevice :: XBoxSeries ( device) => Some ( device. client ( ) ) ,
912+ TargetDevice :: XBoxController ( device) => Some ( device. client ( ) ) ,
926913 TargetDevice :: UnifiedGamepad ( device) => Some ( device. client ( ) ) ,
927914 }
928915 }
@@ -941,9 +928,7 @@ impl TargetDevice {
941928 TargetDevice :: SteamDeckUhid ( device) => device. run ( ) . await ,
942929 TargetDevice :: Touchpad ( device) => device. run ( ) . await ,
943930 TargetDevice :: Touchscreen ( device) => device. run ( ) . await ,
944- TargetDevice :: XBox360 ( device) => device. run ( ) . await ,
945- TargetDevice :: XBoxElite ( device) => device. run ( ) . await ,
946- TargetDevice :: XBoxSeries ( device) => device. run ( ) . await ,
931+ TargetDevice :: XBoxController ( device) => device. run ( ) . await ,
947932 TargetDevice :: UnifiedGamepad ( device) => device. run ( ) . await ,
948933 }
949934 }
0 commit comments