Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: ControllerRemap GUI  (Read 16742 times)

0 Members and 1 Guest are viewing this topic.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
ControllerRemap GUI
« on: May 27, 2015, 07:00:01 pm »


Hi folks. This is a GUI add-on to Dr Venture's excellent tool that allows you to work with swapped usb devices within mame.



Vid here:



More info and download here:
https://controllerremapgui.codeplex.com/

Changelog:

0.6.6:
Fixed bug where null entry causes dbnull error in controls table

0.6.7:
Added Min to Tray and Hide on start to enable 'invisible' start
Added Delete button to controllers table - allows user to select rows and delete via gui.
Added Codeplex link for help.
« Last Edit: April 11, 2016, 06:59:47 pm by stigzler »

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:Yesterday at 06:53:06 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: ControllerRemapGUI
« Reply #1 on: May 27, 2015, 07:12:21 pm »
Damn! Nice job.  :applaud:

Maybe we can collaborate at some point and fold these two into one project?

I've been meaning to get that up into codeplex or github. Just haven't had the time.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemapGUI
« Reply #2 on: May 28, 2015, 12:15:02 pm »
Cheers and sure - no probs :)

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #3 on: May 30, 2015, 09:52:54 am »
If you have a few spare mins, Dr Venture, I'd welcome your checking it out and breaking it as you look well-versed in the whole Mame controller mapping business. I think I know one limitation which is it may only parse one element of the Port element, that being "type" - seems there're some other mame controls which have other elements? such as paddle ('mask' 'revesrse' etc?) Haven't tested out what happens with these. Another fella helped out with the xml parsing code, so not sure what it can and can't handle.

Anywhoos - welcome any feedback and improvement suggestions!

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #4 on: June 03, 2015, 07:24:35 pm »
New Release - 0.6.0.0
Added functions around per-game settings.
Updated documentation on per-game settings.
Overhauled Mame CFG files tab - more useable.
Added ability to view and edit .cfg files.
cfg\.cfg files with no controls now display in app - shows other info such as dipswitches etc.


Main changes to accommodate per-game settings. Related documentation here:

https://controllerremapgui.codeplex.com/wikipage?title=Setting%20up%20Per-Game%20Settings&referringTitle=Documentation

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #5 on: July 09, 2015, 03:34:58 pm »
Hi again,
Sorry, I shouldve posted my issue here instead of the original Remap thread.

So here goes.
I set my controls via GUI, transfer it to CRG_MyRemap.cfg, and hit the WRITE button. It then writes the CFG file. Go into Hyperspin, Mame, etc, and everything is working as it should. When I turn off the computer, reboot, etc, the moues devices lose their IDs and Mame sees them as something else. Ive reinstalled my config three times now and nothing seems to stick. The only thing that still stays are my Ultrastiks and keyboard buttons.

I am using 4 Ultrastik 360s, 1 UTrak Trackball, 1 TurboTwist spinner, and 2 Aimtrak guns.

Attached is my CRG_MyRemap config.

One question, should I remove the digit from the codes? Example, GUNCODE_5_Button 1. Is my problem that GUNCODE is wired to #5? In Mame on reboot, it could be any other number. Im not sure what I missed. Thanks so much for a great app and the help!

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<mameconfig version="10">
  <controlleralias>
    <id>ATRAK Device #1</id>
    <alias>ATRAK 1</alias>
  </controlleralias>
  <controlleralias>
    <id>ATRAK Device #2</id>
    <alias>ATRAK 2</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 1</id>
    <alias>Ultimarc Ultra-Stik Player 1</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 2</id>
    <alias>Ultimarc Ultra-Stik Player 2</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 3</id>
    <alias>Ultimarc Ultra-Stik Player 3</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 4</id>
    <alias>Ultimarc Ultra-Stik Player 4</alias>
  </controlleralias>
  <controlleralias>
    <id>keyboard</id>
    <alias>keyboard</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_D209_PID_15A1#9_21789b04</id>
    <alias>Trackball</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_FAFA_PID_0060#9_98e4f62</id>
    <alias>Spinner</alias>
  </controlleralias>
  <system name="default">
    <controller id="ATRAK 1">
      <input>
        <port type="P1_BUTTON1">
          <newseq type="standard">GUNCODE_5_BUTTON1</newseq>
        </port>
        <port type="P1_LIGHTGUN_X">
          <newseq type="standard">GUNCODE_5_XAXIS</newseq>
        </port>
        <port type="P1_AD_STICK_X">
          <newseq type="standard">GUNCODE_5_XAXIS</newseq>
        </port>
        <port type="P1_LIGHTGUN_Y">
          <newseq type="standard">GUNCODE_5_YAXIS</newseq>
        </port>
        <port type="P1_AD_STICK_Y">
          <newseq type="standard">GUNCODE_5_YAXIS</newseq>
        </port>
        <port type="P1_BUTTON2">
          <newseq type="standard">JOYCODE_5_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="ATRAK 2">
      <input>
        <port type="P2_BUTTON1">
          <newseq type="standard">GUNCODE_6_BUTTON1</newseq>
        </port>
        <port type="P2_LIGHTGUN_X">
          <newseq type="standard">GUNCODE_6_XAXIS</newseq>
        </port>
        <port type="P2_AD_STICK_X">
          <newseq type="standard">GUNCODE_6_XAXIS</newseq>
        </port>
        <port type="P2_LIGHTGUN_Y">
          <newseq type="standard">GUNCODE_6_YAXIS</newseq>
        </port>
        <port type="P2_AD_STICK_Y">
          <newseq type="standard">GUNCODE_6_YAXIS</newseq>
        </port>
        <port type="P2_BUTTON2">
          <newseq type="standard">JOYCODE_6_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="Ultimarc Ultra-Stik Player 1">
      <input>
        <port type="P1_AD_STICK_X">
          <newseq type="standard">JOYCODE_1_XAXIS</newseq>
        </port>
        <port type="P1_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_1_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_1_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P1_AD_STICK_Y">
          <newseq type="standard">JOYCODE_1_YAXIS</newseq>
        </port>
        <port type="P1_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_1_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_1_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="Ultimarc Ultra-Stik Player 2">
      <input>
        <port type="P2_AD_STICK_X">
          <newseq type="standard">JOYCODE_2_XAXIS</newseq>
        </port>
        <port type="P2_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_2_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_2_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P2_AD_STICK_Y">
          <newseq type="standard">JOYCODE_2_YAXIS</newseq>
        </port>
        <port type="P2_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_2_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_2_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="Ultimarc Ultra-Stik Player 3">
      <input>
        <port type="P3_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_3_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_3_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_3_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_3_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="Ultimarc Ultra-Stik Player 4">
      <input>
        <port type="P4_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_4_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_4_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_4_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_4_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="keyboard">
      <input>
        <port type="P1_BUTTON1">
          <newseq type="standard">KEYCODE_A</newseq>
        </port>
        <port type="P1_BUTTON2">
          <newseq type="standard">KEYCODE_B</newseq>
        </port>
        <port type="P1_BUTTON3">
          <newseq type="standard">KEYCODE_C</newseq>
        </port>
        <port type="P1_BUTTON4">
          <newseq type="standard">KEYCODE_D</newseq>
        </port>
        <port type="P1_BUTTON5">
          <newseq type="standard">KEYCODE_E</newseq>
        </port>
        <port type="P1_BUTTON6">
          <newseq type="standard">KEYCODE_F</newseq>
        </port>
        <port type="P2_BUTTON1">
          <newseq type="standard">KEYCODE_G</newseq>
        </port>
        <port type="P2_BUTTON2">
          <newseq type="standard">KEYCODE_H</newseq>
        </port>
        <port type="P2_BUTTON3">
          <newseq type="standard">KEYCODE_I</newseq>
        </port>
        <port type="P2_BUTTON4">
          <newseq type="standard">KEYCODE_J</newseq>
        </port>
        <port type="P2_BUTTON5">
          <newseq type="standard">KEYCODE_K</newseq>
        </port>
        <port type="P2_BUTTON6">
          <newseq type="standard">KEYCODE_L</newseq>
        </port>
        <port type="P3_BUTTON1">
          <newseq type="standard">KEYCODE_M</newseq>
        </port>
        <port type="P3_BUTTON2">
          <newseq type="standard">KEYCODE_N</newseq>
        </port>
        <port type="P3_BUTTON3">
          <newseq type="standard">KEYCODE_O</newseq>
        </port>
        <port type="P3_BUTTON4">
          <newseq type="standard">KEYCODE_Q</newseq>
        </port>
        <port type="P3_BUTTON5">
          <newseq type="standard">KEYCODE_R</newseq>
        </port>
        <port type="P3_BUTTON6">
          <newseq type="standard">KEYCODE_S</newseq>
        </port>
        <port type="P4_BUTTON1">
          <newseq type="standard">KEYCODE_T</newseq>
        </port>
        <port type="P4_BUTTON2">
          <newseq type="standard">KEYCODE_U</newseq>
        </port>
        <port type="P4_BUTTON3">
          <newseq type="standard">KEYCODE_V</newseq>
        </port>
        <port type="P4_BUTTON4">
          <newseq type="standard">KEYCODE_W</newseq>
        </port>
        <port type="P4_BUTTON5">
          <newseq type="standard">KEYCODE_X</newseq>
        </port>
        <port type="P4_BUTTON6">
          <newseq type="standard">KEYCODE_Y</newseq>
        </port>
      </input>
    </controller>
    <controller id="Trackball">
      <input>
        <port type="P1_TRACKBALL_X">
          <newseq type="standard">MOUSECODE_2_XAXIS</newseq>
        </port>
        <port type="P2_TRACKBALL_X">
          <newseq type="standard">MOUSECODE_2_XAXIS</newseq>
        </port>
        <port type="P1_TRACKBALL_Y">
          <newseq type="standard">MOUSECODE_2_YAXIS</newseq>
        </port>
        <port type="P2_TRACKBALL_Y">
          <newseq type="standard">MOUSECODE_2_YAXIS</newseq>
        </port>
      </input>
    </controller>
    <controller id="Spinner">
      <input>
        <port type="P1_DIAL">
          <newseq type="standard">MOUSECODE_3_XAXIS</newseq>
        </port>
        <port type="P2_DIAL">
          <newseq type="standard">MOUSECODE_3_XAXIS</newseq>
        </port>
      </input>
    </controller>
    <input />
  </system>
</mameconfig>

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #6 on: July 09, 2015, 04:05:27 pm »
First thing to check is that you have no controls mapped in your default.cfg and [game].cfg files in your Mame/cfg folder. If you do, then these will supersede any controls set in the ControllerRemap.cfg. You can check this via the ControllerRemapGUI interface.

Fuller explanation here:

https://controllerremapgui.codeplex.com/wikipage?title=Setting%20up%20Per-Game%20Settings&referringTitle=Documentation

