Keymapper

From RocketLauncher Wiki
Revision as of 17:05, 8 April 2015 by Kevinlives (talk | contribs)
Jump to navigation Jump to search


ONLY Xpadder (2012 versions) and JoyToKey (v5+) and Autohotkey scripts are supported options for keymapper functionality. Will not work with JoyToKey v3 or below. Even though Keymapper supports 16 controllers, this only for Direct Input and not XInput since XInput is limited to 4 controllers. (Xinput is typically used in software that natively supports the 360 controller.)

Contents


1 Keymappers

1.1 Xpadder
1.2 AutoHotKey
1.3 JoyToKey

2 Profiles

2.1 Profile Types
2.1.1 Game Specific
2.1.2 Emulator
2.1.3 System
2.1.4 Default
2.1.5 Front End
2.1.6 HyperLaunch Menu
2.1.7 Blank

3 Preferred Controller
4 Custom Names
5 Keymapper Ini Settings
6 Tips & Tricks


Keymappers

Xpadder

Xpadder costs $10 and can be downloaded from xpadder.com. This is the recommended keymapper of choice. To set it up, run it once you have downloaded it. Make note of where you have installed it to since you will need to know that when you use it with HyperLaunch. Once you have installed it, you will need to make a layout for your controller.

Make a controller layout2.JPG

Images to replace the pink background can be found at xpadder.com/gcdb. An image of your controller will be useful for making your profiles. To grab an image from the xpadder database right click on the image you want and choose copy image. You can then use the paste button in xpadder. Now you will need to add your analog sticks, dpad, buttons and triggers using the on screen instructions Once you've finished adding all the controls for your controller you will need to save your layout. I suggest saving it as the same name as your controller (the default name).

Make a controller layout3.JPG

You will now need to create a profile. Profiles are what HyperLaunch uses to tell xpadder how to map your controller. You can start by making a profile by clicking on the text page button first and then choosing New.

Xpadder profile creation.JPG

The next step is to map your buttons to a keyboard key. This is simple and easy to do. You will need to click on one of the white boxes that represent your buttons on your controller. This will open a virtual keyboard. Choose your key. When you are finished mapping your buttons you can now save your profile. To use with HyperLaunch you will need to name it and place it in the correct folder path as described in the profiles section below.

AutoHotKey

AutoHotKey is the only free keymapper that is supported by HyperLaunch. The downside to using ahk as your keymapper is that HyperLaunch only has basic support for it and it does not support Front End or HyperLaunch Menu profiles or any other kind of in game remapping done by HyperPause. There is no download required to use it, but if you wish to test your key maps without starting HyperLaunch you can download autohotkey from autohotkey.com. To create an ahk profile, you will first need to create an ahk file. You can do this by creating a new Text Document and renaming the file extension from .txt to .ahk. Now open your new ahk file with your favorite text editor and start adding your remaps. You can find more info about how to remap via ahk here. A list of support ahk keys can be found here. Information on how to remap keys and buttons can be found here and more information on how to remap joysticks and controllers can be found here. Save the ahk file with the remaps as one of the profile names specified in the profile section below. As an example, let's say you want to remap a to b and c to d using ahk for the rom "Mario" for Mame. You would create a "Mario.ahk" in "Keymapper Profiles\Mame\" and in it you would find the following remaps:

Code:

a::b
c::d


JoyToKey

JoyToKey is shareware and a license for a fully functioning version will cost $7, but a functioning trial version with few limitations can be downloaded for free. JoyToKey enables you to control many softwares (e.g. web games, browsers, office applications or even Windows itself) by using your favorite windows joystick. Whenever you press joystick buttons and sticks, JoyToKey will emulate keyboard strokes or mouse inputs based on joystick input so that the target application works as if you used a real keyboard or mouse. You can create multiple configuration files to switch across different key/mouse assignments. It also supports the automatic association with target applications so that the config file will switch automatically when the target application changes. You can download the latest version of JoyToKey from their website www-en.jtksoft.net. JoyToKey is different from the other keymappers in the sense that the others require you to have a profile per player, but JoyToKey only requires you to have one cfg profile for all the players. In other words the multiplayer tag won't work on your profiles since the tags are inherent in joytokey's profiles. The way to differentiate between player 1 and player 2 is inside the joytokey menu and at the top you will see the tabs Joystick 1 and Joystick 2. Joystick 1 = Player 1 and Joystick 2 = Player 2. JoyToKey supports up to 16 of these tabs. Be sure to change your settings so that you Start JoyToKey in a minimized mode and Hide icon from taskbar when minimized. A how to guide for basic usage and advance usage of joytokey is provided on their website www-en.jtksoft.net.

Profiles

Profile Types

Game Specific

The Game Specific profile also known as the rom profile is the first profile HyperLaunch looks for when loading your keymapper profiles. A game specific profile is useful if you need different controls per game. Below are examples of how to make a game specific profile for the different keymappers for the game "Super Mario Bros. + Duck Hunt (USA)" for the system "Nintendo Entertainment System".

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%romName%\p1.xpadderprofile
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%romName%\%controllerName%\p1.xpadderprofile

