IS:KeyMapper

From Lavish Software Wiki
Jump to navigation Jump to search

What is KeyMapper?

KeyMapper is an open source key mapper solution for Inner Space

ISBoxer Suite

KeyMapper is part of the ISBoxer Suite, which also includes WindowSnapper and Repeater, as well as the configuration utility ISBoxer Toolkit. The best way to enjoy KeyMapper is to use the ISBoxer Toolkit! See the ISBoxer Suite page for more information and downloads.

Features

  • Generates Inner Space "keypress" binds from XML configuration
  • Allows different keys to different target windows with ease
  • Makes it easy to create highly-customizable round-robin binds
  • Supports FTL (focusless, targetless, leaderless) setups, used for World of Warcraft
  • Send Next Click feature: Able to create a key mapping that enables Mouse Repeating to a given target until the next click, for example to cast a targeted Area Effect spell on a group of characters (WoW example: 5 boomkins casting Hurricane), or to click on a UI element in a single character (WoW example: right click on RDX unit frame to heal) -- This feature requires Repeater version 2009-01-04 or later
  • Supports any number of key maps, which can be activated or deactivated at will

Use Cases

Here's a few use cases that KeyMapper handles with ease, ranging from extremely simple, to more complex:

  • Press one key (or combination, but for the rest of the use cases, I'm going to leave out this little footnote -- they can all be mapped to a combination) to have all windows press some other key (or the same key, again going to leave this out for the rest)
  • Press one key to have one window press some other key, rotating the target window each press (aka round-robin)
  • Press one key to have different windows press different keys, rotating the target windows each press (more complex round-robin)
  • Press one key to have all windows press a key, and also send the next mouse click too (e.g. for Area Effect spells with a ground target, and since the mouse movement will be sent until the click happens, all windows will show the ground target circle!)
  • Create a star formation with 5 characters by having each of them move in a different direction while you hold a key

Compatibility with Repeater

When using KeyMapper in conjunction with Repeater, you should prevent repeating of the keys you are setting up KeyMapper hotkeys for. This can be done using a blacklist (containing the key) or whitelist (not containing the key), or by simply disabling Repeater -- after all, with KeyMapper, you probably don't need Repeater passing keys. KeyMapper requires Repeater for certain features, such as "Send Next Click".

Best practice

Best practice is to make liberal use of Key Mapper, and sparing use of Repeater. Avoid mapping single keys that you might want to type in the chat window -- you know, letters and numbers and the like. Use a modifier where possible, or keys that have no real meaning, such as F-keys. This way, if you want to make all of your characters type /dance, it's just a matter of flipping on Repeater (it should generally be OFF!), typing, and flipping it back off, and your key mappings will not interfere! If possible, alternative input devices (anything that gives you buttons you wouldn't otherwise have) are a gigantic help -- you can't go wrong with a G11 or G15 keyboard (recommend G11 with 18 G-keys), and Inner Space will let you map keys directly to its extra buttons.

Installing KeyMapper

KeyMapper is part of the ISBoxer Suite, which also includes WindowSnapper and Repeater, as well as the configuration utility ISBoxer Toolkit. The best way to enjoy KeyMapper is to use the ISBoxer Toolkit! See the ISBoxer Suite page for more information and downloads.

If you wish to download KeyMapper alone, however, here you go:

  1. Download the latest version: keymapper-20090128.zip
  2. Extract to the Scripts folder of your Inner Space installation

Launching KeyMapper

Per Inner Space session you want to be able to use KeyMapper from
run keymapper

Configuring KeyMapper

KeyMapper will interpret XML files in a particular format.

When launched, KeyMapper will automatically import configuration from KeyMapper.XML, so to make it easy on yourself, always start by creating a KeyMapper.XML. You can have any number of KeyMapper configuration files, which you can import at any time using the KeyMapper command. Any number of configuration files can be loaded at any given time. After KeyMapper automatically imports KeyMapper.XML, it will then automatically load (activate) a key map from it called "Main". If that key map doesn't exist, it of course will not do anything. You can load key maps at any time using the KeyMapper command. Any number of key maps can be active at any given time.