I'd recommend reading this page fully first, then making sure no controls are mapped in the Mame Cfg files.

Let me know how you get on.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #7 on: July 09, 2015, 04:07:22 pm »
There are controls in my default.cfg which I thought was supposed to be blank. How do I make it so it never gets written in?


Sent from my iPhone using Tapatalk

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #8 on: July 09, 2015, 04:24:52 pm »
Hmmm.. thought it might be that and remember deliberating over this when knocking it together.

I could include a setting to allow the user to automatically delete any default/[game].cfg files on CRG boot and this would prevent the issue you're having. However, if you have any other info in there such as dipswitch settings or game info, this will obviously also be lost (as per the linked page I referenced). That's why I left it manual deletion.

Guess I could include a backup feature... let me have a look at it...

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #9 on: July 09, 2015, 04:31:03 pm »
So manual deletion of default.cfg is necessary, to leave it blank. Mame usually makes its own default.cfg if the file is erased, so I just cleared the contents. Right now I'm setting up the controls for everything, and should see what happens. What if we change the default.cfg file to read only, instead of it writing? Also, I think per game settings like bezels and dips are written to the game name cfg, no?

Usually when I cleared the CFG folder, I would lose all my bezel settings and had to redo them. Food for thought. And seriously, thanks for the help. Once I've finished with the controls I'll reboot and see if it sticks.


Sent from my iPhone using Tapatalk

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #10 on: July 09, 2015, 05:12:39 pm »
Yes you have it right. Did you read through that link I posted - that covers all this.

Deletion of the default.cfg or [game].cfg isn't absolutely necessary for your control setups to work, but deletion of the controls within those is. If you are wanting to preserve your dips and bezels then you'll have to manually change the individual game.cfgs, removing all the controls and leaving the other xml components. Two minute job for one game using the mame cfg tab. Not up to automating that part just yet - as thinking that might be quite a bit of coding and busy onother things.

However, am coding in a blunt instrument of remove + backup mame cfgs by default.



MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #11 on: July 09, 2015, 05:34:57 pm »
I read through the link you sent. It explains a lot.

One good note, I set the default.cfg to Read Only in the windows properties, shut off the cabinet, unplugged it, had a smoke, and when I started it up, everything now works as expected. I confirmed in CRGUI that there was nothing in the Mame default.cfg.  So far so good!


Sent from my iPhone using Tapatalk

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #12 on: July 09, 2015, 06:36:15 pm »
New Release - 0.6.5.0

Added AutoClear settings option:
- clears mame.cfg files on running CRGUI via command line.
- option to backup the files before deletion
- used as blunt measure to ensure mame.cfgs don't supersede controls in ctrlr.cfg
- if you're looking to maintain none control .cfg data - clear controls by hand.

Usual place: https://controllerremapgui.codeplex.com/releases/view/616187
Explanation of concepts behind this:
https://controllerremapgui.codeplex.com/wikipage?title=Setting%20up%20Per-Game%20Settings&referringTitle=Documentation

Let me know how you get on with this one, Mydknyte

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #13 on: July 09, 2015, 06:37:02 pm »
Will definitely try it out. You rock


Sent from my iPhone using Tapatalk

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #14 on: July 10, 2015, 12:27:00 pm »
Ok gave it a test, checked AutoClear for the Mame default cfg. Ran Mame through command line (mame tempest -ctrlr CRG_MyRemap) and played. Exited game, checked default.cfg in CRGUI and on its own, and it is still populated with commands. I cleared the default.cfg via GUI, and made the file a READ ONLY, and it works when I boot the comp on and off. Food for thought.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #15 on: July 10, 2015, 01:13:10 pm »
Just tested this end with the new code + there's no problems. All working as should.

I'm a little confused by your post above. You are running CtrlRemapGUI via command line before you launch Mame separately? That is, you have run CtrlRemapGUI.exe to get it to map any enumerated usb controls to mame BEFORE running mame.

As per the documentation on the site, you'd need to run TWO command lines:

>CtrlRemapGUI.exe -rmap ""

and then:

>mame64.exe -nowindow -ctrl MyRemap

You really shouldn't be having a problem if so, but let me know.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #16 on: July 10, 2015, 01:40:53 pm »
Now Im confused. I never ran CtrlRemapGUI.exe before hand. I just used mame (rom) -ctrlr CRG_MyRemap and it worked.

Right now what Im doing is going through the Street Fighter games. I am setting the buttons for each game, and then loading them up in the GUI, setting the Aliases, then transfering and writing to the new CFG. So my CRG_MyRemap.cfg starts to show default, sf2, tempest, etc.

Since I set the default settings in the main Mame menu, should I have to reset the keys per game? Its not a problem to do it, but I assume that I write everything to the CRG_MyRemap file, and then can delete the contents of the rom's cfg file.

I read the guide numerous times, and I may have not comprehended the process. I watched your video twice as well.


MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #17 on: July 10, 2015, 01:55:03 pm »
Ok nevermind I got it to work. I realize now that the CFG files have to be empty, default has to be blank, and using the new AutoClear, I can have all of the buttons defaulted. I only have to enter custom buttons for specific games, not all.

So when I start hyperspin, I should only be throwing the -ctrlr CRG_MyRemap parameter, not the CtrlRemapGUI.exe -rmap ""?

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #18 on: July 10, 2015, 02:49:29 pm »
What you need to do is on the main/front codeplex page. Basically, if you unplug and replug in usb devices, you  need to run ctrlremapgui as above to remap the ctrl cfg file. Ill leave you to read the frontpage or the controllerremap doumentation as it should become clear form this.

Onc e you understand/follow the instructions  you should be golden.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #19 on: July 11, 2015, 03:59:46 pm »
Everything seems to work okay, except for the Aimtraks. Upon reboot they end up not working, but the trackball and spinner work. After reading the documentation over and over, I still have a question or two.

Using CRGUI, I checked my detected hardware, moved Aimtrak 1 and 2, and the Mouse version IDs into my controllers
I renamed Aimtrak's IDs by taking off the last digits (_0_0000)

I set up Mame's default controls, give them aliases, transfer them to my CRG_MyRemap.cfg, and make sure all checkboxes are marked in the Mame tab when I refresh.

I write the CFG, then do a Test with the CRGUI. The auto delete pops up, erases all files in my CFG folder, and loads the game. When I enter Mame, I immediately hit TAB to make sure my set controls are in the menu, which they are.

The guns are set in Mame to Gun5 and Gun6, as per my CFG file. But when I reboot, the guns are given new numbers via mame, although the IDs are the same in CRGUI.

What Im confused about is the parameters. Am I always supposed to do CtrlRemapGUI.exe -rmap "" -mame (game) or just use mame (game) -ctrlr CRG_MyRemap via Hyperspin? Im under the assumption that the first code just remaps any detected devices to the CRG_MyRemap.cfg file. I dont unplug anything from the USBs.

Any insight? Thanks!

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #20 on: July 11, 2015, 04:40:05 pm »
Well, as per the documentation on the first page of the codeplex page, there are different ways of using the command line as there are for most Front End/Emulators setups. I don't use Hyperspin - so bit difficult to advise you on that. Maybe you can get one of your Hypserspin buddies to help out with this issue?

Basically, you must remap the .cfg file in the CTRL folder before booting mame.

The simplest way to do this is to run the command line:
Code: [Select]
CtrlRemapGUI.exe -rmap ""And then Boot mame, but with the -ctrl MyRemap added to however you are dong this.

So, if you have a "Launch/Run Before" facility in Hyperspin (that is execute a command line before the main command line to run mame) then you would use:
Code: [Select]
CtrlRemapGUI.exe -rmap ""there.
Then you would add the "-ctrl [Your default CRemap file]" switch and parameter to the main HS Mame execute method.

The "CtrlRemapGUI.exe -rmap "" -mame (game)" is a way to do it all in one command line, but you will need a way for HS to populate the mame gamename to the single command line.

I think you might be best seeking the advice of your colleagues, here if you get stuck:
http://www.hyperspin-fe.com/topic/9539-controller-remap-gui/
« Last Edit: July 11, 2015, 04:44:34 pm by stigzler »

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #21 on: July 11, 2015, 04:41:59 pm »
thanks!


Sent from my iPhone using Tapatalk

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #22 on: July 11, 2015, 04:43:29 pm »
Check above for edits.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #23 on: July 11, 2015, 07:56:50 pm »
Sorry to bother you again, but now something is happening that I can't explain.

When I use the CtrlRemapGUI.exe -rmap "" command, my CRG_MyRemap.cfg file gets extra code written in. The issue is, I have the defaults set to Guncode 9 and 10 respectively, and the GUI adds more input codes. I didnt understand where the code was coming from, so I decided to start fresh with a new install. I deleted all of the CRGUI folders, cfg files, and started Mame with a blank default.

Did the whole process, entered controllers, mame settings, aliases, transfers and test. When I do the test in the GUI, the code is written in again.
The other weird thing I noticed is that when I did a fresh install, CRGUI already knew where my Mame was (on a D drive) and already had my aliases intact, which led me to believe that there is some code somewhere on my machine that pertains to CRGUI.

Any ideas? I'm so close to getting this thing working, and this new dilemma is baffling me.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #24 on: July 12, 2015, 02:34:33 am »
Ok. On your first issue, post the remap.cfg before and after remapping (ie. Running crg from command line). it will add or ammend the code in the remap file as thats the whole point of controller remap. It might be useful for you to read the documentation that comes with controllerremap (the original, not the gui). That should give you some understanding of how it works.

On your second point, yeah. Crg settings are saved in appdata/roaming so you dont have to resetup again. Nothing to worry about..

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #25 on: July 12, 2015, 05:59:21 pm »
What's happening is when I build the CFG file in GUI, I see exactly what I put in. When I click Test, it writes new inputs which are incorrect to my CFG setup.

I went through every guide, video and such, and the issue is my newly written Input isnt matching what I entered.

