Main > Software Forum

New ControllerRemap utility, 7/11/13 update available (Version 0.0.11)

<< < (42/47) > >>

drventure:
Oooh.... I think I know what's going on.

It looks like you have 8 sticks installed, but there are pairs that come up with the same ID NAME. Is that correct?

If it is, then what happens in ControllerRemap normally matches on the NAME, not the ID, because the whole problem is that the IDs can change out from under you.
That's why you basically need to just ignore the ID numbers in the list. They're there mainly to point out what IDs windows has set them to "right now". But that doesn't mean when you unplug one and plug it back in, they'll end up with the same id.

What happens is Cremap realizes there's TWO controllers that both have the same name, so it says "Ok the first instance of that controller is "1" and the second instance is "2" etc.

So then, later, when you refer to those controllers in your cfg file, you refer to them as "AK2:1", which actually means "the first instance of a controller in the group of controllers that are all named "AK2".

I hope that makes sense.

One thing you might do in this case is check out the ALIASING feature in cremap.

It allows you to say something like

"AK2:1" = "LeftUpperStick"
"AK2:2" = "LeftLowerStick"

and then refer to them in the CFG file as

"LeftUpperStick" or "LeftLowerStick" so that it reads a little clearer.

mark shaker:
drventure;

I have a Pacmamea MAME Cab with 5 rotating panels.  It has 4 AKI (Arcade Kontrol Interface) boards. Each AKI shows up as a 3 axis joystick + a 2 axis joystick.  One of features of the AKI board was that it could be ordered with different names (AKI1 through AKI4), so that windows would not get the different boards mixed up. And in my experience, Windows has never mixed up one AKI's 3 axis and 2 axis controller.

So I still think that there is a small issue the ControllerRemap (maybe just under with Win10): The IDs given by the /list command do not match the IDs I have to use in <controlleralias> tag.

My list output and <controlleralias> tags are below. Notice that the /list shows AKI4 with IDs 6 and 7, but in the <controlleralias> tags I had to use AKI4 with IDs 1 and 2.

Here is my list:

D:\ControllerRemap>ControllerRemap /list

ControllerRemap Utility v0.0.11.0 - For Mame
(c) 2011 drventure Enterprises


Joystick Device List (Devices are in enumeration order) ...

   1.  'AKI2', ID=2
   2.  'AKI2', ID=3
   3.  'AKI1', ID=0
   4.  'AKI3', ID=4
   5.  'AKI1', ID=1
   6.  'AKI4', ID=6
   7.  'AKI3', ID=5
   8.  'AKI4', ID=7

Mouse Device List (Devices are in enumeration order) ...

   1.  'HID#VID_04B4_PID_0201_MI_01#9_13de298_0_0000#'
   2.  'HID#VID_04B4_PID_0201_MI_00#9_2515205a_0_0000#'
   3.  'HID#VID_D209_PID_1582_MI_01#9_c2ed3e1_0_0000#'
   4.  'HID#VID_0488_PID_0020_Col01#8_20daecd8_0_0000#'
   5.  'HID#VID_0518_PID_0001_MI_01_Col01#8_318ea06_0_0000#'
   6.  'HID#VID_1241_PID_1111#8_2220ff0_0_0000#'
   7.  'HID#VID_D209_PID_1582_MI_02#9_2160e07_0_0000#'

End of list

Here are my <controlleralias> tags:

   <controlleralias>
      <id>AKI1:1</id>
      <alias>Panel1_Left_Stick</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI1:2</id>
      <alias>Panel1_Right_Stick</alias>
   </controlleralias>
   <controlleralias>
      <id>HID#VID_D209_PID_1582_MI_01#9_c2ed3e1_0_0000#</id>
      <alias>Panel2_Left_Trackball</alias>
   </controlleralias>
   <controlleralias>
      <id>HID#VID_D209_PID_1582_MI_02#9_2160e07_0_0000#</id>
      <alias>Panel2_Right_Trackball</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI3:1</id>
      <alias>Panel3_Left_Bat</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI1:1</id>
      <alias>Panel3_Right_Bat</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI3:2</id>
      <alias>Panel3_Left_Stick</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI3:1</id>
      <alias>Panel3_Right_Stick</alias>
   </controlleralias>
   <controlleralias>
      <id>HID#VID_1241_PID_1111#8_2220ff0_0_0000#</id>
      <alias>Panel4_Spinner</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI2:2</id>
      <alias>Panel5_Right_Stick</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI2:1</id>
      <alias>Panel5_Left_Stick</alias>
   </controlleralias>
   <controlleralias>
      <id>HID#VID_04B4_PID_0201_MI_01#9_13de298_0_0000#</id>
      <alias>Panel5_Right_Spinner</alias>
   </controlleralias>
   <controlleralias>
      <id>HID#VID_04B4_PID_0201_MI_00#9_2515205a_0_0000#</id>
      <alias>Panel5_Left_Spinner</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI4:2</id>
      <alias>Right_Pedal</alias>
   </controlleralias>
   <controlleralias>
      <id>AKI4:1</id>
      <alias>Left_Pedal</alias>
   </controlleralias>

I actually have 13 different "ctrlr" .cfg files. (But most share a common section that includes the <controlleralias> tags and <controller> tags for the keyboard and pedals.)  I set the most common ctrlr file as the default, and assign the others to individual games. I set up a batch file that remaps all the ctrlr files that use either mice or analog sticks, and then launches MameUI.

I'm very grateful for ControllerRemap. Without it I would not have been able to upgrade my cabinet to Win10.

   - Mark

drventure:

--- Quote ---So I still think that there is a small issue the ControllerRemap (maybe just under with Win10): The IDs given by the /list command do not match the IDs I have to use in <controlleralias> tag.

--- End quote ---

I don't believe there's an issue here.

The thing is (and I suspect this might be a bit confusing, so I'll look at possibly changing the wording), the ID number that shows in the list generated by /LIST has nothing to do with how to reference a controller in the CFG file.

For instance, I see that you have a single AK stick controller that actually exposes 2 "sticks" to windows, as in AKI4 ID 6 and ID 7.

No problem there.

But, since windows can shift those IDs around on a whim, the ID numbers listed are ONLY valid for RIGHT NOW. They might be (and likely will be) completely different if you unplugged 3 sticks and moved them to different USB ports, or powered off, or any number of other things.

So, consider those ID numbers as for INFORMATION and curiosity only. You really can't use them for much else.


When you go to set up your CFG file (or files), what you need to know is the name of the controller "AKI4" and, if there are multiple instances of it, which instance you want to use.

So, when you reference

"AKI4:2"

this is NOT saying "controller AKI4 with an ID of 2"

instead, it's saying "The second instance of a controller in the group of controllers that are all named "AKI4""



So, in short, while it can be helpful from a debugging perspective to know the joystick ID number (and indeed that's why it's including the the info that the /LIST command outputs), from the standpoint of configuring your controller file, you need to ignore the ID numbers.

mark shaker:

drventure;

I had to re-read the documentation to figure out where I got confused: I did not realize that the JoystickID number given by the list command and the instance number were 2 separate things. (I thought the two processes listed on page 16 for specifying a joystick when there were several with the same name were just different syntax for using the same identifying number.)

I apologize for being so thick.

And now my confusion will be preserved on the internet until the end of time. :-(

   - Mark

drventure:
No worries. It can be a bit confusing to get CtrlRemap working, but then, the problem itself is pretty dang confusing.

Glad you got things going!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version