Keymapper profile xpadder game.jpg


JoyToKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%romName%\%romName%.cfg

Keymapper profile joytokey game.jpg


AutoHotKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%romName%.ahk

Keymapper profile ahk game.jpg.1379464423293.jpg

Emulator

The Emulator profile is the same name you give to your emulator when setting it up through HyperLaunch HQ. This is the same name you gave when you were asked to give a name and a path to your emulator. This profile is the second in the list of what HyperLaunch looks for when loading profiles for your game. This profile is useful if you use two different types of emulators for the same system and would like a profile according to those emulators inside that system (ex. Nestopia and Jnes). If you want a emulator specific profile for the emulator "Nestopia" and your system name is "Nintendo Entertainment System" it would be:

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%emulator%\p1.xpadderprofile
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%emulator%\%controllerName%\p1.xpadderprofile

Keymapper profile xpadder emulator.jpg


JoyToKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%emulator%\%emulator%.cfg

Keymapper profile joytokey emulator.jpg


AutoHotKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%emulator%.ahk

Keymapper profile ahk emulator.jpg.1379464468598.jpg


System

The System profile is named after your system and is the third in the list of the profile types that HyperLaunch looks for when starting your game. The profile will only be loaded if you are using that system. If you want to make a system specific profile for "Nintendo Entertainment System" it would be:

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\_Default\p1.xpadderprofile
  • HyperLaunch\Profiles\%keymapper%\%systemName%\_Default\%controllerName%\p1.xpadderprofile

Keymapper profile xpadder system.jpg


JoyToKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%\%systemName%.cfg

Keymapper profile joytokey system.jpg


AutoHotKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%systemName%.ahk

Keymapper profile ahk system.jpg.1379464502733.jpg


Default

The Default profile is the fourth on the list of profiles HyperLaunch looks for when starting your game. This is the only profile that is used for all systems when loading. Please note that it is not used when exiting your game or loading a HyperLaunch menu, but it will always be used if a game, emulator or system profile could not be found when starting your game. Below is how to name and where to put a default profile for the different keymappers.

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\_Default\p1.xpadderprofile
  • HyperLaunch\Profiles\%keymapper%\_Default\%controllerName%\p1.xpadderprofile

Keymapper profile xpadder default.jpg


JoyToKey

Code:
  • HyperLaunch\Profiles\%keymapper%\_Default\_Default.cfg

Keymapper profile joytokey default.jpg


AutoHotKey

Code:
  • HyperLaunch\Profiles\%keymapper%\_Default.ahk

Keymapper profile ahk default.jpg


Front End

The Front End profile is only used when you exit your game and return to your front end. The name for your Front End Profile is set by the key "Keymapper_FrontEnd_Profile_Name." If you want to use this profile you will need to create it like you would a system profile. If you have HyperLaunch v3.0.1.1 or later you will need to set the value for the key Keymapper_FrontEnd_Profile to match your keymapper of choice; valid options are xpadder, joytokey, ahk, and false (default value that turns front end profile loading off). The default front end name is HyperSpin and this name will be used in the below examples. After HyperLaunch v3.0.1.0 this profile is now supported for AHK, but you must set Keymapper_AHK_Enabled to equal external.

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\%FrontEndName%\p1.xpadderprofile
  • HyperLaunch\Profiles\%keymapper%\%FrontEndName%\%controllerName%\p1.xpadderprofile

Keymapper profile xpadder front end.jpg


JoyToKey

Code:
  • HyperLaunch\Profiles\%keymapper%\%FrontEndName%\%FrontEndName%.cfg

Keymapper profile joytokey front end.jpg


AutoHotKey*

Code:
  • HyperLaunch\Profiles\%keymapper%\%FrontEndName%.ahk

*Keymapper_AHK_Enabled = external
Keymapper profile ahk front end.jpg


HyperLaunch Menu

The HyperLaunch profile is used for the HyperLaunch menus that use the navigation keys. Features that currently support this profile are MultiGame and HyperPause. This profile is useful if you want to use joysticks for these features since HyperLaunch does not recognize pov hats or axis controls on a joystick for navigation through the menus. You can disable and enable this profile with the "Keymapper_HyperLaunch_Profile_Enabled" key by setting it to true or false. If it is true, HyperLaunch will load your menu profiles when entering a menu and restore your game profiles when exiting a menu. If it is false, HyperLaunch will not change your keymappings and they will stay the same as they were before you open a HyperLaunch menu. So if you want to use this profile you will need to create a profile like you would for a system, except this system is always named HyperLaunch. After HyperLaunch v3.0.1.0 this profile is now supported for AHK, but you must set Keymapper_AHK_Enabled to equal external.

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\HyperLaunch\p1.xpadderprofile
  • HyperLaunch\Profiles\%keymapper%\HyperLaunch\%controllerName%\p1.xpadderprofile

