@@ -118,19 +118,15 @@ class InputDev(object):
118
118
Class representing a joystick device config.
119
119
Maps the inputs of the device to event names
120
120
name: the device's name
121
- guid: the GUID, as returned by SDL
122
- pid: the ProductID of the device
123
- vid: the VendorID of the device
121
+ guid: the GUID, as retuned by SDL
124
122
hats - a dictionary of { <HatNo>: list(<HatValue>, <Event>) }
125
123
buttons - a dict of { <ButtonNo>: <Event> }
126
124
axis - a dict of { <AxisNo>: list(<AxisDirection>, <Event>) }
127
125
"""
128
126
129
- def __init__ (self , _name : str , _vid : int , _pid : int ):
127
+ def __init__ (self , _name : str , _guid : str ):
130
128
self .name = _name
131
- self .guid = None
132
- self .vid = _vid
133
- self .pid = _pid
129
+ self .guid = _guid
134
130
self .axis = {}
135
131
self .buttons = {}
136
132
self .hats = {}
@@ -157,7 +153,7 @@ def get_axis_event(self, index: int, value: int) -> list:
157
153
return None
158
154
159
155
def __str__ (self ) -> str :
160
- return str (f'{ self .name } (P: { self . pid } , V: { self . vid } ) , hats: { self .hats } , buttons: { self .buttons } , axis: { self .axis } ' )
156
+ return str (f'{ self .name } , hats: { self .hats } , buttons: { self .buttons } , axis: { self .axis } ' )
161
157
162
158
163
159
def generic_event_map (input : str , event_map : dict ) -> str :
@@ -231,7 +227,7 @@ def get_all_ra_config(def_buttons: list) -> list:
231
227
"""
232
228
ra_config_list = []
233
229
# add a generic mapping at index 0, to be used for un-configured joysticks
234
- generic_dev = InputDev ("*" , None , None )
230
+ generic_dev = InputDev ("*" , "*" )
235
231
generic_dev .add_mappings (
236
232
{}, # no axis
237
233
{0 : 'b' , 1 : 'a' , 3 : 'y' , 4 : 'x' }, # 4 buttons
@@ -240,7 +236,7 @@ def get_all_ra_config(def_buttons: list) -> list:
240
236
ra_config_list .append (generic_dev )
241
237
js_cfg_dir = CONFIG_DIR + '/all/retroarch-joypads/'
242
238
243
- config = ConfigParser (delimiters = "=" , strict = False , interpolation = None , converters = { 'int' : ( lambda s : s . strip ( '"' ))} )
239
+ config = ConfigParser (delimiters = "=" , strict = False , interpolation = None )
244
240
for file in os .listdir (js_cfg_dir ):
245
241
# skip non '.cfg' files
246
242
if not file .endswith ('.cfg' ) or file .startswith ('.' ):
@@ -251,12 +247,8 @@ def get_all_ra_config(def_buttons: list) -> list:
251
247
config .clear ()
252
248
# ConfigParser needs a section, make up a section to appease it
253
249
config .read_string ('[device]\n ' + cfg_file .read ())
254
- LOG .debug (f'Parsing config "{ file } "' )
255
250
conf_vals = config ['device' ]
256
251
dev_name = conf_vals ['input_device' ].strip ('"' )
257
- # fallback to None if there are no PID/VID in the configuration
258
- dev_vid = conf_vals .getint ('input_vendor_id' , None )
259
- dev_pid = conf_vals .getint ('input_product_id' , None )
260
252
261
253
# translate the RetroArch inputs from the configuration file
262
254
axis , buttons , hats = {}, {}, {}
@@ -276,10 +268,9 @@ def get_all_ra_config(def_buttons: list) -> list:
276
268
axis .setdefault (input_index , []).append ((input_value , event_name ))
277
269
else :
278
270
continue
279
- ra_dev_config = InputDev (dev_name , dev_vid , dev_pid )
271
+ ra_dev_config = InputDev (dev_name , None )
280
272
ra_dev_config .add_mappings (axis , buttons , hats )
281
273
ra_config_list .append (ra_dev_config )
282
- LOG .debug (f'Added config for "{ dev_name } " from "{ file } "' )
283
274
except Exception as e :
284
275
LOG .warning (f'Parsing error for { file } : { e } ' )
285
276
continue
@@ -379,16 +370,12 @@ def handle_new_input(e: SDL_Event, axis_norm_value: int = 0) -> bool:
379
370
stick = joystick .SDL_JoystickOpen (event .jdevice .which )
380
371
name = joystick .SDL_JoystickName (stick ).decode ('utf-8' )
381
372
guid = create_string_buffer (33 )
382
- vid = joystick .SDL_JoystickGetVendor (stick )
383
- pid = joystick .SDL_JoystickGetProduct (stick )
384
-
385
373
_SDL_JoystickGetGUIDString (joystick .SDL_JoystickGetGUID (stick ), guid , 33 )
386
- LOG .debug (f'Joystick #{ joystick .SDL_JoystickInstanceID (stick )} { name } (P: { pid } , V: { vid } ) added' )
374
+ LOG .debug (f'Joystick #{ joystick .SDL_JoystickInstanceID (stick )} { name } added' )
387
375
conf_found = False
388
- # try to find a configuration for the joystick, based on name, GUID and Vendor/Product IDs
376
+ # try to find a configuration for the joystick
389
377
for key , dev_conf in enumerate (configs ):
390
- if dev_conf .name == str (name ) or dev_conf .guid == guid .value .decode () or \
391
- (dev_conf .pid == str (pid ) and dev_conf .vid == str (vid )):
378
+ if dev_conf .name == str (name ) or dev_conf .guid == guid .value .decode ():
392
379
# Add the matching joystick configuration to the watched list
393
380
active_devices [joystick .SDL_JoystickInstanceID (stick )] = (key , stick )
394
381
LOG .debug (f'Added configuration for known device { configs [key ]} ' )
0 commit comments