For example, your KeyMapper.XML might have key maps for several different multi-boxing teams, in addition to the Main key map. The Main key map can be automatically loaded for all of the teams, and then it's a matter of loading the specific team's key map to make it complete. The Main key map would contain only the things that should be used for all of the teams, such as a key to make the team auto-follow, and so on.

Configuration XML file format

Step 1: Base configuration file

Let's start at the beginning. Here is a valid starting point for your KeyMapper XML file. It doesn't define any key maps, and it doesn't define any FTL modifiers.

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
	</Set>
</InnerSpaceSettings>

Step 2: FTL Modifiers (optional)

Here is the same example, with "standard" FTL Modifier configuration.

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="FTL Modifiers">
		<Setting Name="1">ctrl+shift</Setting>
		<Setting Name="2">ctrl+alt</Setting>
		<Setting Name="3">alt+shift</Setting>
		<Setting Name="4">ctrl+alt+shift</Setting>
		<Setting Name="5">ctrl</Setting>
	</Set>
	<Set Name="Key maps">
	</Set>
</InnerSpaceSettings>

The Set tag must have the Name attribute set to "FTL Modifiers" in order to apply the FTL Modifiers. The Settings inside must be Named 1, 2, and so on in order to match the session with the modifier. 1 means the first session, 2 means the second session, and so on. The following keys can be used as FTL Modifiers:

  • CTRL
  • SHIFT
  • ALT
  • RIGHT CTRL
  • RIGHT SHIFT
  • RIGHT ALT

As in the example, use + to string the modifiers together.

When set, FTL Modifiers will be automatically applied to all of the key maps that get loaded AFTER the FTL Modifiers are set, if and only if those key maps have "Use FTL Modifiers" enabled. Certain KeyMapper functionality is reduced when using FTL modifiers, as follows. FTL Modifiers may not be fully compatible with the Hold option. When sending to ALL, the FTL Modifier will be applied to ALL, including the local session. It is, of course, possible to set up FTL modifiers per bind, instead of using this setting.

To enable FTL Modifiers for a given Key Map, add the following Setting to the Key Map:

<Setting Name="Use FTL Modifiers">1</Setting>


Step 3: Adding key maps

Here is the format for key maps.

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="main">
		</Set>
	</Set>
</InnerSpaceSettings>

The innermost Set in the above XML is Named "main". This defines the "main" key map. Any number of Sets can be created inside Key maps, with different names. For example:

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="main">
		</Set>
		<Set Name="shaman">
		</Set>
		<Set Name="tauren">
		</Set>
	</Set>
</InnerSpaceSettings>

As explained previously, to enable FTL Modifiers for a given Key Map, add the following Setting to the Key Map:

<Setting Name="Use FTL Modifiers">1</Setting>

Example:

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="main">
                     <Setting Name="Use FTL Modifiers">1</Setting>
		</Set>
		<Set Name="shaman">
		</Set>
		<Set Name="tauren">
		</Set>
	</Set>
</InnerSpaceSettings>


Step 4: Adding a key mapping

Here is a sample with a simple mapping.

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="main">
			<Set Name="Other Jump">
				<Setting Name="Hotkey">ctrl+space</setting>
				<Setting Name="all other">space</setting>
			</Set>
		</Set>
	</Set>
</InnerSpaceSettings>

Within the "Main" key map Set, we have a new Set called "Other Jump". Any number of mappings can be placed inside the key map set, with different names. Inside, it has two Settings. One is called Hotkey, with a value of ctrl+space. A Setting called Hotkey is required for any mapping we create. This means that when we hit ctrl+space, the mapping is going to do what we tell it to. That's done by our other Setting. Any Setting that doesn't match a reserved name (currently including only Hotkey and Hold, which we will get to soon) is going to be considered a target to send a key to. Any number of targets can be added by creating an additional Setting. Here, the target is "all other", with the value of space. So, when we hit ctrl+space, "all other" will hit space. If FTL Modifiers are set, the correct modifier will automatically be applied.