Here is my CRG_MyRemap.cfg after Written, with the Joycode,Guncode and Mousecode numbers removed.

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<mameconfig version="10">
  <controlleralias>
    <id>ATRAK Device #1:1</id>
    <alias>ATRAK Gun 1</alias>
  </controlleralias>
  <controlleralias>
    <id>ATRAK Device #2:2</id>
    <alias>ATRAK Gun 2</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 1:1</id>
    <alias>UltraStik Joy 1</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 2:2</id>
    <alias>UltraStik Joy 2</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 3:3</id>
    <alias>UltraStik Joy 3</alias>
  </controlleralias>
  <controlleralias>
    <id>Ultimarc Ultra-Stik Player 4:4</id>
    <alias>UltraStik Joy 4</alias>
  </controlleralias>
  <controlleralias>
    <id>keyboard</id>
    <alias>keyboard</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_D209_PID_15A1#9_21789b04</id>
    <alias>Trackball</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_FAFA_PID_0060#9_98e4f62</id>
    <alias>Spinner</alias>
  </controlleralias>
  <system name="default">
    <controller id="ATRAK Gun 1">
      <input>
        <port type="P1_BUTTON1">
          <newseq type="standard">GUNCODE_BUTTON1</newseq>
        </port>
        <port type="P1_AD_STICK_X">
          <newseq type="standard">GUNCODE_XAXIS</newseq>
        </port>
        <port type="P1_LIGHTGUN_X">
          <newseq type="standard">GUNCODE_XAXIS</newseq>
        </port>
        <port type="P1_AD_STICK_Y">
          <newseq type="standard">GUNCODE_YAXIS</newseq>
        </port>
        <port type="P1_LIGHTGUN_Y">
          <newseq type="standard">GUNCODE_YAXIS</newseq>
        </port>
        <port type="P1_BUTTON2">
          <newseq type="standard">JOYCODE_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="ATRAK Gun 2">
      <input>
        <port type="P2_BUTTON1">
          <newseq type="standard">GUNCODE_BUTTON1</newseq>
        </port>
        <port type="P2_AD_STICK_X">
          <newseq type="standard">GUNCODE_XAXIS</newseq>
        </port>
        <port type="P2_LIGHTGUN_X">
          <newseq type="standard">GUNCODE_XAXIS</newseq>
        </port>
        <port type="P2_LIGHTGUN_Y">
          <newseq type="standard">GUNCODE_YAXIS</newseq>
        </port>
        <port type="P2_AD_STICK_Y">
          <newseq type="standard">GUNCODE_YAXIS</newseq>
        </port>
        <port type="P2_BUTTON2">
          <newseq type="standard">JOYCODE_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="UltraStik Joy 1">
      <input>
        <port type="P1_PADDLE">
          <newseq type="standard">JOYCODE_XAXIS</newseq>
        </port>
        <port type="P1_AD_STICK_X">
          <newseq type="standard">JOYCODE_XAXIS</newseq>
        </port>
        <port type="P1_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P1_PADDLE_V">
          <newseq type="standard">JOYCODE_YAXIS</newseq>
        </port>
        <port type="P1_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="UltraStik Joy 2">
      <input>
        <port type="P1_POSITIONAL">
          <newseq type="standard">JOYCODE_XAXIS</newseq>
        </port>
        <port type="P2_AD_STICK_X">
          <newseq type="standard">JOYCODE_XAXIS</newseq>
        </port>
        <port type="P2_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P1_POSITIONAL_V">
          <newseq type="standard">JOYCODE_YAXIS</newseq>
        </port>
        <port type="P2_AD_STICK_Y">
          <newseq type="standard">JOYCODE_YAXIS</newseq>
        </port>
        <port type="P2_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="UltraStik Joy 3">
      <input>
        <port type="P1_JOYSTICKLEFT_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
        <port type="P3_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="UltraStik Joy 4">
      <input>
        <port type="P2_JOYSTICKRIGHT_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_LEFT">
          <newseq type="standard">JOYCODE_XAXIS_LEFT_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_RIGHT">
          <newseq type="standard">JOYCODE_XAXIS_RIGHT_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_DOWN">
          <newseq type="standard">JOYCODE_YAXIS_DOWN_SWITCH</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
        <port type="P4_JOYSTICK_UP">
          <newseq type="standard">JOYCODE_YAXIS_UP_SWITCH</newseq>
        </port>
      </input>
    </controller>
    <controller id="keyboard">
      <input>
        <port type="P1_START">
          <newseq type="standard">KEYCODE_1</newseq>
        </port>
        <port type="P2_START">
          <newseq type="standard">KEYCODE_2</newseq>
        </port>
        <port type="P3_START">
          <newseq type="standard">KEYCODE_3</newseq>
        </port>
        <port type="P4_START">
          <newseq type="standard">KEYCODE_4</newseq>
        </port>
        <port type="P1_SELECT">
          <newseq type="standard">KEYCODE_5</newseq>
        </port>
        <port type="P2_SELECT">
          <newseq type="standard">KEYCODE_6</newseq>
        </port>
        <port type="P3_SELECT">
          <newseq type="standard">KEYCODE_7</newseq>
        </port>
        <port type="P4_SELECT">
          <newseq type="standard">KEYCODE_8</newseq>
        </port>
        <port type="P1_BUTTON1">
          <newseq type="standard">KEYCODE_A</newseq>
        </port>
        <port type="P1_BUTTON2">
          <newseq type="standard">KEYCODE_B</newseq>
        </port>
        <port type="P1_BUTTON3">
          <newseq type="standard">KEYCODE_C</newseq>
        </port>
        <port type="P1_BUTTON4">
          <newseq type="standard">KEYCODE_D</newseq>
        </port>
        <port type="P1_BUTTON5">
          <newseq type="standard">KEYCODE_E</newseq>
        </port>
        <port type="P1_BUTTON6">
          <newseq type="standard">KEYCODE_F</newseq>
        </port>
        <port type="P2_BUTTON1">
          <newseq type="standard">KEYCODE_G</newseq>
        </port>
        <port type="P2_BUTTON2">
          <newseq type="standard">KEYCODE_H</newseq>
        </port>
        <port type="P2_BUTTON3">
          <newseq type="standard">KEYCODE_I</newseq>
        </port>
        <port type="P2_BUTTON4">
          <newseq type="standard">KEYCODE_J</newseq>
        </port>
        <port type="P2_BUTTON5">
          <newseq type="standard">KEYCODE_K</newseq>
        </port>
        <port type="P2_BUTTON6">
          <newseq type="standard">KEYCODE_L</newseq>
        </port>
        <port type="P3_BUTTON1">
          <newseq type="standard">KEYCODE_M</newseq>
        </port>
        <port type="P3_BUTTON2">
          <newseq type="standard">KEYCODE_N</newseq>
        </port>
        <port type="P3_BUTTON3">
          <newseq type="standard">KEYCODE_O</newseq>
        </port>
        <port type="P3_BUTTON4">
          <newseq type="standard">KEYCODE_Q</newseq>
        </port>
        <port type="P3_BUTTON5">
          <newseq type="standard">KEYCODE_R</newseq>
        </port>
        <port type="P3_BUTTON6">
          <newseq type="standard">KEYCODE_S</newseq>
        </port>
        <port type="P4_BUTTON1">
          <newseq type="standard">KEYCODE_T</newseq>
        </port>
        <port type="P4_BUTTON2">
          <newseq type="standard">KEYCODE_U</newseq>
        </port>
        <port type="P4_BUTTON3">
          <newseq type="standard">KEYCODE_V</newseq>
        </port>
        <port type="P4_BUTTON4">
          <newseq type="standard">KEYCODE_W</newseq>
        </port>
        <port type="P4_BUTTON5">
          <newseq type="standard">KEYCODE_X</newseq>
        </port>
        <port type="P4_BUTTON6">
          <newseq type="standard">KEYCODE_Y</newseq>
        </port>
      </input>
    </controller>
    <controller id="Trackball">
      <input>
        <port type="P1_TRACKBALL_X">
          <newseq type="standard">MOUSECODE_XAXIS</newseq>
        </port>
        <port type="P2_TRACKBALL_X">
          <newseq type="standard">MOUSECODE_XAXIS</newseq>
        </port>
        <port type="P1_TRACKBALL_Y">
          <newseq type="standard">MOUSECODE_YAXIS</newseq>
        </port>
        <port type="P2_TRACKBALL_Y">
          <newseq type="standard">MOUSECODE_YAXIS</newseq>
        </port>
      </input>
    </controller>
    <controller id="Spinner">
      <input>
        <port type="P1_DIAL">
          <newseq type="standard">MOUSECODE_XAXIS</newseq>
        </port>
        <port type="P2_DIAL">
          <newseq type="standard">MOUSECODE_XAXIS</newseq>
        </port>
      </input>
    </controller>
    <input />
  </system>
</mameconfig>


