Oolite Keyboard Controls
Contents
Non-English language Keyboards
- See the BB discussion here.
- Keyconfig.plist for French AZERTY keyboard (Gracieuseté du Monsieur le Commandant STyx).
- Keyconfig.plist for German QWERTZ Linux keyboard (Mit reichlichem Gruß an Kommandant Freiherr von Tsoj, 2021).
- Keyconfig.plist for German QWERTZ Linux keyboard (Genugtuung an den wundersamen und illustren Kommandanten Slartibartfast, 2021). This might work for Windows, too.
- Keyconfig.plist for Latin American (Gracias al Supremo, Serendipitoso y Sereno El Señor Comandante Reval).
Galcop Health Warning for non-English Linux Keyboards
Problems with non-English Linux keyboard layouts have been known for ages and are not so much an Oolite issue, rather than an SDL 1.2.x one. All keyboards are treated as if they were US layout and one finds quite a few projects using SDL that have similar inconveniences.
Using SDL 1.2.x's unicode inputs seems to help, but unfortunately unicode inputs recognize only keydown events and not keyup ones. Getting this to work properly may not be impossible, but it is not straightforward either. See here.
German Linux is listed above
Default Key Assignments
Key assignments are stored in the file keyconfig.plist
. This file, by default, is in the following location:
- Linux:
/usr/lib/GNUstep/Applications/oolite.app/Resources/Config/keyconfig.plist
- Windows:
C:\Oolite\oolite.app\Resources\Config\keyconfig.plist
- (was C:\Program Files\Oolite\... before 1.73.x) - Mac OS-X: In “Extras” folder, or in
Oolite.app/Contents/Resources/Config/keyconfig.plist
++Please Note: All characters in capitals are shift + character, i.e. R = shift + r.++
++Additional: the column labelled BBC, refers to the alternate BBC keyboard controls.++
Flight Controls
Action | Keyconfig Entry | Key | Keycode (Dec) | Keycode (Hex) | BBC Key | Notes |
---|---|---|---|---|---|---|
Roll Left | key_roll_left | Left arrow | 253 | FD | , | Roll anticlockwise. |
Roll Right | key_roll_right | Right arrow | 252 | FC | . | Roll clockwise. |
Pitch Forward | key_pitch_forward | Up arrow | 255 | FF | s | Pitch down (dive). |
Pitch Back | key_pitch_back | Down arrow | 254 | FE | x | Pitch up (climb). |
Yaw Left | key_yaw_left | , | 44 | 2C | Left arrow | Yaw (turn) left. |
Yaw Right | key_yaw_right | . | 46 | 2E | Right arrow | Yaw (turn) right. |
Increase Speed | key_increase_speed | w | 119 | 77 | Space | Speed increase. |
Inject Fuel | key_inject_fuel | i | 105 | 69 | i | Witchspace Fuel Injectors. Only available when equipment installed. |
Decrease Speed | key_decrease_speed | s | 115 | 73 | / | Speed decrease. |
Activate Ident System | key_ident_system | r | 114 | 72 | r | Activate Ident System. |
Deactivate Ident system | key_untarget_missile | u | 117 | 75 | u | NB: This is the same action as "Deactivate Missile-targeting system". |
Launch Escape Pod | key_launch_escapepod | Esc | 27 | 1B | Esc | Requires an Escape Pod to be fitted. |
Jumpdrive | key_jumpdrive | j | 106 | 6A | j | Cannot activate when close to planets or ships. |
Hyperspace | key_hyperspace | h | 104 | 68 | h | Requires a hyperspace-capable ship. |
Galactic Hyperspace | key_galactic_hyperspace | g | 103 | 67 | g | Must have a Galactic Hyperdrive fitted. |
Ask for docking clearance | key_docking_clearance_request | L | 76 | 4C | L | The targeted station will give you clearance (or not). Carriers might stop when giving clearance. |
Autopilot | key_autopilot | c | 99 | 63 | c | Requires Docking Computer. Slow-docking. |
Autodock | key_autodock | C | 68 | 44 | C | Requires Docking Computer. Instant-docking. |
Combat Controls
Action | Keyconfig Entry | Key | Keycode (Dec) | Keycode (Hex) | BBC Key | Notes |
---|---|---|---|---|---|---|
Toggle Weapons On/Off | key_weapons_online_toggle | _ | 95 | 5f | _ | Toggle weapon lockdown (laser and turrets). |
Fire Lasers | key_fire_lasers | a | 97 | 61 | a | Fire laser in current view (if installed). |
Activate Missile-targeting system | key_target_missile | t | 116 | 74 | t | Activate Missile-targeting system. |
Deactivate Missile-targeting system | key_untarget_missile | u | 117 | 75 | u | Deactivate Missile-targeting system. |
Launch Missile | key_launch_missile | m | 109 | 6D | m | Launch Missile or Mine. |
Next Missile | key_next_missile | y | 121 | 79 | y | Multi-Targeting System required in Oolite versions before 1.74. |
Cycle forward between targets | key_next_target | + | 43 | 2B | + | Target System Memory Upgrade required. |
Cycle backward between targets | key_previous_target | - | 45 | 2D | - | Target System Memory Upgrade required. |
Activate ECM | key_ecm | e | 101 | 65 | e | ECM System required. |
Target nearest incoming missile | key_target_incoming_missile | T | 84 | 54 | e | |
Energy Bomb | key_energy_bomb | Tab ("\t") | 9 | 09 | Tab | Energy Bomb required. (Strict mode only from v1.77 on.) |
Toggle cloaking device | key_cloaking_device | 0 | 48 | 30 | 0 | Cloaking Device required. |
In-Flight Controls
Action | Keyconfig Entry | Key | Keycode (Dec) | Keycode (Hex) | BBC Key | Notes |
---|---|---|---|---|---|---|
Dump Cargo | key_dump_cargo | d | 100 | 64 | d | |
Cycle cargo to dump | key_rotate_cargo | R | 82 | 52 | R | |
Prime optional equipment | key_prime_equipment | N | 78 | 4e | N | From Oolite v1.76. Requires OXP-installed equipment (not in core game). |
Activate optional equipment | key_activate_equipment | n | 110 | 6e | n | From Oolite v1.76. Requires OXP-installed equipment (not in core game). |
Activate optional equipment secondary function | key_mode_equipment | b | 98 | 62 | b | From Oolite v1.77. Requires OXP-installed equipment (not in core game). |
Scanner Zoom | key_scanner_zoom | z | 122 | 7A | z | |
Reset Scanner Zoom | key_scanner_unzoom | Z | 90 | 5A | Z | |
Next Compass Target | key_next_compass_mode | \ or # | 92 | 5C | \ | |
Previous Compass Target | key_prev_compass_mode | 124 | 7C | Oolite V1.77 or later. | ||
Comms Log | key_comms_log | ` | 96 | 60 | ` |
|
Map Controls (F6 screen)
Action | Keyconfig Entry | Key | Keycode (Dec) | Keycode (Hex) | BBC Key | Notes |
---|---|---|---|---|---|---|
Advanced Navigational Array | key_advanced_nav_array | ^ | 94 | 5E | ^ | In Galactic-Chart Mode: Hold down to activate, release to deactivate. |
Map Home | key_map_home | Home or ↖ | 302 | 12E | O | In Galactic-Chart Mode: Selects your current system. |
Map Info | key_map_info | i | 105 | 69 | i | Toggles between names & additional system information (economy/government/TL). |
Cycle Map Highlight | (?) | ? | (?) | (?) | Toggles colour of systems (sun colour/economy/government/TL). |
Market Controls (F8 screen)
Action | Keyconfig Entry | Key | Keycode (Dec) | Keycode (Hex) | BBC Key | Notes |
---|---|---|---|---|---|---|
Buy/sell maximum amount | ? | Enter or Return | ? | ? | ? | Once item is selected: buys/sells maximum and then sells/buys on second press |
Sort market goods | ? | / | ? | ? | Toggles between default sort/alphabetical/price/quantity for sale/quantity in hold/unit mass | |
Filter market goods | Select market goods | ? | (?) | (?) | Toggles between all goods/carried or in stock/carried/in stock/'legal'/'illegal'. |
Misc. Controls
Action | Keyconfig Entry | Key | Keycode (Dec) | Keycode (Hex) | BBC Key | Notes |
---|---|---|---|---|---|---|
Docking Music Toggle | key_docking_music | s | 115 | 73 | q | Only if Docking Computer fitted! |
Cycle through external views | key_custom_view | v | 118 | 76 | v | |
Take a Snapshot | key_snapshot | * (shift+8) | 42 | 2A | * (shift+8) | Written to $HOME/oolite-saves. |
Toggle Hud | key_hud_toggle | o | 111 | 6F | o | Oolite 1.76 or later (replaces fixed debug key). Useful for screen dumps. |
Pause Game | key_pausebutton | p | 112 | 70 | p | |
Toggle Mouse Control | key_mouse_control | M | 77 | 4D | M | When activated, the mouse becomes a virtual joystick (in full screen mode only). The left mouse button fires and the right re-centres your ship. |
Display Frame Rate | key_show_fps | F | 70 | 46 | F | Displays frame rate, object- and collision-counter and player's pwm-coordinates. (Only available in test releases.) |
Dump Target State | key_dump_target_state | H | 72 | 48 | H | Writes a detailed dump of your current target to the logfile. If no target is chosen, the player's state will be dumped. (Only available in test releases.) |
Debugging Keys
The following keys only work while you have paused the game by pressing p. Most of them will dump debug-messages to Oolite's logfile. This is highly useful for debugging OXPs or helping to debug Oolite.
Action | Key | Notes |
---|---|---|
Entity Dump | 0 (zero) | Writes a list of all entities in your current system to the logfile. Useful e.g. to find out whether a certain ship exists. |
Collision Debug | b | Enables collision test debugging. |
Octree Debug | c | Enables octree debugging, which will print the line “DEBUG Octrees collide!” in the logfile whenever two objects collide. |
Complete Debug | d | Enables all debug flags. |
Shader Debug | s | Enables shader debug messages. |
Entity Boxes | x | Enables drawing of bounding boxes around all entities in the game. |
Planet Textures | t | Turns on the experimental on-the-fly generation of planet textures. Dock and launch or hyperjump to see the effect. This feature is still under development and may produce unintended results. Therefore it is disabled in Oolite 1.69.1. |
Switch off HUD | o | Switches off the HUD. |
End Debugging | n | Disables all debug flags and the textured planets. Switches the HUD back on. |
Changing Key Assignments
If you want to change key assignments don't alter the default file. Instead, create a 'Config' folder in your local AddOns folder, and copy keyconfig.plist
into it, then edit the copy:
- Linux:
~/.Oolite/AddOns
- Windows (except Vista):
C:\Program Files\Oolite\AddOns
- Windows Vista:
C:\Oolite\AddOns
- Mac OS-X:
~/Library/Application Support/Oolite/AddOns
You can edit keyconfig.plist
with any standard text editor. In Oolite 1.65 and earlier, keys are specified as key codes. You'll find a list of Linux keycodes here. Note that Oolite uses decimal values whereas most keycodes are expressed in hexadecimal. This can cause confusion. For example the comma key produces a keycode of 2C (hex) which translates to 44 (decimal), whereas keycode 44 (hex) refers to the uppercase "D" key, which is actually 68 (decimal)! (If you don't have a hex/decimal calculator handy try this table or this online converter.)
In current test releases, key assignments can be specified as text instead.
If you can't be bothered with manual editing try Keyconfig - a small helper for creating your personal keymapping for Oolite 1.76+.
Numeric Keypads
Oolite does not make use of the numeric keypad. This ensures the game is playable on laptops. However, since some players may wish to make use of it, here are the keycodes for all the numeric pad keys.
Key Name | Keycode (Dec) | Keycode (Hex) | Suggested keyconfig.plist usage |
---|---|---|---|
gvArrowKeyRight | 252 | FC | 252; // gvArrowKeyRight |
gvArrowKeyLeft | 253 | FD | 253; // gvArrowKeyLeft |
gvArrowKeyDown | 254 | FE | 254; // gvArrowKeyDown |
gvArrowKeyUp | 255 | FF | 255; // gvArrowKeyUp |
gvHomeKey | 303 | 12F | 303; // gvHomeKey |
gvEndKey | 304 | 130 | 304; // gvEndKey |
gvInsertKey | 305 | 131 | 305; // gvInsertKey |
gvDeleteKey | 306 | 132 | 306; // gvDeleteKey |
gvPageUpKey | 307 | 133 | 307; // gvPageUpKey |
gvPageDownKey | 308 | 134 | 308; // gvPageDownKey |
gvNumberPadKey0 | 310 | 136 | 310; // gvNumberPadKey0 |
gvNumberPadKey1 | 311 | 137 | 311; // gvNumberPadKey1 |
gvNumberPadKey2 | 312 | 138 | 312; // gvNumberPadKey2 |
gvNumberPadKey3 | 313 | 139 | 313; // gvNumberPadKey3 |
gvNumberPadKey4 | 314 | 13A | 314; // gvNumberPadKey4 |
gvNumberPadKey5 | 315 | 13B | 315; // gvNumberPadKey5 |
gvNumberPadKey6 | 316 | 13C | 316; // gvNumberPadKey6 |
gvNumberPadKey7 | 317 | 13D | 317; // gvNumberPadKey7 |
gvNumberPadKey8 | 318 | 13E | 318; // gvNumberPadKey8 |
gvNumberPadKey9 | 319 | 13F | 319; // gvNumberPadKey9 |
Classic Elite keyboard controls
In the original BBC version, you could control your ship with the following controls: S and X to dive and climb; < and > (well "," and ".") to roll left and right; and A to fire the lasers.
Here is a download link to grab the keyconfig.plist file that you need to change the keys.
- Classic Elite keyboard config hosted on Box.com. Includes a Readme with installation Instructions and a list of the keys.
Download this file, put it into a Config folder, and put that in your AddOns folder.
OXPs
- Classic Elite keyboard config (just above!)
- Keyboard Cobra alters the effects of your roll/pitch/yaw keys to make your cobra more manoeuverable
Silly Keyboard Tricks
- Change
key_launch_missile
to 112. Now you'll need to hit "p" to launch a missile - which also pauses the game. You'll sometimes get a nice snapshot of the departing missile!