The BDG Keyboard Manager (or “Keyboard Command Mapping Modifier”, “KeybMan”) provides a graphical user interface for the keys.xml file which enables the user to customize keyboard mappings for both Battle of Britain and MiG Alley.
This manual covers both the MiG Alley and Battle of Britain versions of the Keyboard Manager, any differences between those two versions will be outlined below. Please note also that the screenshots were taken on a German version of Windows, so some of the standard dialogue buttons will be labelled in German.
Should any problems arise, don´t be shy and ask at the fora at the BDG website, http://www.bob-ma.org
The application itself requires DirectX version 8 or higher, in order to do anything meaningful with the generated output file, you need either the BDG Version 0.97 of Battle of Britain or 0.85 of MiG Alley. You will have to set the “GET_KEYMAPS_FROM_FILE” variable in the bdg.txt to “ON” for any changes to take effect.
The Keyboard Manager is a single executable called “keybman2.exe“, which can be extracted to any folder, the most obvious would be the “< game_root>\KEYBOARD“ folder of your MiG or BoB installation. (e.g. “C:\Program Files\Rowan Software\Battle of Britain\KEYBOARD“)
The Keyboard Manager (and BoB/MiG) store the user-configured keyboard mappings in a file called keys.xml. KeybMan searches (by using in the windows-registry) for the file “<game_root>\KEYBOARD\keys.xml”, if it is not found (which will happen if you start for the first time), you will see this screen:
Just press the “OK” button to proceed, you will then be shown this screen:
This is the main screen of the Keyboard Manager. We will go through all objects on this screen from top to bottom, left to right. The buttons on the right will be discussed last.
The leftmost, topmost display is the help-box, which displays information about the currently selected key or command.
The rightmost, topmost box is the status information, which is mainly concerned with showing the number of mapped commands; it will also display information if you try to map an already taken key.
The leftmost listbox is the command list, which shows every mappable command. If a command is written in uppercase, it means that this command is assigned to at least on key.
The listbox right of the command list is the key list, which shows every key which can be assigned to a command. As with the command list, an uppercase key means that it is already mapped to a command.
The rightmost listbox is called the modifier list and shows all possible modifiers. Please note that, at least in the BoB version, there is no difference between “left” and “right” modifiers, so (for example) the left and the right shift keys will be regarded as the same “shift” modifier.
Just under of the modifier list are the filter options, namely the command filter and the free key filter.
We have grouped all commands in BoB (or MiG) into 5 different command categories: View, Misc, Control, Weapons and Comms. Clicking on any of these category-radioboxes will only display related commands in the command list.
The free key filter works similar to the command filter: if you click on any of these radioboxes, only keys that are not already mapped using this particular modifier will be listed in the key list. Again, please note that BoB does not know any difference between “left” and “right” modifiers, so clicking on (for example) the “LShift” button will have no effect.
The 3 listboxes in the downmost row are called the current binding display, the entries in these lists always show complete mappings, e.g. the first entries in all boxes show one mapped command, likewise the second entries et cetera.
Finally, let’s discuss the buttons on the right:
Map Directly lets you specify the key/button you want to map to a specific command just by pressing the key or button.
The “What key is this?” button prompts you to press a key or button and presents you its name inside the manager.
Help On Command will display information about the currently selected command in the help window.
Help On Key will do likewise for keys.
Add Combination
Using this button you can add new key assignments; you have to mark one command in the command list, one key in the key list and one modifier in the modifier list first, and then press the button to add the mapping. If all goes well, the count of assigned mapping in the status window should increase by one.
Clear Combination
The opposite of the Add Combination button, this option lets the user unassign a certain keyboard mapping. Mark one combination of command, key and modifier and press this button to remove the mapping.
Check Command
Pressing this button will display information about the currently marked command.
Check Key
To make this command work, you will have to mark a key first. If you did this, all commands that are assigned to that particular key are being shown in the current binding displays.
Original Layout
Pressing this button will restore the BDG default mapping, undoing all your changes.
Press “OK” to go back to the default mapping.
Save Layout
Pressing this button lets you save your current mapping to the file “keys.xml”, which is located in the
“<game_root>\KEYBOARD” directory.
About
Selecting this option will display the version number and acknowledgment information. Pressing the “Expat” button will take you to the Expat homepage. (See also the acknowledgments section.)
Quit
This will quit the Keyboard Manager, it you have not saved your mappings yet you will see this screen:
Press “OK” to quit anyway without saving, or press “Abort” to go back to the main screen.
I will show two small tutorials on how to work with this tool, please read them in the suggested sequence.
There are two ways to adding key mappings: the one is an “interactive” approach, called “directX mapping”, where you just have to mark the command, and press the button you want to map, the other one is the one from the first version of this application, where you play around with the various listboxes found on the main screen. We will first discuss the (hopefully more intuitive) “directX mapping”.
You start by marking the command you want to map in the leftmost listbox. After that, you press the Map Directly button on the right; you will be confronted by this dialogue:
Now the manager polls the keyboard and the first connected joystick for any pressed button. The first thing you have to do is to specify the modifier by pressing either nothing, shift, control or alt, then you press the key you want to map to that command. This done, you will see this dialogue:
It will show you the entered key combination; acknowledge it by pressing the OK button. If the entered combination is already in use, the manager will ask you for confirmation if to discard the old mapping; if you press OK, the new mapping will replace the old combination, if you press Cancel, and the new combination will be discarded.
In case you elect not to overwrite the old mapping, your new one will be discarded and your decision will be acknowledged by this screen
This way of adding a new mapping is a bit more cumbersome as the one shown above, so consider yourself warned.
As I am not really a hotshot pilot, I need easy access to the “Ejectpilot” command, so I want to assign it to the “Y” key… the following steps are required to do this:
The Current Binding boxes show that no command is mapped to any of the “Y” key and modifier combinations, so I am good to go.
After I pressed the button, I see a few things: First, the count of mapped commands has increased by one, as stated in the status window. Second, the Current Mapping windows show all assignments of the “Ejectpilot” command, which is now mapped to the “Ctrl-E” and “Y” keys.
Please note that this action was purely for instructional purposes… I don’t expect any sane person to do this kind of double-check.
This concludes my little series of tutorials…
The Keyboard Manager uses the Expat XML Parser, which can be found at http://www.libexpat.org .