Keymapper profile xpadder hyperlaunch.jpg


JoyToKey

Code:
  • HyperLaunch\Profiles\%keymapper%\HyperLaunch\HyperLaunch.cfg

Keymapper profile joytokey hyperlaunch.jpg


AutoHotKey*

Code:
  • HyperLaunch\Profiles\%keymapper%\HyperLaunch.ahk

*Keymapper_AHK_Enabled = external
Keymapper profile ahk front hyperlaunch.jpg.1379464584168.jpg


Blank

The blank profile is supposed to be an empty profile. It has no remappings in it at all. This is meant as a place filler for controllers that have no remaps made. Example, if you have two different types of controllers connected, and the controller you don't want to use occupies the 2nd player number (id 2) in HyperPause, but in Xpadder it might occupy the first tab. The controller that is first player (id 1) in HyperPause might occupy the second tab in xpadder. Due to the way xpadder handles the profiles passed to it in the command line, this blank profile is needed as a filler for the unwanted controllers that show up in the tabs before the preferred controller. Xpadder loads profiles through the command line in the order of the tabs displayed, not the order used by HyperPause (Direct Input order), or the order the controllers were connected in.

There should only be one blank profile for Xpadder. This profile is always loaded last if no other profile is found, anytime HyperLaunch is loading your profiles that you use for playing your games, returning you to your front end, or opening a HyperLaunch menu. To make one, you need to name it "blank" and place it in the same directory as the default profile. This profile is only supported and required by xpadder.

Xpadder

Code:
  • HyperLaunch\Profiles\%keymapper%\_Default\blank.xpadderprofile

Keymapper profile xpadder blank.jpg


Preferred Conrollers

This is a list defining which controllers you would like to use. This list tells HyperLaunch to always order your connected controllers in the same order as defined by this list. Custom names are allowed in this list. If you have more than one instance of a name on the list, the order of the first name found in the list is used. If you have more than one controller with the same default or custom name, the order in which they were connected will be used. This is useful if you want want a certain type of controller to have priority over another when playing a certain game or system. This list can be specified globally in the Global HyperLaunch.ini file, on a system level in the SystemName\HyperLaunch.ini file and on a per game basis in the SystemName\Games JoyIDs.ini file. The global and system keys are named "JoyIDs_Preferred_Controllers" and are under the section "Keymapper." The "JoyIDs_Preferred_Controllers" key in "Games JoyIDs.ini" is under a section named after your game. Here are some examples of how this list works. In the example I will be using controllers with three different names: x360, ps3 and logitech. Custom Names are enabled and "Custom_Joy_Names = x360|favorites/logitech|favorites."

JoyIDs_Preferred_Controllers = controller A|controller B|controller C
(# of Controllers) : controller A = 1, controller B = 1, controller C = 1
p# = 1. controller A
p# = 2. controller B
p# = 3. controller C

JoyIDs_Preferred_Controllers = ps3|x360|logitech
(# of Controllers) : ps3 = 1, x360 = 1, logitech = 1
1. ps3
2. x360
3. logitech

JoyIDs_Preferred_Controllers = ps3|x360|logitech
(# of Controllers) : ps3 = 2, x360 = 1, logitech = 1
1. ps3
2. ps3
3. x360
4. logitech

JoyIDs_Preferred_Controllers = ps3|x360|logitech
(# of Controllers) : ps3 = 1, x360 = 2, logitech = 1
1. ps3
2. x360
3. x360
4. logitech

JoyIDs_Preferred_Controllers = logitech|ps3|x360
(# of Controllers) : ps3 = 1, x360 = 2, logitech = 1
1. logitech
2. ps3
3. x360
4. x360

JoyIDs_Preferred_Controllers = ps3|favorites
(# of Controllers) : ps3 = 1, x360 = 1, logitech = 1
1. ps3
2. x360 or lgitech (depends on order found in before (what order were they turned on))
3. x360 or logitech (depends on order found in before (what order were they turned on))

JoyIDs_Preferred_Controllers = favorites|ps3
(# of Controllers) : ps3 = 1, x360 = 1, logitech = 1
1. x360 or logitech (depends on order found in before (what order were they turned on))
2. x360 or logitech (depends on order found in before (what order were they turned on))
3. ps3

JoyIDs_Preferred_Controllers = favorites|ps3|x360
(# of Controllers) : ps3 = 1, x360 = 1, logitech = 1
1. logitech
2. ps3
3. x360

JoyIDs_Preferred_Controllers = x360|favorites|ps3
(# of Controllers) : ps3 = 1, x360 = 1, logitech = 1
1. x360
2. logitech
3. ps3

JoyIDs_Preferred_Controllers = x360|ps3|x360
(# of Controllers) : ps3 = 1, x360 = 2, logitech = 1
1. x360
2. x360
3. ps3
4. logitech