Valid targets include:

  • self: The active session. When pressing the mapped key, nothing is pressed locally unless a target includes it! This is one of those.
  • all: ALL sessions, including the active session. This may include sessions on other PCs, if they are connected with Uplink Networking (which is disabled by default)
  • all other: ALL OTHER sessions, meaning ALL except the active session.
  • 1 through #: Session 1, session 2, etc can be referenced by simply giving the number, e.g. 1, 2, 3, etc.
  • is1 through is#: Alternative method to refer to session 1, session 2, etc (note: not valid in FTL Modifiers, just these targets!), e.g. is1, is2, is3, etc.
  • any relay group: If you have created relay groups such as shm_resto and shm_dps, these are valid targets
  • other any relay group: If you have created relay groups such as shm_resto and shm_dps, you can also do other shm_resto and other shm_dps to indicate "all others within this group" (all but the current window, if it is in the group)

Here is a sample mapping passing different keys to different targets (this would go inside a mapping Set)

<Setting Name="1">6</Setting>
<Setting Name="2">alt+6</Setting>
<Setting Name="3">alt+0</Setting>
<Setting Name="4">-</Setting>
<Setting Name="5">alt+=</Setting> 
Step 4.5: Causing the keys to be held while holding the mapped key

To enable holding the keys while the mapped key is held down, add a Setting called Hold with the value 1 as follows:

<Setting Name="Hold">1</Setting>

Example:

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="movement">
			<Set Name="forward">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">ctrl+w</Setting>
				<Setting Name="all">w</Setting>
			</Set>
		</Set>
	</Set>
</InnerSpaceSettings>
Step 4.75: Causing the following click to be sent after pressing the mapped key

To enable the Send Next Click feature, add a Setting called Send Next Click with the value being the target to send the click to (any valid target described in Step 4 will do) as follows:

<Setting Name="Send Next Click">all other</Setting>

That will send the click to all other windows, for example, but again, any valid target will do. Note: The click will also go through on the current window.

Between the time the key is hit, and the time you click, all mouse movement is also repeated. In this way, casting spells that have a ground targeting circle will show the circle. A fake cursor will also be displayed on the target windows. You should make sure the target does not include the current window, so if it involves a relay group, make sure to use other, such as other boomkin.

Example:

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="Druids">
			<Set Name="Hurricane">
				<Setting Name="Hotkey">ctrl+g7</Setting>
				<Setting Name="all">alt+9</Setting>
				<Setting Name="Send Next Click">all other</Setting>			
			</Set>
		</Set>
		<Set Name="RDX">
			<Set Name="All Heals">
				<Setting Name="Hotkey">alt+h</Setting>
				<Setting Name="Send Next Click">1</Setting>
			</Set>
		</Set>
	</Set>
</InnerSpaceSettings>