And after using either the CMD line ControllerRemap /Remap:"D:\Arcade\MAME\mame 0162\ctrlr\CRG_MyRemap.cfg" , or using the Test option in the GUI with Auto Delete checked, I get this new input written below my code, which doesnt match the Guns set in mame (9 and 10) and most of my P2,P3 and P4 code missing.
Code: [Select]
    <input>
      <port type="P1_BUTTON1">
        <newseq type="standard">GUNCODE_5_BUTTON1 OR KEYCODE_A</newseq>
      </port>
      <port type="P1_AD_STICK_X">
        <newseq type="standard">GUNCODE_5_XAXIS OR JOYCODE_1_XAXIS</newseq>
      </port>
      <port type="P1_LIGHTGUN_X">
        <newseq type="standard">GUNCODE_5_XAXIS</newseq>
      </port>
      <port type="P1_AD_STICK_Y">
        <newseq type="standard">GUNCODE_5_YAXIS</newseq>
      </port>
      <port type="P1_LIGHTGUN_Y">
        <newseq type="standard">GUNCODE_5_YAXIS</newseq>
      </port>
      <port type="P1_BUTTON2">
        <newseq type="standard">JOYCODE_5_BUTTON1 OR KEYCODE_B</newseq>
      </port>
      <port type="P1_PADDLE">
        <newseq type="standard">JOYCODE_1_XAXIS</newseq>
      </port>
      <port type="P1_JOYSTICK_LEFT">
        <newseq type="standard">JOYCODE_1_XAXIS_LEFT_SWITCH</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_LEFT">
        <newseq type="standard">JOYCODE_1_XAXIS_LEFT_SWITCH</newseq>
      </port>
      <port type="P1_JOYSTICK_RIGHT">
        <newseq type="standard">JOYCODE_1_XAXIS_RIGHT_SWITCH</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_RIGHT">
        <newseq type="standard">JOYCODE_1_XAXIS_RIGHT_SWITCH</newseq>
      </port>
      <port type="P1_PADDLE_V">
        <newseq type="standard">JOYCODE_1_YAXIS</newseq>
      </port>
      <port type="P1_JOYSTICK_DOWN">
        <newseq type="standard">JOYCODE_1_YAXIS_DOWN_SWITCH</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_DOWN">
        <newseq type="standard">JOYCODE_1_YAXIS_DOWN_SWITCH</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_UP">
        <newseq type="standard">JOYCODE_1_YAXIS_UP_SWITCH</newseq>
      </port>
      <port type="P1_JOYSTICK_UP">
        <newseq type="standard">JOYCODE_1_YAXIS_UP_SWITCH</newseq>
      </port>
      <port type="P1_START">
        <newseq type="standard">KEYCODE_1</newseq>
      </port>
      <port type="P2_START">
        <newseq type="standard">KEYCODE_2</newseq>
      </port>
      <port type="P3_START">
        <newseq type="standard">KEYCODE_3</newseq>
      </port>
      <port type="P4_START">
        <newseq type="standard">KEYCODE_4</newseq>
      </port>
      <port type="P1_SELECT">
        <newseq type="standard">KEYCODE_5</newseq>
      </port>
      <port type="P2_SELECT">
        <newseq type="standard">KEYCODE_6</newseq>
      </port>
      <port type="P3_SELECT">
        <newseq type="standard">KEYCODE_7</newseq>
      </port>
      <port type="P4_SELECT">
        <newseq type="standard">KEYCODE_8</newseq>
      </port>
      <port type="P1_BUTTON3">
        <newseq type="standard">KEYCODE_C</newseq>
      </port>
      <port type="P1_BUTTON4">
        <newseq type="standard">KEYCODE_D</newseq>
      </port>
      <port type="P1_BUTTON5">
        <newseq type="standard">KEYCODE_E</newseq>
      </port>
      <port type="P1_BUTTON6">
        <newseq type="standard">KEYCODE_F</newseq>
      </port>
      <port type="P2_BUTTON1">
        <newseq type="standard">KEYCODE_G</newseq>
      </port>
      <port type="P2_BUTTON2">
        <newseq type="standard">KEYCODE_H</newseq>
      </port>
      <port type="P2_BUTTON3">
        <newseq type="standard">KEYCODE_I</newseq>
      </port>
      <port type="P2_BUTTON4">
        <newseq type="standard">KEYCODE_J</newseq>
      </port>
      <port type="P2_BUTTON5">
        <newseq type="standard">KEYCODE_K</newseq>
      </port>
      <port type="P2_BUTTON6">
        <newseq type="standard">KEYCODE_L</newseq>
      </port>
      <port type="P3_BUTTON1">
        <newseq type="standard">KEYCODE_M</newseq>
      </port>
      <port type="P3_BUTTON2">
        <newseq type="standard">KEYCODE_N</newseq>
      </port>
      <port type="P3_BUTTON3">
        <newseq type="standard">KEYCODE_O</newseq>
      </port>
      <port type="P3_BUTTON4">
        <newseq type="standard">KEYCODE_Q</newseq>
      </port>
      <port type="P3_BUTTON5">
        <newseq type="standard">KEYCODE_R</newseq>
      </port>
      <port type="P3_BUTTON6">
        <newseq type="standard">KEYCODE_S</newseq>
      </port>
      <port type="P4_BUTTON1">
        <newseq type="standard">KEYCODE_T</newseq>
      </port>
      <port type="P4_BUTTON2">
        <newseq type="standard">KEYCODE_U</newseq>
      </port>
      <port type="P4_BUTTON3">
        <newseq type="standard">KEYCODE_V</newseq>
      </port>
      <port type="P4_BUTTON4">
        <newseq type="standard">KEYCODE_W</newseq>
      </port>
      <port type="P4_BUTTON5">
        <newseq type="standard">KEYCODE_X</newseq>
      </port>
      <port type="P4_BUTTON6">
        <newseq type="standard">KEYCODE_Y</newseq>
      </port>
      <port type="P1_TRACKBALL_X">
        <newseq type="standard">MOUSECODE_10_XAXIS</newseq>
      </port>
      <port type="P2_TRACKBALL_X">
        <newseq type="standard">MOUSECODE_10_XAXIS</newseq>
      </port>
      <port type="P1_TRACKBALL_Y">
        <newseq type="standard">MOUSECODE_10_YAXIS</newseq>
      </port>
      <port type="P2_TRACKBALL_Y">
        <newseq type="standard">MOUSECODE_10_YAXIS</newseq>
      </port>
      <port type="P1_DIAL">
        <newseq type="standard">MOUSECODE_9_XAXIS</newseq>
      </port>
      <port type="P2_DIAL">
        <newseq type="standard">MOUSECODE_9_XAXIS</newseq>
      </port>
    </input>
  </system>
</mameconfig>


This is the phantom code I was talking about earlier. Now I realize that ControllerRemap runs and grabs inputs from the connected devices, but all of them are connected. My only other option now is to do the code run from beginning to end with each controller, which I saw mentioned in your guide.
Thanks again for your help.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #26 on: July 12, 2015, 06:20:35 pm »
I'll take a look sometime. Could you attach both files (pre + post rempa) in their entirety (i.e. unedited)

As a matter of interest - why are you removing the gun.mouse and joycode numbers from the controlleralias section? All being well, you shouldn't have to manually edit the xml at all (it doesn't matter about the numbers being wrong in the controlleralias section - they're stripped and modified by controllerremap anyway).

Also, try taking out the Number entries for each device. You only need to number them if they are non-unique. Your device IDs are unique.

Sorry you're having difficulty. Shall endeavor to help when circumstances are advantageous...

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #27 on: July 12, 2015, 07:11:50 pm »
I took out the Joy/Gun/MouseCODE numbers as mentioned in Dr.Venture's guide. I know CR is supposed to ignore them, but I figured play it safe.

Attached is my CRG_MyRemap, before test or using CtrlRemapGUI.exe /rmap "", and then the altered version after running through CR. Any insight you might be able to provide will be most appreciated.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #28 on: July 13, 2015, 02:10:41 pm »
Ok. Few questions:

1. When you ran CR + remapped the controls - which controllers did you have plugged in? Your xml implies you only had 1 Lightgun, 1 Ultra-Stik, your trackball and spinner plugged in. ControllerRemap will only populate the controls that you have plugged in at the time of running in the "</controller><input>...</input>" area.

2. I'm not sure what you mean by "phantom code" - are you referring to the code under the <controller> definitions - if so - this is meant to be there after running ControllerRemap.

3. Because you've removed the original Controller numbers - this makes it harder to help. It may be that when you mapped the original GUNCODES (for e.g.) it registered in MAME as GUNCODE_1. If the USB setup is changed through reboot/replugging, then this can change your controller enumeration. Thus, GUNCODE_1 may become GUNCODE_5 in MAME - the number changing in you [myremap].cfg is not problematic - it's meant to happen. Test your current device enumeration by manually booting Mame and re-setting your Gun calibration. In your example - test in mame to see if the gun now registers in there as GUNCODE_5.

Here's what I suggest you do:

a. Don't run before walking. Just setup 1 SlikStick and 1 Gun in mame. Transfer to [myremap].cfg. Leave the numbers in and post the original [myremap].cfg xml before remap.

b. Remap and run game. Then post the xml after remap. Test in Mame. Share test.

c. Rejiggle these controllers until the device enumeration changes in mame (for e.g. GUNCODE_1 changes to GUNCODE_5 or something).

d. Remap and run game. Post the remap xml. Share test.

I'm confused with your difficulties and wish someone would chip in with whether they're having difficulties or whether it's running smoothly for them - then I'd be able to tell whether it's the code or something else....

Good luck, brother.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #29 on: July 13, 2015, 09:32:52 pm »
SOLVED! After rereading the guides, something clicked last night. First, in the GUI, I used Atrak Mouse 1 and Joy 1 together, setting the buttons with the Joy 1, and the X and Y with Mouse 1. When I ran the test, it wrote the cfg file with the correct inputs. Since I didn't have the mouse settings in the CRG_MyRemap file for the guns, Mame was filling in the blanks.

Second, to ensure the file was being written every time I start up the process, my code is
CtrlRemapGUI.exe -ramp "D:\Arcade\Mame\mame 0162\ctrlr\CRG_MyRemap.cfg"
By using an absolute path, and since my Mame is on a D drive, I wanted a guarantee where it was loading from.

Now, everything is clear. I've rebooted numerous times and the controllers load up as expected. Hyperspin loads up CtrlRemapGUI and writes the cfg, and the Mame module loads up the specific Cfg on game start.

The only catch I noticed is that if I use AutoClear, Mame gets weird and doesn't write the new cfg file. I clear the default.cfg but don't delete it.

I can't thank you enough for your help. Your guide stated to persevere with this, and I did. Now the headache is gone. Thanks again for making a fantastic app.


Sent from my iPhone using Tapatalk

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #30 on: July 14, 2015, 02:44:45 am »
Glad you finally figured it out and that it wasnt my code! Could you also update your hs post to help other hs users. That is, how to run crgui from hs.

As a matter of interest- whats your first language?

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #31 on: July 15, 2015, 07:29:41 pm »
Okay, here is how I incorporated ControllerRemap GUI with Hyperspin.

In HyperHQ, under Startup program, choose your CtrlRemapGUI.exe file.
The parameter should read
-rmap "Absolute Path\CRG_MyRemap.cfg"

The absolute path should be where your CRG_MyRemap.cfg file is, in your ctrlr folder in Mame. For example, my code reads
-rmap "D:\Arcade\Mame\mame 0162\ctrlr\CRG_MyRemap.cfg"
Use quotes if you have spaces in your path, as I do in mame 0162. I thoroughly recommend using absolute paths, since you know it will definitely point to the required file.

Some tips I learned along the way
READ the ControllerRemap guide from Dr.Venture, READ Stigzler's Guide, WATCH his video, and work slowly.

I originally tried to input all of the controls at once. I have four U360s, two Aimtraks, a UTrak and a TurboTwist. Its smarter to do one control set at a time, when using the Run Mame button in CRGUI. Another thing, when you transfer the inputs with aliases from the Mame.cfg to the CRG_MyRemap.cfg, I find if you select all of them, Transfer, be SURE to check the Refresh button on the Mame.cfg tab. Sometimes not all of the controls transfer over to the CRG_MyRemap tab. I think this is because if you have one highlighted in blue, it may or may not transfer. I adopted the practice of selecting everything by clicking on the top left blank square, checking the Transfer checkbox, clicking over to the CRG_MyRemap tab, then clicking back to Mame.cfg. Nothing should be highlighted, and you can then press TRANSFER

For the Aimtrak guns, you should have two aliases upon detection. One being the ATRAK Gun 1, another being the ATRAK Mouse 1. You will need both when setting the aliases for the guns in Mame.cfg tab.
I didnt realize this, and just used ATRAK Gun 1 for all gun settings, including the Lightgun X and Y, AD Stick X and Y (for positional gun games), Gun button 1 for the trigger, and Joycode Button for the side buttons. The problem is, if you dont have the correct settings and aliases, Mame will not see them and fill in your code with its defaults. This is where the phantom code came from, as I said above.

That being said, set your gun buttons (trigger and bomb buttons) using the ATRAK Gun 1 alias (or whatever number the gun is), and set the X and Y for the gun using the ATRAK Mouse alias. This should solve any problems you may have when running ControllerRemap.

