
Thank you for trying to solve this problem! i had resorted to grabbing the output from a controller remap app, and scripting changes in multiple config files.. This may solve my MAME problems, but still have to deal with the find-and-replace-scripts for other consoles..
This will work where I have a single joystick of a particular model, but if i have 2 joysticks of the same model, it seems to be confusing them. The DirectInput for the Joystics just shows OEMNames instead of Hardware IDs, and since there are multiple matches, i'm having difficulty. I tried changing using both the OEMName and the HardwareIDs in the mapdevice section, but only the Hardware IDs are recognized at this point. (thinking it might be a problem with the way i'm escaping the '&'s or '\' ?)
Any Guidance you can provide would be welcome!
Thanks!
Hardware IDs for 'NES Controllers'
HID\VID_0079&PID_0011\8&34F77B0D&0&0000
HID\VID_0079&PID_0011\8&223DCA68&0&0000
this is my test ctrlr file: testremap.cfg
<mameconfig version="10">
<system name="default">
<input>
<mapdevice device="HID#VID_0079&PID_0011#8" controller="JOYCODE_1" />
<mapdevice device="VID_0079&PID_0011#8" controller="JOYCODE_2" />
<mapdevice device="VID_0079&PID_0011\8" controller="JOYCODE_3" />
<mapdevice device="NES Controller" controller="JOYCODE_4" />
<mapdevice device="NES Controller" controller="JOYCODE_5" />
<port type="UI_UP">
<newseq type="standard">KEYCODE_UP</newseq>
</port>
</input>
</system>
</mameconfig>
D:\Hyperspin\Emulators\MAME\178>mame64.exe -ctrlr testremap -v
Video: Monitor 65537 = "\\.\DISPLAY1" (primary)
Direct3D: Using Direct3D 9
Physical width 1920, height 1080
Direct3D: Initialize
Direct3D: Configuring adapter #0 = NVIDIA GeForce 9800 GT
Direct3D: Using dynamic textures
Direct3D: YUV format = RGB
Direct3D: Max texture size = 8192x8192
Direct3D: Device created at 1920x1080
Direct3D: Initialize HLSL
RawInput: APIs detected
RawInput: APIs detected
RawInput: APIs detected
Sound: XAudio2 created initial buffers. total size: 46080, count 10, size each 4608
Sound: XAudio2 initialized. 57 ms.
Input: Adding Kbd #0: HID Keyboard Device (device id: \\?\HID#VID_413C&PID_2003#8&be5da2c&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding Kbd #1: HID Keyboard Device (device id: \\?\HID#VID_0409&PID_2433&MI_00#7&1c10e4c0&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding Mouse #0: HID-compliant mouse (device id: \\?\HID#VID_047D&PID_1022#8&17f6d9fc&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding Mouse #1: HID-compliant mouse (device id: \\?\HID#VID_0409&PID_2433&MI_01&Col01#7&8e0c882&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding Gun #0: HID-compliant mouse (device id: \\?\HID#VID_047D&PID_1022#8&17f6d9fc&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding Gun #1: HID-compliant mouse (device id: \\?\HID#VID_0409&PID_2433&MI_01&Col01#7&8e0c882&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding Joy #0: N64 Controller (device id: N64 Controller)
Input: Adding Joy #1: NES Controller (device id: NES Controller)
Input: Adding Joy #2: SNES Controller (device id: SNES Controller)
Input: Adding Joy #3: NES Controller (device id: NES Controller)
Input: Adding Joy #4: SNES Controller (device id: SNES Controller)
Input: Adding Joy #5: N64 Controller (device id: N64 Controller)
Input: Adding Joy #6: GP-Wiz40 (device id: GP-Wiz40)
Region ':user1' created
Starting No Driver Loaded ':'
(missing dependencies; rescheduling)
Starting Video Screen ':screen'
Optional device ':screen:finder_dummy_tag' not found
Starting No Driver Loaded ':'
Input: Remapped Joy #3: NES Controller (device id: NES Controller)
Sound: overflows=0, underflows=1
Sound: XAudio2 deinitialized
The result is a single match on the OEMName, but HID doesn't match.