In this example, the Hurricane Set causes CTRL+G7 to be mapped to press ALT+9 on ALL windows, including the current one. Send Next Click then causes the next click (and any mouse movement until the click) to be repeated on ALL OTHER windows (you wouldn't want it repeated on the current window). Additionally, the RDX Set causes ALT+H to be mapped solely to Send Next Click to session 1 -- alternatively, that could be shm_resto, dru_resto, priest, and so on if such groups exist. In this example the healer is assumed to be in the first window.

A quick walkthrough to describe how Send Next Click will behave in this scenario: 1. To cast Hurricane, press CTRL+G7, then click as desired. To cancel Hurricane, press CTRL+G7 again, and Send Next Click is disabled (Hurricane is toggled off by repeating the ALT+9). 2. To perform a heal from a "slave" session, press ALT+H, then click such that window 1 will perform the click on the unit frame, causing the desired spell to be cast. To cancel, simply hit ALT+H again. 3. If one Send Next Click map was pressed, then another is pressed, for example ALT+H and then CTRL+G7 immediately, the next click will be sent as per the CTRL+G7 rules (all other).

Step 5: Round robin

Here is the sample from Step 4, with a Shaman key map set, and a round robin earth shock mapping:

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="main">
			<Set Name="Other Jump">
				<Setting Name="Hotkey">ctrl+space</setting>
				<Setting Name="all other">space</setting>
			</Set>
		</Set>
		<Set Name="shaman">
			<Set Name="earth shock">
				<Setting Name="Hotkey">G12</Setting>
				<Set Name="step 1">
					<Setting Name="1">alt+5</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="2">alt+5</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="3">alt+5</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="4">alt+5</Setting>
				</Set>
				<Set Name="step 5">
					<Setting Name="5">alt+5</Setting>
				</Set>
			</Set>
		</Set> 
	</Set>
</InnerSpaceSettings>

The shaman key map set would be loaded using the KeyMapper command, e.g.:

keymapper -loadmap shaman

In this example, the Hotkey for Earth Shock is G12 -- one of the keys on a G15/G11 keyboard. Then we have more Sets, named step 1, step 2, step 3, and so on, inside our mapping. The names of these sets do not matter -- they are named step 1 through step 5 for ease of understanding. They are always going to be used in order from top to bottom, regardless of the name. In this example, each press of G12 is going to send alt+5 to a different target. The first press will send to the first character, second to the second, and so on. After the final step is executed, it will wrap back to the first step. Each Set may contain any number of target-press Settings in the same format as before.

Here is a more complex round-robin example:

			<Set Name="utility totems">
				<Setting Name="Hotkey">G9</Setting>
				<Set Name="step 1">
					<Setting Name="1">6</Setting>
					<Setting Name="2">alt+6</Setting>
					<Setting Name="3">alt+0</Setting>
					<Setting Name="4">-</Setting>
					<Setting Name="5">alt+=</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="2">6</Setting>
					<Setting Name="3">alt+6</Setting>
					<Setting Name="4">alt+0</Setting>
					<Setting Name="1">-</Setting>
					<Setting Name="5">alt+=</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="3">6</Setting>
					<Setting Name="4">alt+6</Setting>
					<Setting Name="5">alt+0</Setting>
					<Setting Name="1">-</Setting>
					<Setting Name="2">alt+=</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="4">6</Setting>
					<Setting Name="5">alt+6</Setting>
					<Setting Name="1">alt+0</Setting>
					<Setting Name="2">-</Setting>
					<Setting Name="3">alt+=</Setting>
				</Set>
				<Set Name="step 5">
					<Setting Name="5">6</Setting>
					<Setting Name="1">alt+6</Setting>
					<Setting Name="2">alt+0</Setting>
					<Setting Name="3">-</Setting>
					<Setting Name="4">alt+=</Setting>
				</Set>
			</Set>

A fuller example

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="main">
			<Set Name="Other Jump">
				<Setting Name="Hotkey">ctrl+space</setting>
				<Setting Name="all other">space</setting>
			</Set>
		</Set>
		<Set Name="shaman">
			<Set Name="earth shock">
				<Setting Name="Hotkey">G12</Setting>
				<Set Name="step 1">
					<Setting Name="1">alt+5</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="2">alt+5</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="3">alt+5</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="4">alt+5</Setting>
				</Set>
				<Set Name="step 5">
					<Setting Name="5">alt+5</Setting>
				</Set>
			</Set>
			<Set Name="frost shock">
				<Setting Name="Hotkey">G10</Setting>
				<Set Name="step 1">
					<Setting Name="1">5</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="2">5</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="3">5</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="4">5</Setting>
				</Set>
				<Set Name="step 5">
					<Setting Name="5">5</Setting>
				</Set>
			</Set>
			<Set Name="thunderstorm">
				<Setting Name="Hotkey">G6</Setting>
				<Set Name="step 1">
					<Setting Name="2">t</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="3">t</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="4">t</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="5">t</Setting>
				</Set>
			</Set>
			<Set Name="utility totems">
				<Setting Name="Hotkey">G9</Setting>
				<Set Name="step 1">
					<Setting Name="1">6</Setting>
					<Setting Name="2">alt+6</Setting>
					<Setting Name="3">alt+0</Setting>
					<Setting Name="4">-</Setting>
					<Setting Name="5">alt+=</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="2">6</Setting>
					<Setting Name="3">alt+6</Setting>
					<Setting Name="4">alt+0</Setting>
					<Setting Name="1">-</Setting>
					<Setting Name="5">alt+=</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="3">6</Setting>
					<Setting Name="4">alt+6</Setting>
					<Setting Name="5">alt+0</Setting>
					<Setting Name="1">-</Setting>
					<Setting Name="2">alt+=</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="4">6</Setting>
					<Setting Name="5">alt+6</Setting>
					<Setting Name="1">alt+0</Setting>
					<Setting Name="2">-</Setting>
					<Setting Name="3">alt+=</Setting>
				</Set>
				<Set Name="step 5">
					<Setting Name="5">6</Setting>
					<Setting Name="1">alt+6</Setting>
					<Setting Name="2">alt+0</Setting>
					<Setting Name="3">-</Setting>
					<Setting Name="4">alt+=</Setting>
				</Set>

			</Set>
			<Set Name="dps bolt">
				<Setting Name="Hotkey">G18</Setting>
				<Setting Name="shm_dps">2</Setting>
			</Set>
			<Set Name="all bolt">
				<Setting Name="Hotkey">G18</Setting>
				<Setting Name="all">2</Setting>
			</Set>
		</Set>
		<Set Name="tauren">
			<Set Name="stomp">
				<Setting Name="Hotkey">G15</Setting>
				<Set Name="step 1">
					<Setting Name="1">8</Setting>
				</Set>
				<Set Name="step 2">
					<Setting Name="2">8</Setting>
				</Set>
				<Set Name="step 3">
					<Setting Name="3">8</Setting>
				</Set>
				<Set Name="step 4">
					<Setting Name="4">8</Setting>
				</Set>
				<Set Name="step 5">
					<Setting Name="5">8</Setting>
				</Set>
			</Set>
		</Set>
	</Set>
</InnerSpaceSettings>

Formations example

This example shows how to create formations. In the example, Up and Down are used for forward and back, and Num 1 and Num 3 are used for strafe left and strafe right, respectively. Each formation set is intended to be loaded in the window with that number, so "formations 1" for the first window, "formations 2" for the second, and so on. "5 star" makes a 5 point star, moving the current character forward, another character forward+left, one forward+right, one back+left, one back+right. "4 star" makes a 4 point star with the current character in the center, by moving one forward, one left, one right, and one back. The mappings use the Hold setting so that the longer the hotkey is held, the further each character moves.

<?xml version='1.0' encoding='UTF-8'?>
<InnerSpaceSettings>
	<Set Name="Key maps">
		<Set Name="formations 1">
			<Set Name="5 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G2</Setting>
				<Setting Name="self">Up</Setting>
				<Setting Name="2">Up+num 3</Setting>
				<Setting Name="3">Down+num 3</Setting>
				<Setting Name="4">Up+num 1</Setting>
				<Setting Name="5">Down+num 1</Setting>
			</Set>
			<Set Name="4 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G3</Setting>
				<Setting Name="2">Up</Setting>
				<Setting Name="3">Down</Setting>
				<Setting Name="4">num 1</Setting>
				<Setting Name="5">num 3</Setting>
			</Set>
		</Set>
		<Set Name="formations 2">
			<Set Name="5 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G2</Setting>
				<Setting Name="self">Up</Setting>
				<Setting Name="1">Up+num 3</Setting>
				<Setting Name="3">Down+num 3</Setting>
				<Setting Name="4">Up+num 1</Setting>
				<Setting Name="5">Down+num 1</Setting>
			</Set>
			<Set Name="4 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G3</Setting>
				<Setting Name="1">Up</Setting>
				<Setting Name="3">Down</Setting>
				<Setting Name="4">num 1</Setting>
				<Setting Name="5">num 3</Setting>
			</Set>
		</Set>
		<Set Name="formations 3">
			<Set Name="5 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G2</Setting>
				<Setting Name="self">Up</Setting>
				<Setting Name="1">Up+num 3</Setting>
				<Setting Name="2">Down+num 3</Setting>
				<Setting Name="4">Up+num 1</Setting>
				<Setting Name="5">Down+num 1</Setting>
			</Set>
			<Set Name="4 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G3</Setting>
				<Setting Name="1">Up</Setting>
				<Setting Name="2">Down</Setting>
				<Setting Name="4">num 1</Setting>
				<Setting Name="5">num 3</Setting>
			</Set>
		</Set>
		<Set Name="formations 4">
			<Set Name="5 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G2</Setting>
				<Setting Name="self">Up</Setting>
				<Setting Name="1">Up+num 3</Setting>
				<Setting Name="2">Down+num 3</Setting>
				<Setting Name="3">Up+num 1</Setting>
				<Setting Name="5">Down+num 1</Setting>
			</Set>
			<Set Name="4 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G3</Setting>
				<Setting Name="1">Up</Setting>
				<Setting Name="2">Down</Setting>
				<Setting Name="3">num 1</Setting>
				<Setting Name="5">num 3</Setting>
			</Set>
		</Set>
		<Set Name="formations 5">
			<Set Name="5 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G2</Setting>
				<Setting Name="self">Up</Setting>
				<Setting Name="1">Up+num 3</Setting>
				<Setting Name="2">Down+num 3</Setting>
				<Setting Name="3">Up+num 1</Setting>
				<Setting Name="4">Down+num 1</Setting>
			</Set>
			<Set Name="4 star">
				<Setting Name="Hold">1</Setting>
				<Setting Name="Hotkey">G3</Setting>
				<Setting Name="1">Up</Setting>
				<Setting Name="2">Down</Setting>
				<Setting Name="3">num 1</Setting>
				<Setting Name="4">num 3</Setting>
			</Set>
		</Set>
	</Set>
</InnerSpaceSettings>

Commands

KeyMapper

The keymapper command provided by KeyMapper is the intended method for interacting with or configuring KeyMapper while it is loaded. It accepts any number of the following parameters in any order (but will be applied left to right):

  • -ftlmods <combo>: Sets modifiers to be used for FTL (focusless targetless leaderless) setups
  • -noftlmods: Removes FTL modifiers
  • -import <filename>: Imports a KeyMapper XML configuration file, merging with the already-loaded configuration (useful for having multiple configuration files). After import, individual keymaps may then be activated with -loadmap. Importing does not automatically activate or update any already activated keymaps.
  • -loadmap <name>: Loads (activates) a keymap by name, from the current configuration. Any number of keymaps can be loaded.
  • -unloadmap <name>: Unloads a keymap by name
  • -togglemap <name>: Toggles a keymap by name

Release history

  • 2009-01-28 (To download this specific version: keymapper-20090128.zip)
    • Added new action types: G11/G15 M-light toggling, and key map load/unload/toggle. Not yet documented, but configurable via ISBoxer Toolkit beta 11 or later
    • Added -togglemap switch to keymapper command
  • 2009-01-15 (To download this specific version: keymapper-20090115.zip)
    • Fixed a bug with FTL Modifiers (they probably haven't been working)
    • Both "Use FTL Modifiers" and "Hold" options can now be used on both Key Maps and Mapped Keys. Each Mapped Key will default to the value used by the Key Map unless specified.
  • 2009-01-04 (To download this specific version: keymapper-20090104.zip)
    • Added "Send Next Click" functionality. Requires Repeater 2009-01-04 or later.
  • 2009-01-01 (To download this specific version: keymapper-20090101.zip)
    • FTL Modifiers can now be toggled per Key Map
  • 2008-12-22 (To download this specific version: keymapper-20081222.zip)
    • Initial release