After a week of running the code, and bothering the hell out of stigzler, I finally caught wind of how the program works, and I have to say, upon numerous reboots, not one ID has changed in Mame, and everything runs smoothly. If you want to confirm that your code has been written to the CRG_MyRemap, when you enter Mame, hit TAB, and you should see your controls there. Dont pay any mind to the numbers of your guns, trackballs or spinners. They change in Mame, but ControllerRemap stops that ---steaming pile of meadow muffin--- cold and ensures your periphreals work.

Thanks again Dr. Venture and Stigzler for solving the major Mame problem. :applaud: :applaud: :applaud:

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #32 on: July 16, 2015, 02:41:12 am »
Thanks, man, for the detailed writeup. That should help other users. And yeah, you gotta be careful with those aimtraks... they are both mouse and gamepad.

lisowskikevin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 326
  • Last login:April 02, 2024, 07:49:55 pm
  • If you take shortcuts, you get cut short.
Re: ControllerRemap GUI
« Reply #33 on: September 22, 2015, 10:37:37 am »
Real basic question.....what button do you press to delete a saved device in the device tab of the gui?

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #34 on: September 22, 2015, 10:39:23 am »
I think it was Delete, but you could only do it if the IDs were unlocked, or something like that. I had that issue early on, but since I'm not in front of my rig, I don't recall exactly how I did it.


Sent from my iPhone using Tapatalk

lisowskikevin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 326
  • Last login:April 02, 2024, 07:49:55 pm
  • If you take shortcuts, you get cut short.
Re: ControllerRemap GUI
« Reply #35 on: September 22, 2015, 10:41:01 am »
I think it was Delete, but you could only do it if the IDs were unlocked, or something like that. I had that issue early on, but since I'm not in front of my rig, I don't recall exactly how I did it.


Sent from my iPhone using Tapatalk

Haha ok good I'm not the only one. Thanks! Delete doesn't seem to work.....I'll just wait for a reply from Stigzler.
« Last Edit: September 22, 2015, 12:09:58 pm by lisowskikevin »

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #36 on: September 22, 2015, 05:52:11 pm »
You highlight the row by clicking the row header (the right arrow) and then press the "Del" key - not backspace.

Think I fixed the having to unlock the IDs first - work without unlock on the most recent version anyway...

lisowskikevin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 326
  • Last login:April 02, 2024, 07:49:55 pm
  • If you take shortcuts, you get cut short.
Re: ControllerRemap GUI
« Reply #37 on: September 22, 2015, 06:02:30 pm »
You highlight the row by clicking the row header (the right arrow) and then press the "Del" key - not backspace.

Think I fixed the having to unlock the IDs first - work without unlock on the most recent version anyway...

Thank you for this and for for post re: the other topic and my self generated problem with the GUI that you have now remedied. All good now!

lisowskikevin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 326
  • Last login:April 02, 2024, 07:49:55 pm
  • If you take shortcuts, you get cut short.
Re: ControllerRemap GUI
« Reply #38 on: September 22, 2015, 09:41:20 pm »
Well I'm almost all squared away but.....I'm having a little issue with Hyperspin.

I have selected in Hyper HQ to run the Controller RemapGUI on startup.....so far so good.

Then when I actually start Hyperspin, Controller Remap does start up, (as it is supposed to) BUT the GUI window overtakes the Hyperspin window! SO I then went back into Hyper HQ and selected to have Controller Remap start up in hidden mode instead of Normal mode. I started Hyperspin up again and there was no Controller Remap window BUT none of my buttons work.

Anyone know how to remedy this....I'm so close!

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #39 on: September 22, 2015, 09:44:03 pm »
I have it start up in minimized, where upon starting HS I see a quick flash of the GUI window then it minimizes. It's not the ideal situation visually, but at least I know the GUI is running.


Sent from my iPhone using Tapatalk

lisowskikevin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 326
  • Last login:April 02, 2024, 07:49:55 pm
  • If you take shortcuts, you get cut short.
Re: ControllerRemap GUI
« Reply #40 on: September 22, 2015, 10:09:54 pm »
I have it start up in minimized, where upon starting HS I see a quick flash of the GUI window then it minimizes. It's not the ideal situation visually, but at least I know the GUI is running.


Sent from my iPhone using Tapatalk

Ok so I went back into Hyper HQ and I select minimize but when I close out and restart Hyper HQ its set back to normal? How do you make it stick in Hyper HQ? Sorry to be a pain!

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #41 on: September 23, 2015, 05:33:14 pm »
lisowskikevin - check your email - sent a new build which should hopefully solve your probs. Let me know the outcome so if OK will update the public download on the codeplex site.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #42 on: September 26, 2015, 03:26:32 am »
Updates:

0.6.6:
Fixed bug where null entry causes dbnull error in controls table

0.6.7:
Added Minimize to Tray and Hide on start to enable 'invisible' start
Added Delete button to controllers table - allows user to select rows and delete via gui.
Added Codeplex link for help.

lisowskikevin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 326
  • Last login:April 02, 2024, 07:49:55 pm
  • If you take shortcuts, you get cut short.
Re: ControllerRemap GUI
« Reply #43 on: September 26, 2015, 04:41:08 am »
New build tested works great! Thanks so much to Stigzler for the update and fix!!!

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #44 on: March 30, 2016, 05:14:18 pm »
I noticed a weird error of sorts with my setup. Im using ControllRemapGUI 6.7, and the game in question is Battlezone.

I have a four player CP, and in Mame I have the sticks set up 3-1-2-4 as far as players go.
My default setup in CRGUI is 3-1 for the Left/Left and Right/Right for Player 1, (SmashTV,etc), and 2-4 for the L/L and R/R for Player 2

For a game like Battlezone (bzone), I set up Joy 1 and 2 as the controls, imported the bzone.cfg settings into my CRG_Remap, write and test. The bzone listing is there, and it worked fine.

Fast forward two weeks later, when I tried to redo my controls. I figured since bzone was already in the list, I wouldnt have to remap it. I remapped all the default controls, and when I test bzone, it shows my default settings instead of the bzone settings which already existed. The only way I can get bzone to work again is to delete it off of the CRG_Remap list, and reinstate the cfg file and transfer the exact same settings over.

The issue is, I have already added over fifty games to my Remap list, and I'm afraid I might have to do it all over again since I updated my default controls. Is there something I am doing wrong?

I have the CRGUI settings to delete the cfg files and make backups on Test. Thanks for any help you can provide.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #45 on: April 05, 2016, 11:51:20 am »
Solved it. Turns out when I removed the Default controls from my cfg file, I broke it somehow. The easy fix was to open my CRG_MyRemap.cfg file in the second tab (where I assign controls with my components) and Transfer the existing CFG to the Write/Test tab, which then makes everything work okay again.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #46 on: April 05, 2016, 01:51:33 pm »
Glad you got it sorted.

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #47 on: April 06, 2016, 07:25:57 am »
First things first: This is awesome.

Second: While I got everything working in Testmode, I can't get it to work with Hyperspin.

I can see Hyperspin starting a dos window on boot up. Now when I exit Hyperspin, the Gui logo is in the tray but will close on mouseover like it shutdown.

I checked all path a couple of times and can't find the problem. Could it somehow collide with led blinky?

edit:

Nope, nothing to do with led blinky. From my understanding: Launching the gui from the cmd with -rmap "" should write your default cfg into you default.ini. Is that correct? Because that's not happening. Launching -rmap "" -mame "rom" does work from cmd without problems, though.
« Last Edit: April 06, 2016, 07:51:21 am by Endprodukt »

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #48 on: April 06, 2016, 09:38:11 am »
Can you post your Hyperspin log from Rocketlauncher?


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #49 on: April 06, 2016, 11:48:36 am »
I'm not using Rocket Launcher. I'm on Hyperspin 1.1 and don't plan on changing that as it's working as expected - including all the emulators. Countless hours of work back in the day.

But: It should just work the same.

Just for my understanding...

Hyperlaunch is supposed to launch the Gui, which will than load the correct inputs to the ctrlr.cfg file? So it seems like Mame is not reading from it as long as mame is not launched by the guy itself.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #50 on: April 06, 2016, 11:56:03 am »
That sounds right to me. How are you sending the code from Hyperspin? What is the context of your code?


Sent from my iPhone using Tapatalk

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #51 on: April 06, 2016, 11:59:13 am »
That sounds right to me. How are you sending the code from Hyperspin? What is the context of your code?


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #52 on: April 06, 2016, 12:01:15 pm »
I'm doing it like you explained, with the Hyperspin HQ, using Startup.

I took a look at the log of hyperspin and it's pretty much doing what it's supposed to do, this is the command line it's throwing out:

