@@ -74,7 +74,10 @@ pub fn controllers() -> Result<Vec<Controller>> {
74
74
&& ( device_info. product_id ( ) == xbox:: XBOX_ONE_S_CONTROLLER_BT_PRODUCT_ID
75
75
|| device_info. product_id ( ) == xbox:: XBOX_ONE_S_LATEST_FW_PRODUCT_ID
76
76
|| device_info. product_id ( ) == xbox:: XBOX_WIRELESS_CONTROLLER_USB_PRODUCT_ID
77
- || device_info. product_id ( ) == xbox:: XBOX_WIRELESS_CONTROLLER_BT_PRODUCT_ID )
77
+ || device_info. product_id ( ) == xbox:: XBOX_WIRELESS_CONTROLLER_BT_PRODUCT_ID
78
+ || device_info. product_id ( ) == xbox:: XBOX_WIRELESS_ELITE_CONTROLLER_USB_PRODUCT_ID
79
+ || device_info. product_id ( ) == xbox:: XBOX_WIRELESS_ELITE_CONTROLLER_BT_PRODUCT_ID
80
+ || device_info. product_id ( ) == xbox:: XBOX_WIRELESS_ELITE_CONTROLLER_BTLE_PRODUCT_ID )
78
81
} )
79
82
. collect ( ) ;
80
83
xbox_controllers. dedup_by ( |a, b| a. serial_number ( ) == b. serial_number ( ) ) ;
@@ -96,6 +99,16 @@ pub fn controllers() -> Result<Vec<Controller>> {
96
99
let controller = xbox:: parse_xbox_controller_data ( device_info, & hidapi) ?;
97
100
controllers. push ( controller) ;
98
101
}
102
+ ( xbox:: MS_VENDOR_ID , xbox:: XBOX_WIRELESS_ELITE_CONTROLLER_BT_PRODUCT_ID ) => {
103
+ debug ! ( "Found Xbox Elite 2 controller: {:?}" , device_info) ;
104
+ let controller = xbox:: parse_xbox_controller_data ( device_info, & hidapi) ?;
105
+ controllers. push ( controller) ;
106
+ }
107
+ ( xbox:: MS_VENDOR_ID , xbox:: XBOX_WIRELESS_ELITE_CONTROLLER_BTLE_PRODUCT_ID ) => {
108
+ debug ! ( "Found Xbox Elite 2 controller: {:?}" , device_info) ;
109
+ let controller = xbox:: parse_xbox_controller_data ( device_info, & hidapi) ?;
110
+ controllers. push ( controller) ;
111
+ }
99
112
_ => { }
100
113
}
101
114
}
0 commit comments