Internal remapping of keys (for SSF and similar)

From RocketLauncher Wiki
Jump to navigation Jump to search

Remapping of keys when your emulator of choice does not like your current setup

Some emulators can be real picky when it comes to which keys they accept. A classic example is SSF which of course is the best Sega Saturn emulator at the time of writing.

An example of this is if you have an X-Arcane Tankstick using the default programmed keys and try to use it with the SSF emulator.
In this section, I'll explain how you can remap your current keys to keys that SSF accepts.

The downside! Doing it this way means you have to launch your emulators through RockerLauncher. If you start them manually or with any other launcher, the keys will be all wrong.

Setting up RocketLauncher for internal keymapping

First we need to setup RocketLauncher.

  1. In RocketLauncherUI, select your system you want to remap on the left.
  2. Go to Settings and make sure "Ahk Method" is set to "Internal". This enables the whole thing.
  3. Also in the Keymapper field, make sure the other settings are false.

So in other words:

  • Enabled: false
  • Keymapper: use_global
  • JoyIds Enabled: false
  • Ahk Method: Internal

I have actually not used any other keymapper at the same time so you might be able to skip step 3 above. Just make sure Ahk Method is set to Internal.

Doing the remapping

  1. Select your system, go to Keymapper.
  2. In the AutoHotKey tab (first one), click the little down arrow next to the green plus sign.
    1. Emulator Profile: If you use multiple emulators for the same system and only want the changes for a specific emulator. This is what you should use for remapping keys for specific emulators.
    2. Game Profile: If you only want the settings for a particular game in that system, select "Game Profile" instead. Those changes will only be for the game that you select next.
    3. System Profile: The keymap will be active for the entire system you have selected.


Now that we have created an AHK profile, select it in the list below so it turns blue.

You now have two ways to configure the remapping.

1: In the bottom field, just click the green plus and it will tell you how it works (basically, press original key and then press the key it should act as instead). Keep pressing + for evey key.

2: Free edit mode. You can jump to this mode whenever you want. If you add a key with the first method first, you'll see how you should type it out manually (orgkey::newkey). Even if you've used method one but want to change a key, switch to Free Edit Mode and edit or delete the key as you want.

If using Free Edit Mode, remember to click the "Save current Ahk profile" button when you are done. If you are not in Free Edit Mode, it will save for each key you put in.
Some keys, of course, does not type anything when pressed, such as control. Just change out of Free Edit Mode and do the first method for it, then you'll see what you have to type for it ( remapping left control to n, for example, is LControl::n )
You may also see this page and see what other fun you can do in Free Edit Mode: http://www.autohotkey.com/docs/KeyList.htm

Testing your keys and configuring the emulator to use the new keys

When you are finished reconfiguring your keys, you can click the green lightning icon (Test Selected AHK Profile) at the top to test your settings.
For example, if you have have 1::o then it should output "o" when you press "1" on your keyboard. If you find a key that just will not be remapped, see Limitations at the bottom of this article.

If you are happy with the output, lets move on. If you want to delete or change any key, you can always enable Free Edit Mode and just delete the whole line.

Now then, I guess you need to configure your new keys in the emulator. The problem is that if you start the emulator through RocketLauncher and make changes, they are not always saved. The guides say that you should configure your emulator outside of RocketLauncher, but how do you do that when your new key bindings are only in effect if you launch it through RocketLauncher?

Two ways:

  • Either just hit the new keys manually in the emulator but then you have to remember which keys you've remapped to what. Not always easy.
  • Go back to the KeyMapper and press the green lightning to test your settings. Now, the new keymappings are actually used EVERYWHERE while the test window is up, so while its up, start your emulator manually and do the keybindings.


If you want to setup the exact same keymappings for another system, you can copy the old settings in Free Edit Mode and just paste them into the other system (also in Free Edit mode).

Example for X-Arcade Tank Stick (2 players)

Enable Free Edit Mode and paste this in. This remaps the X-Arcades default setup (Mode1) to keys that SSF accepts.

; One / Two Player buttons
1::o
2::p

; Joy 1 directions.
Numpad8::Up
Numpad4::Left
Numpad2::Down
Numpad6::Right
; Joy1 buttons
LControl::q
LAlt::w
Space::e
LShift::r
z::t
x::y
c::u
5::i

; Joy 2 directions
r::a
d::s
f::d
g::f
; Joy 2 buttons.
a::g
s::z
q::x
w::c
e::v
vkDDsc01A::b
vkBAsc01B::n
6::m

X-Arcade Specific Info

Sometimes it shows a weird code instead, like vkA2sc01D::c. That works as well, but its ugly as I have no idea what vkA2sc01D is. When that happens, I just switch to free edit mode, remove it and try again. Usually its correct on the second try. Sometimes it does not help as you can see in the example above. It still works with the code though and you can read about them here: http://www.autohotkey.com/docs/KeyList.htm

Limitations

You can not remap keys used for other global functions in RocketLauncher. For example, if you use key A as "Exit Emulator Key" in Global Settings / Controls, then key A can not be remapped. If you find that it does not remap all of your keys as it should, check if that key is used elsewhere in RocketLauncherUI.