CtrlRemapGUI.exe -rmap "c:\mame\ctrlr\crg_blank.cfg" (I left it to the standart name for now, but it's works when I launch mame from the gui and from the cmd)

Is the GUI supposed to stay open in the background? Because from my understanding it will rewrite the crg_blank.cfg for mame so Mame reads it first with the correct inputs? Am I getting somehing wrong here?

Starting a game in Mame from Hyperspin results in the default settings. 



MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #53 on: April 06, 2016, 12:03:57 pm »
The GUI stays in your task bar and goes away when HS closes. Do you have cfg files in your CFG folder? if you have the default in there, Mame will always read that first. Ideally your default.cfg should be blank


Sent from my iPhone using Tapatalk

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #54 on: April 06, 2016, 12:05:02 pm »
What you should try is check the Auto erase tick in the GUI and set backups. That way when GUI runs it deletes everything in the CFG folder, then reads your Blank file.


Sent from my iPhone using Tapatalk

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #55 on: April 06, 2016, 12:06:20 pm »
The best way to check if your default.cfg is blank is to check it in your GUI tab, the one where you load up your settings. Not in front of the PC at the moment so not sure name of tab. It's the second tab


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #56 on: April 06, 2016, 12:11:09 pm »
default is blank, all game.ini's have been removed for now. So that's not the problem.

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #57 on: April 06, 2016, 12:14:50 pm »
Also, starting ctrlremapgui.exe -rmap "" doesn't start the gui. It's just gives me a dos windows for half a second, starts the tray that will close on mouseover.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #58 on: April 06, 2016, 12:16:12 pm »
Not the inis, the cfgs. Right?

The only way I would think Mame is loading the default settings instead of your custom is because there is a default.cfg somewhere that's being read first. Your code is right and the placement is correct but Mame is seeing a default setting somewhere.


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #59 on: April 06, 2016, 12:19:18 pm »
Fresh mame install, no default.ini or cfg's or anything to be found anywhere :( I think it wouldn't work in the cmd either when launching Mame from the Gui...but that works perfectly fine.
« Last Edit: April 06, 2016, 12:22:24 pm by Endprodukt »

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #60 on: April 06, 2016, 12:22:41 pm »
Okay I think I'm misunderstanding you. In Mame there's a CFG and CTRLR folder. In the CFG folder a default.cfg resides whenever you start Mame. It's automatic. Whenever you change the controls the default changes. When you want to fool Mame with CRGUI, you have to have a blank empty default.cfg file in the CFG folder, and your custom one in CTRLR.

In the GUI there's an option to install a blank Mame cfg file on the last tab. Try that then start up HS. If the default is blank, the next file read will be your Custom.cfg file.


Sent from my iPhone using Tapatalk

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #61 on: April 06, 2016, 12:23:13 pm »
This whole thing has nothing to do with ini files.


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #62 on: April 06, 2016, 12:34:19 pm »
Sorry , mistaken ini for cfg... I meant cfg.

Default.cfg is empty, cfg folder just has the default.cfg that I put in via GUI.

Again...it WORKS with mame beeing launched by the GUI!

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #63 on: April 06, 2016, 12:37:28 pm »
Am I right that when I get this to work, I will have to redo ALL my special single game setups?

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #64 on: April 06, 2016, 12:37:44 pm »
Then the problem is definitely HyperHQ. If you say the command is being sent by HS via your log, I'm not see why it's not loading. Can you post your log from HS?


Sent from my iPhone using Tapatalk

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #65 on: April 06, 2016, 12:38:20 pm »
You shouldn't have to


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #66 on: April 06, 2016, 12:42:24 pm »
Before I post a log....just by theory:

I run this command line:

ctrlremapgui.exe -rmap "c:\mame\ctrlr\crk_blank.cfg"

Now by my understanding this SHOULD start GUI and leave it open in the tray.

Now I go in to my mame folder with CMD and start a game and it should use the settings from the GUI.

Because that's the exact order how HS would do it. But it's not working like that. Neither in HS nor from CMD. ONLY by launching Mame from the GUI. Don't get it actually.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #67 on: April 06, 2016, 12:51:22 pm »
No that's not how it works. You send the GUI command from Mame once. Including sending the rom name. Not one then the other.  Post your log


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #68 on: April 06, 2016, 02:39:56 pm »

That "error initialising joystick" line seems not to be connected to GUI but to HQ not using josticks on my system.

Quote
03:46:37 AM |  HyperSpin Started
03:46:37 AM |  Going FullScreen
03:46:37 AM |  LEDBlinky is set to active
03:46:37 AM |  Found LEDBlinky.exe
03:46:37 AM |  Running LEDBlinky
03:46:37 AM |  Command Line is: "D:\Mame\Led Blinky\LEDBlinky.exe" 1
03:46:37 AM |  Checking for updates
03:46:37 AM |  Update Check Complete
03:46:37 AM |  Startup program: CtrlRemapGUI.exe
03:46:37 AM |  Startup params: -rmap "c:\mame\ctrlr\crg_blank.cfg"
03:46:37 AM |  Working directory: C:\remap\
03:46:37 AM |  Window State: NORMAL
03:46:37 AM |  Launching CtrlRemapGUI.exe
03:46:37 AM |  Command Line is CtrlRemapGUI.exe -rmap "c:\mame\ctrlr\crg_blank.cfg"
03:46:37 AM |  Error intializing joysticks
03:46:37 AM |  Menu Mode is single
03:46:37 AM |  Loading MAME.xml
03:46:37 AM |  Command Line is: "D:\Mame\Led Blinky\LEDBlinky.exe" 7 "MAME"
03:46:37 AM |  MAME.xml successfully loaded
03:46:38 AM |  MAME wheel loaded successfully
03:46:38 AM |  Command Line is: "D:\Mame\Led Blinky\LEDBlinky.exe" 9 "88games"
03:46:46 AM |  Command Line is: "D:\Mame\Led Blinky\LEDBlinky.exe" 9 "88games"
03:46:47 AM |  Launching Game
03:46:47 AM |  Command Line is: "D:\Mame\Led Blinky\LEDBlinky.exe" 3 "88games"
03:46:47 AM |  Using alternate exe MAME
03:46:47 AM |  Running in normal rom mode
03:46:47 AM |  Excecutable is mame.exe
03:46:47 AM |  Command Line is: "C:\Mame\mame.exe" "C:\Mame\roms\88games.zip"
03:46:53 AM |  Quiting Hyperspin
03:46:53 AM |  Command Line is: "D:\Mame\Led Blinky\LEDBlinky.exe" 2
03:46:53 AM |  Bye!

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #69 on: April 06, 2016, 05:03:12 pm »
Midnight's your guy, End. He got it up and working on HS. Sorry - i don't use HS.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #70 on: April 06, 2016, 06:50:18 pm »
Okay I have to ask, are you params case sensitive? I noticed that you have a D drive with a capitalized Mame, and your C drive you don't. Plus I think the C should be capitalized too


Sent from my iPhone using Tapatalk

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #71 on: April 07, 2016, 02:08:05 am »
Okay I have to ask, are you params case sensitive? I noticed that you have a D drive with a capitalized Mame, and your C drive you don't. Plus I think the C should be capitalized too


I doubt that case sensitive letters are the problem, cmd doesn't care.

Again, HS does start a DOS Window. So it's doing something. The GUI itself isn't doing anything though from this command.

using:

ctrlremapgui.exe -rmap "" -mame game

WORKS!

ctrlremapguiexe -rmap ""

Does nothing for me. I don't understand what this is supposed to do anyways because this way it is not followed by a MAME command until I select a game.


stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #72 on: April 07, 2016, 02:17:29 am »
Just for clarity, if you don't use hyperspin, does CRGUI work as your expecting it to? (i.e. does it work just using cmd?)

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #73 on: April 07, 2016, 02:22:03 am »
Oh, and:

1. Try specifying the name of your remap .cfg file rather than leaving it just ""

2. You do know that you have to have HS send the name of the remap file with the Mame boot cmd line?

So, HS would have to construct and execute:

>CtrlRemapGUI.exe -rmap "c:\mame\ctrlr\crg_blank.cfg"

and then...

>mame64.exe -nowindow -ctrl crg_blank

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #74 on: April 07, 2016, 02:31:06 pm »
Ignore above 2 posts.

Concerning this:

Quote

03:46:37 AM |  Command Line is CtrlRemapGUI.exe -rmap "c:\mame\ctrlr\crg_blank.cfg"
......
03:46:47 AM |  Command Line is: "C:\Mame\mame.exe" "C:\Mame\roms\88games.zip"

 The Two lines above concern me. I know it's my own app, but can't remember specifically, but you need to stop HS generating this:

Code: [Select]
CtrlRemapGUI.exe -rmap "c:\mame\ctrlr\crg_blank.cfg"
and change it to:

Code: [Select]
CtrlRemapGUI.exe -rmap "crg_blank.cfg"
and make sure you've set all the paths in the Defaults tab correctly (Mame path included)

and also, this line looks bad:

Code: [Select]
"C:\Mame\mame.exe" "C:\Mame\roms\88games.zip"
HS needs to be generating:

Code: [Select]
"C:\Mame\mame.exe"  -ctrl crg_blank
All as per the guidance here:

https://controllerremapgui.codeplex.com/
« Last Edit: April 07, 2016, 02:33:08 pm by stigzler »

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #75 on: April 08, 2016, 09:38:02 am »
Ok, got it to read now. Your Mame CMD was wrong though, it needs -ctrlr, not -ctrl.

Last problem left now is that LED Blinky reads the default.cfg to set color in Hyperspin correctly. I hope I can work that out.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #76 on: April 08, 2016, 04:59:43 pm »
Glad you got it working + thanks for pointing out the switch error - corrected this on the codeplex site.

Could you please share how you got it working to help others if they ever have similar problems.

As for LED Blinky - I have no idea how this works with default.cfg. However, the auto-delete default.cfg on boot option in CRGUI is a bit of a hammer to crack a nut. If you work carefully, You can leave a single, standard default.cfg in place.

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #77 on: April 09, 2016, 03:31:40 am »
It's actually rather easy. There was just a missing link on my side ;)

How I got it working with Hyperspin:

Ok, go into Hyper HQ. Go to "Startup" and setup your Startup Program as CtrlRemapGui.Exe. Set Params to: -rmap yourconfig.cfg (in my case crg_blank.cfg, located in the ctrlr folder of mame!)

Go to your Mame Wheel Settings:

Set everything up like in the mame.png I posted and set this parameter: -ctrlr yourconfig

Should work like that.

Now I also got LED Blinky working by just pointing it to the controller file (crg_blank.cfg) as that one was missing :)



« Last Edit: April 11, 2016, 04:47:23 pm by Endprodukt »

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #78 on: April 11, 2016, 04:06:24 pm »
Thanks man. That'll be a help to any Hyperspinners.

Not being pedantic, but just to point out:

Go to your Mame Wheel Settings:
Set everything up like in the mame.png I posted and set this parameter: -ctrlr yourconfig.cfg

should read: "-ctrlr yourconfig"

if you do "-ctrlr yourconfig.cfg" it won't work. It's right in your screenshots.

Again - thanks for sharing and especially for taking the time to grab a couple of screenies.

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #79 on: April 11, 2016, 04:47:48 pm »
Edited!

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #80 on: April 25, 2016, 07:38:35 am »
I can't setup my Spinners correctly. They should use the spot "Dial Analog" in the default config but will not be bound to them in MAME. Controller Port says DIAL only, might that be a problem? Changing it to P1_DIAL_ANALOG didn't help though.

Looking at the Default Config (launched by RemapGUI) it will change the Guns correctly but Spinner 1, Spinner 2 and Trackball are all set to Mouse 1. I can however set them in the Mame default.cfg (which I deleted afterwards). Am I missing something here?

Here is my ctrl.cfg:

Code: [Select]
<mameconfig version="10">
  <controlleralias>
    <id>keyboard</id>
    <alias>keyboard</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_D209_PID_1601_MI_02#9_375eebb1</id>
    <alias>Gun 1 Mouse</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_D209_PID_1602_MI_02#a_2d683b22</id>
    <alias>Gun 2 Mouse</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_1241_PID_1111#8_1933e90a</id>
    <alias>Spinner 2</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_D209_PID_15A1#8_1d39b884</id>
    <alias>Trackball</alias>
  </controlleralias>
  <controlleralias>
    <id>ATRAK Device #1</id>
    <alias>Gun 1 Pad</alias>
  </controlleralias>
  <controlleralias>
    <id>ATRAK Device #2</id>
    <alias>Gun 2 PAD</alias>
  </controlleralias>
  <controlleralias>
    <id>HID#VID_1241_PID_1111#8_2bed99af</id>
    <alias>Spinner 1</alias>
  </controlleralias>
  <system name="default">
    <controller id="keyboard">
      <input>
        <port type="P1_JOYSTICK_UP">
          <newseq type="standard">KEYCODE_UP</newseq>
        </port>
        <port type="P1_JOYSTICK_DOWN">
          <newseq type="standard">KEYCODE_DOWN</newseq>
        </port>
        <port type="P1_JOYSTICK_LEFT">
          <newseq type="standard">KEYCODE_LEFT</newseq>
        </port>
        <port type="P1_JOYSTICK_RIGHT">
          <newseq type="standard">KEYCODE_RIGHT</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_UP">
          <newseq type="standard">KEYCODE_UP</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_DOWN">
          <newseq type="standard">KEYCODE_DOWN</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_LEFT">
          <newseq type="standard">KEYCODE_LEFT</newseq>
        </port>
        <port type="P1_JOYSTICKRIGHT_RIGHT">
          <newseq type="standard">KEYCODE_RIGHT</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_UP">
          <newseq type="standard">KEYCODE_Q</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_DOWN">
          <newseq type="standard">KEYCODE_W</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_LEFT">
          <newseq type="standard">KEYCODE_E</newseq>
        </port>
        <port type="P1_JOYSTICKLEFT_RIGHT">
          <newseq type="standard">KEYCODE_R</newseq>
        </port>
        <port type="P1_BUTTON2">
          <newseq type="standard">KEYCODE_S</newseq>
        </port>
        <port type="P1_BUTTON3">
          <newseq type="standard">KEYCODE_D</newseq>
        </port>
        <port type="P1_BUTTON4">
          <newseq type="standard">KEYCODE_Z</newseq>
        </port>
        <port type="P1_BUTTON5">
          <newseq type="standard">KEYCODE_X</newseq>
        </port>
        <port type="P1_BUTTON6">
          <newseq type="standard">KEYCODE_C</newseq>
        </port>
        <port type="P1_BUTTON7">
          <newseq type="standard">KEYCODE_F</newseq>
        </port>
        <port type="P1_BUTTON8">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON9">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON10">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON11">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON12">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON13">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON14">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON15">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P1_BUTTON16">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P2_JOYSTICK_UP">
          <newseq type="standard">KEYCODE_8PAD</newseq>
        </port>
        <port type="P2_JOYSTICK_DOWN">
          <newseq type="standard">KEYCODE_5PAD</newseq>
        </port>
        <port type="P2_JOYSTICK_LEFT">
          <newseq type="standard">KEYCODE_4PAD</newseq>
        </port>
        <port type="P2_JOYSTICK_RIGHT">
          <newseq type="standard">KEYCODE_6PAD</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_UP">
          <newseq type="standard">KEYCODE_T</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_DOWN">
          <newseq type="standard">KEYCODE_Y</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_LEFT">
          <newseq type="standard">KEYCODE_U</newseq>
        </port>
        <port type="P2_JOYSTICKRIGHT_RIGHT">
          <newseq type="standard">KEYCODE_I</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_UP">
          <newseq type="standard">KEYCODE_8PAD</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_DOWN">
          <newseq type="standard">KEYCODE_5PAD</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_LEFT">
          <newseq type="standard">KEYCODE_4PAD</newseq>
        </port>
        <port type="P2_JOYSTICKLEFT_RIGHT">
          <newseq type="standard">KEYCODE_6PAD</newseq>
        </port>
        <port type="P2_BUTTON2">
          <newseq type="standard">KEYCODE_H</newseq>
        </port>
        <port type="P2_BUTTON3">
          <newseq type="standard">KEYCODE_J</newseq>
        </port>
        <port type="P2_BUTTON4">
          <newseq type="standard">KEYCODE_B</newseq>
        </port>
        <port type="P2_BUTTON5">
          <newseq type="standard">KEYCODE_N</newseq>
        </port>
        <port type="P2_BUTTON6">
          <newseq type="standard">KEYCODE_M</newseq>
        </port>
        <port type="P2_BUTTON7">
          <newseq type="standard">KEYCODE_K</newseq>
        </port>
        <port type="P2_BUTTON8">
          <newseq type="standard">NONE</newseq>
        </port>
        <port type="P3_JOYSTICK_UP">
          <newseq type="standard">KEYCODE_Q</newseq>
        </port>
        <port type="P3_JOYSTICK_DOWN">
          <newseq type="standard">KEYCODE_W</newseq>
        </port>
        <port type="P3_JOYSTICK_LEFT">
          <newseq type="standard">KEYCODE_E</newseq>
        </port>
        <port type="P3_JOYSTICK_RIGHT">
          <newseq type="standard">KEYCODE_R</newseq>
        </port>
        <port type="P3_BUTTON1">
          <newseq type="standard">KEYCODE_1PAD</newseq>
        </port>
        <port type="P3_BUTTON2">
          <newseq type="standard">KEYCODE_2PAD</newseq>
        </port>
        <port type="P3_BUTTON3">
          <newseq type="standard">KEYCODE_3PAD</newseq>
        </port>
        <port type="P3_BUTTON4">
          <newseq type="standard">KEYCODE_0PAD</newseq>
        </port>
        <port type="P4_JOYSTICK_UP">
          <newseq type="standard">KEYCODE_T</newseq>
        </port>
        <port type="P4_JOYSTICK_DOWN">
          <newseq type="standard">KEYCODE_Y</newseq>
        </port>
        <port type="P4_JOYSTICK_LEFT">
          <newseq type="standard">KEYCODE_U</newseq>
        </port>
        <port type="P4_JOYSTICK_RIGHT">
          <newseq type="standard">KEYCODE_I</newseq>
        </port>
        <port type="P4_BUTTON1">
          <newseq type="standard">KEYCODE_SLASHPAD</newseq>
        </port>
        <port type="P4_BUTTON2">
          <newseq type="standard">KEYCODE_ASTERISK</newseq>
        </port>
        <port type="P4_BUTTON3">
          <newseq type="standard">KEYCODE_MINUSPAD</newseq>
        </port>
        <port type="P4_BUTTON4">
          <newseq type="standard">KEYCODE_PLUSPAD</newseq>
        </port>
        <port type="UI_CONFIGURE">
          <newseq type="standard">KEYCODE_5 KEYCODE_DELPAD</newseq>
        </port>
        <port type="UI_PAUSE">
          <newseq type="standard">KEYCODE_DELPAD</newseq>
        </port>
        <port type="P1_BUTTON1">
          <newseq type="standard">KEYCODE_A</newseq>
        </port>
        <port type="P2_BUTTON1">
          <newseq type="standard">KEYCODE_G</newseq>
        </port>
      </input>
    </controller>
    <controller id="Gun 1 Mouse">
      <input>
        <port type="P1_LIGHTGUN_X">
          <newseq type="standard">GUNCODE_5_XAXIS</newseq>
        </port>
        <port type="P1_LIGHTGUN_Y">
          <newseq type="standard">GUNCODE_5_YAXIS</newseq>
        </port>
        <port type="P1_BUTTON1">
          <newseq type="standard">GUNCODE_1_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="Gun 2 Mouse">
      <input>
        <port type="P2_LIGHTGUN_X">
          <newseq type="standard">GUNCODE_1_XAXIS</newseq>
        </port>
        <port type="P2_LIGHTGUN_Y">
          <newseq type="standard">GUNCODE_1_YAXIS</newseq>
        </port>
        <port type="P2_BUTTON1">
          <newseq type="standard">GUNCODE_2_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="Spinner 2">
      <input>
        <port type="P2_DIAL">
          <newseq type="standard">MOUSECODE_3_XAXIS</newseq>
        </port>
      </input>
    </controller>
    <controller id="Trackball">
      <input>
        <port type="P1_TRACKBALL_X">
          <newseq type="standard">MOUSECODE_2_XAXIS</newseq>
        </port>
        <port type="P2_TRACKBALL_X">
          <newseq type="standard">MOUSECODE_2_XAXIS</newseq>
        </port>
        <port type="P1_TRACKBALL_Y">
          <newseq type="standard">MOUSECODE_2_YAXIS</newseq>
        </port>
        <port type="P2_TRACKBALL_Y">
          <newseq type="standard">MOUSECODE_2_YAXIS</newseq>
        </port>
        <port type="P1_MOUSE_X">
          <newseq type="standard">MOUSECODE_2_XAXIS</newseq>
        </port>
        <port type="P1_MOUSE_Y">
          <newseq type="standard">MOUSECODE_2_YAXIS</newseq>
        </port>
      </input>
    </controller>
    <controller id="Gun 1 Pad">
      <input>
        <port type="P1_BUTTON2">
          <newseq type="standard">JOYCODE_1_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="Gun 2 PAD">
      <input>
        <port type="P2_BUTTON2">
          <newseq type="standard">JOYCODE_2_BUTTON1</newseq>
        </port>
      </input>
    </controller>
    <controller id="Spinner 1">
      <input>
        <port type="P1_DIAL">
          <newseq type="standard">MOUSECODE_4_XAXIS</newseq>
        </port>
      </input>
    </controller>
    <input>
      <port type="P1_JOYSTICK_UP">
        <newseq type="standard">KEYCODE_UP</newseq>
      </port>
      <port type="P1_JOYSTICK_DOWN">
        <newseq type="standard">KEYCODE_DOWN</newseq>
      </port>
      <port type="P1_JOYSTICK_LEFT">
        <newseq type="standard">KEYCODE_LEFT</newseq>
      </port>
      <port type="P1_JOYSTICK_RIGHT">
        <newseq type="standard">KEYCODE_RIGHT</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_UP">
        <newseq type="standard">KEYCODE_UP</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_DOWN">
        <newseq type="standard">KEYCODE_DOWN</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_LEFT">
        <newseq type="standard">KEYCODE_LEFT</newseq>
      </port>
      <port type="P1_JOYSTICKRIGHT_RIGHT">
        <newseq type="standard">KEYCODE_RIGHT</newseq>
      </port>
      <port type="P1_JOYSTICKLEFT_UP">
        <newseq type="standard">KEYCODE_Q</newseq>
      </port>
      <port type="P1_JOYSTICKLEFT_DOWN">
        <newseq type="standard">KEYCODE_W</newseq>
      </port>
      <port type="P1_JOYSTICKLEFT_LEFT">
        <newseq type="standard">KEYCODE_E</newseq>
      </port>
      <port type="P1_JOYSTICKLEFT_RIGHT">
        <newseq type="standard">KEYCODE_R</newseq>
      </port>
      <port type="P1_BUTTON2">
        <newseq type="standard">KEYCODE_S OR JOYCODE_1_BUTTON1</newseq>
      </port>
      <port type="P1_BUTTON3">
        <newseq type="standard">KEYCODE_D</newseq>
      </port>
      <port type="P1_BUTTON4">
        <newseq type="standard">KEYCODE_Z</newseq>
      </port>
      <port type="P1_BUTTON5">
        <newseq type="standard">KEYCODE_X</newseq>
      </port>
      <port type="P1_BUTTON6">
        <newseq type="standard">KEYCODE_C</newseq>
      </port>
      <port type="P1_BUTTON7">
        <newseq type="standard">KEYCODE_F</newseq>
      </port>
      <port type="P1_BUTTON8">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON9">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON10">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON11">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON12">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON13">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON14">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON15">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P1_BUTTON16">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P2_JOYSTICK_UP">
        <newseq type="standard">KEYCODE_8PAD</newseq>
      </port>
      <port type="P2_JOYSTICK_DOWN">
        <newseq type="standard">KEYCODE_5PAD</newseq>
      </port>
      <port type="P2_JOYSTICK_LEFT">
        <newseq type="standard">KEYCODE_4PAD</newseq>
      </port>
      <port type="P2_JOYSTICK_RIGHT">
        <newseq type="standard">KEYCODE_6PAD</newseq>
      </port>
      <port type="P2_JOYSTICKRIGHT_UP">
        <newseq type="standard">KEYCODE_T</newseq>
      </port>
      <port type="P2_JOYSTICKRIGHT_DOWN">
        <newseq type="standard">KEYCODE_Y</newseq>
      </port>
      <port type="P2_JOYSTICKRIGHT_LEFT">
        <newseq type="standard">KEYCODE_U</newseq>
      </port>
      <port type="P2_JOYSTICKRIGHT_RIGHT">
        <newseq type="standard">KEYCODE_I</newseq>
      </port>
      <port type="P2_JOYSTICKLEFT_UP">
        <newseq type="standard">KEYCODE_8PAD</newseq>
      </port>
      <port type="P2_JOYSTICKLEFT_DOWN">
        <newseq type="standard">KEYCODE_5PAD</newseq>
      </port>
      <port type="P2_JOYSTICKLEFT_LEFT">
        <newseq type="standard">KEYCODE_4PAD</newseq>
      </port>
      <port type="P2_JOYSTICKLEFT_RIGHT">
        <newseq type="standard">KEYCODE_6PAD</newseq>
      </port>
      <port type="P2_BUTTON2">
        <newseq type="standard">KEYCODE_H OR JOYCODE_2_BUTTON1</newseq>
      </port>
      <port type="P2_BUTTON3">
        <newseq type="standard">KEYCODE_J</newseq>
      </port>
      <port type="P2_BUTTON4">
        <newseq type="standard">KEYCODE_B</newseq>
      </port>
      <port type="P2_BUTTON5">
        <newseq type="standard">KEYCODE_N</newseq>
      </port>
      <port type="P2_BUTTON6">
        <newseq type="standard">KEYCODE_M</newseq>
      </port>
      <port type="P2_BUTTON7">
        <newseq type="standard">KEYCODE_K</newseq>
      </port>
      <port type="P2_BUTTON8">
        <newseq type="standard">NONE</newseq>
      </port>
      <port type="P3_JOYSTICK_UP">
        <newseq type="standard">KEYCODE_Q</newseq>
      </port>
      <port type="P3_JOYSTICK_DOWN">
        <newseq type="standard">KEYCODE_W</newseq>
      </port>
      <port type="P3_JOYSTICK_LEFT">
        <newseq type="standard">KEYCODE_E</newseq>
      </port>
      <port type="P3_JOYSTICK_RIGHT">
        <newseq type="standard">KEYCODE_R</newseq>
      </port>
      <port type="P3_BUTTON1">
        <newseq type="standard">KEYCODE_1PAD</newseq>
      </port>
      <port type="P3_BUTTON2">
        <newseq type="standard">KEYCODE_2PAD</newseq>
      </port>
      <port type="P3_BUTTON3">
        <newseq type="standard">KEYCODE_3PAD</newseq>
      </port>
      <port type="P3_BUTTON4">
        <newseq type="standard">KEYCODE_0PAD</newseq>
      </port>
      <port type="P4_JOYSTICK_UP">
        <newseq type="standard">KEYCODE_T</newseq>
      </port>
      <port type="P4_JOYSTICK_DOWN">
        <newseq type="standard">KEYCODE_Y</newseq>
      </port>
      <port type="P4_JOYSTICK_LEFT">
        <newseq type="standard">KEYCODE_U</newseq>
      </port>
      <port type="P4_JOYSTICK_RIGHT">
        <newseq type="standard">KEYCODE_I</newseq>
      </port>
      <port type="P4_BUTTON1">
        <newseq type="standard">KEYCODE_SLASHPAD</newseq>
      </port>
      <port type="P4_BUTTON2">
        <newseq type="standard">KEYCODE_ASTERISK</newseq>
      </port>
      <port type="P4_BUTTON3">
        <newseq type="standard">KEYCODE_MINUSPAD</newseq>
      </port>
      <port type="P4_BUTTON4">
        <newseq type="standard">KEYCODE_PLUSPAD</newseq>
      </port>
      <port type="UI_CONFIGURE">
        <newseq type="standard">KEYCODE_5 KEYCODE_DELPAD</newseq>
      </port>
      <port type="UI_PAUSE">
        <newseq type="standard">KEYCODE_DELPAD</newseq>
      </port>
      <port type="P1_BUTTON1">
        <newseq type="standard">KEYCODE_A OR GUNCODE_2_BUTTON1</newseq>
      </port>
      <port type="P2_BUTTON1">
        <newseq type="standard">KEYCODE_G OR GUNCODE_5_BUTTON1</newseq>
      </port>
      <port type="P1_LIGHTGUN_X">
        <newseq type="standard">GUNCODE_2_XAXIS</newseq>
      </port>
      <port type="P1_LIGHTGUN_Y">
        <newseq type="standard">GUNCODE_2_YAXIS</newseq>
      </port>
      <port type="P2_LIGHTGUN_X">
        <newseq type="standard">GUNCODE_5_XAXIS</newseq>
      </port>
      <port type="P2_LIGHTGUN_Y">
        <newseq type="standard">GUNCODE_5_YAXIS</newseq>
      </port>
      <port type="P2_DIAL">
        <newseq type="standard">MOUSECODE_4_XAXIS</newseq>
      </port>
    </input>
  </system>
</mameconfig>

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #81 on: April 25, 2016, 01:45:26 pm »
Ok, I'm one step closer. I actually found out that P2 Dial will control Dial for P1. So I set Spinner one for P2_Dial and now it moves the Spinner for Player one. Question is...what will move P2 :D

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #82 on: April 25, 2016, 01:59:47 pm »
Struggling to make sense of the problem, End - but this is sounding like a Mame-side issue?

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #83 on: April 25, 2016, 02:17:18 pm »
Struggling to make sense of the problem, End - but this is sounding like a Mame-side issue?

I have absolutely no idea. Example:

Off The Wall (otwalls) uses two Spinners. When I write Spinner 2 Manually, Mame will save that as P2_DIAL in the game.cfg. No idea what's going on.

Is it normal that the device ID'S are different when I search for devices now? I mean, all of them are different to the ones that I use. Gun games work perfectly fine, though.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #84 on: April 25, 2016, 03:15:38 pm »
If the device IDs are different when you do a rescan, then it looks like you may have to update your CRG Remap. It happens to me once in a while. I remove the old coded perhipreal, usually a spinner or gun, transfer the new one over, change the ID code and lock it, then there's an option to update your IDs in the ControllerRemap tab (first one)


Sent from my iPhone using Tapatalk

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #85 on: April 25, 2016, 04:59:54 pm »
To be really honest - it's been so long since I coded this and also haven't done mame setups for ages that I'm having trouble understanding:

a) What the problem actually is
b) Whether it CRGUI or Mame.

I've found this in the code:

Code: [Select]
<controller id="Spinner 1">
      <input>
        <port type="P1_DIAL">
          <newseq type="standard">MOUSECODE_4_XAXIS</newseq>
        </port>
      </input>
    </controller>

I would have thought when you do the remap prior to running mame (via CtrlRemapGUI.exe -rmap "") controlerremap.exe should just remap the right mouse port as per usual.

Oh, I wonder about this:

You mention the ID's being different. Did you pay attention to this bit in the CRGUI setup vid?

http://youtu.be/Clvwm_x4IoM?t=5m25s
(Play at 5.25s)

You must shorten IDs. More infor avaialble in the CRemap documentation.

See if that does it.
« Last Edit: April 25, 2016, 05:02:32 pm by stigzler »

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #86 on: April 26, 2016, 07:21:56 am »
Got everything to work and shortened the ID's. Thank you so much for this.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #87 on: April 26, 2016, 08:06:15 am »
Was it shortening the IDs that did it? If not, what did?

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #88 on: April 26, 2016, 08:09:33 am »
I whish I could tell you. I basically deleted the spinner 1+2 and trackball from the cfg. I did a rescan, added the Trackball and both spinners, shortened the ID's to minimum. Now it works.

earthshine

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:December 02, 2016, 05:08:58 pm
  • I want to build my own arcade controls!
Re: ControllerRemap GUI
« Reply #89 on: May 07, 2016, 05:53:08 pm »
I have a basic question...it looks like ControllerRemap only remaps devices for MAME...what about a multi-emulator situation when using Hyperspin?

For example, I'm using Hyperspin to run MAME (using a control panel wired into a an I-PAC Ultimate I/O) as well as NES and SNES emulators using USB SNES controllers and an Atari 2600 emulator using a USB adapter for the original Atari 2600 joysticks.

I'm fine with the MAME control panel, but the SNES and Atari controllers sometimes change device numbers...can this utility help with that, or do I need something else?

Thanks!

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #90 on: May 12, 2016, 06:07:41 pm »
It's for Mame only. Each emulator is going to have its own approach to controls mapping, thus not possible through controller remap.

MydknyteStyrm

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 331
  • Last login:March 20, 2024, 12:19:41 pm
  • Makeup FX Gamer
Re: ControllerRemap GUI
« Reply #91 on: November 11, 2016, 10:13:06 pm »
Now that Mame is taking care of its JoyID problem, somewhat, is there anyone out there using the Mame setup correctly? Im using Mame 179, and it says stuff about mapdevice and xml, but not too sure how it works. The other thing is, would I still be able to use ControllerRemap instead since I put a ton of work into it already? Thoughts?
The strange thing I have noticed when trying to use CRGUI with Mame 179 is that it works halfway. I can set my joystick (Joy 2) in Mame, write it as normal to the CRG_MyRemap.cfg file, and test the game. When I load it up in Mame, it says Joy4. Which is another joystick on my CP. I open up CRG_MyRemap file, and instead of Joy2 its written Joy4. I dont get why CRGUI is writing a different joystick to the file.
« Last Edit: November 12, 2016, 09:36:07 am by MydknyteStyrm »

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: ControllerRemap GUI
« Reply #92 on: December 06, 2016, 05:58:54 pm »
Long time since been doing Mame setup. Currently re-setting up my cab from scratch.

tbh - I can't even remember exactly how CRGUI works! However, I think it calls ControllerRemap to produce the 'remapped' cfg file. I'd try a remap without using CRGUI first to isolate the prob.