Difference between revisions of "Oolite Keyboard Controls"

From Elite Wiki
(Default Key Assignments)
(Added picture!)
 
(61 intermediate revisions by 20 users not shown)
Line 1: Line 1:
  +
[[File:Keyconfig keyboard 1 3.png|thumb|right|[[Keyconfig]]'s ''Virtual Keyboard'' <br>(for easily changing one or two key settings)]]
  +
  +
== Non-English language Keyboards ==
  +
  +
* See the BB discussion [http://www.aegidian.org/bb/viewtopic.php?f=8&t=20638 here].
  +
* Keyconfig.plist for [http://www.aegidian.org/bb/viewtopic.php?p=273466#p273466 French] ''AZERTY'' keyboard (Gracieuseté du Monsieur le Commandant STyx).
  +
*Keyconfig.plist for [http://www.aegidian.org/bb/viewtopic.php?p=278092#p278092 German] ''QWERTZ'' Linux keyboard (Mit reichlichem Gruß an Kommandant Freiherr von Tsoj, 2021).
  +
* Keyconfig.plist for [http://bb.aegidian.org/viewtopic.php?f=9&t=21080 German] ''QWERTZ'' Linux keyboard (Genugtuung an den wundersamen und illustren Kommandanten Slartibartfast, 2021). This ''might'' work for Windows, too.
  +
* Keyconfig.plist for [http://www.aegidian.org/bb/viewtopic.php?p=273475#p273475 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 [http://www.aegidian.org/bb/viewtopic.php?f=3&t=20822 here].
  +
  +
German Linux is listed above
  +
 
== Default Key Assignments ==
 
== Default Key Assignments ==
   
Linux users will find the following key assignments in <code> /usr/lib/Oolite/oolite.app/Contents/Resources/Config/keyconfig.plist </code> (assuming you did a default installation!).
 
  +
Key assignments are stored in the file <code>keyconfig.plist</code>. This file, by default, is in the following location:
  +
* Linux: <code>/usr/lib/GNUstep/Applications/oolite.app/Resources/Config/keyconfig.plist</code>
  +
* Windows: <code>C:\Oolite\oolite.app\Resources\Config\keyconfig.plist</code> - ''(was C:\Program Files\Oolite\... before 1.73.x)''
  +
* Mac OS-X: In “Extras” folder, or in <code>Oolite.app/Contents/Resources/Config/keyconfig.plist</code>
  +
  +
++'''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 ===
 
{| border="1" cellpadding="9" align="center"
 
{| border="1" cellpadding="9" align="center"
 
|+
 
|+
 
|-style="background:darkslateblue; color:white"
 
|-style="background:darkslateblue; color:white"
! Action !! Key !! Keycode (Dec) !! Keycode (Hex) !! Notes
+
! width=15%"|Action !! width="20%"|Keyconfig Entry !! width="10%"|Key !! width="5%"|Keycode (Dec) !! width="5%"|Keycode (Hex) !! width="10%"|BBC Key !! width="30%"|Notes
 
|-align="center"
 
|-align="center"
 
! Roll Left
 
! Roll Left
| Left arrow || 253 || FD ||
+
| key_roll_left || Left arrow || 253 || FD || , || Roll anticlockwise.
 
|-align="center"
 
|-align="center"
 
! Roll Right
 
! Roll Right
| Right arrow || 252 || FC ||
+
| key_roll_right || Right arrow || 252 || FC || . || Roll clockwise.
 
|-align="center"
 
|-align="center"
 
! Pitch Forward
 
! Pitch Forward
| Up arrow || 255 || FF ||
+
| key_pitch_forward || Up arrow || 255 || FF || s || Pitch down (dive).
 
|-align="center"
 
|-align="center"
 
! Pitch Back
 
! Pitch Back
| Down arrow || 254 || FE ||
+
| key_pitch_back || Down arrow || 254 || FE || x || Pitch up (climb).
  +
|-align="center"
  +
! Yaw Left
  +
| key_yaw_left || , || 44 || 2C || Left arrow || Yaw (turn) left.
  +
|-align="center"
  +
! Yaw Right
  +
| key_yaw_right || . || 46 || 2E || Right arrow || Yaw (turn) right.
 
|-align="center"
 
|-align="center"
 
! Increase Speed
 
! Increase Speed
| w || 119 || 77 ||
+
| key_increase_speed || w || 119 || 77 || Space || Speed increase.
 
|-align="center"
 
|-align="center"
 
! Inject Fuel
 
! Inject Fuel
| i || 105 || 69 ||
 
  +
| key_inject_fuel || i || 105 || 69 || i || Witchspace Fuel Injectors. Only available when equipment installed.
 
|-align="center"
 
|-align="center"
 
! Decrease Speed
 
! Decrease Speed
| s || 115 || 73 ||
+
| key_decrease_speed || s || 115 || 73 || / || Speed decrease.
  +
  +
|-align="center"
  +
! Activate Ident System
  +
| key_ident_system || r || 114 || 72 || r || Activate Ident System.
  +
|-align="center"
  +
! Deactivate Ident system
  +
| key_untarget_missile || u || 117 || 75 || u ||NB: This is the same action as "Deactivate Missile-targeting system".
  +
  +
|-align="center"
  +
! Launch Escape Pod
  +
| key_launch_escapepod || Esc || 27 || 1B || Esc ||Requires an Escape Pod to be fitted.
  +
  +
|-align="center"
  +
! Jumpdrive
  +
| key_jumpdrive || j || 106 || 6A || j || Cannot activate when close to planets or ships.
  +
|-align="center"
  +
! Hyperspace
  +
| key_hyperspace || h || 104 || 68 || h || Requires a hyperspace-capable ship.
  +
|-align="center"
  +
! Galactic Hyperspace
  +
| key_galactic_hyperspace || g || 103 || 67 || g || Must have a Galactic Hyperdrive fitted.
  +
  +
|-align="center"
  +
! 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.
  +
|-align="center"
  +
! Autopilot
  +
| key_autopilot || c || 99 || 63 || c || Requires Docking Computer. Slow-docking.
  +
|-align="center"
  +
! Autodock
  +
| key_autodock || C || 68 || 44 || C || Requires Docking Computer. Instant-docking.
  +
  +
|-
  +
|}
  +
  +
=== Combat Controls ===
  +
{| border="1" cellpadding="9" align="center"
  +
|+
  +
|-style="background:darkslateblue; color:white"
  +
! width=15%"|Action !! width="20%"|Keyconfig Entry !! width="10%"|Key !! width="5%"|Keycode (Dec) !! width="5%"|Keycode (Hex) !! width="10%"|BBC Key !! width="30%"|Notes
  +
|-align="center"
  +
! Toggle Weapons On/Off
  +
| key_weapons_online_toggle || _ || 95 || 5f || _ || Toggle weapon lockdown (laser and turrets).
 
|-align="center"
 
|-align="center"
 
! Fire Lasers
 
! Fire Lasers
| a || 97 || 61 ||
 
  +
| key_fire_lasers || a || 97 || 61 || a || Fire laser in current view (if installed).
 
|-align="center"
 
|-align="center"
! Target Missile
+
! Activate Missile-targeting system
| t || 116 || 74 ||
+
| key_target_missile || t || 116 || 74 || t || Activate Missile-targeting system.
 
|-align="center"
 
|-align="center"
! Untarget Missile
+
! Deactivate Missile-targeting system
| u || 117 || 75 ||
+
| key_untarget_missile || u || 117 || 75 || u || Deactivate Missile-targeting system.
 
|-align="center"
 
|-align="center"
 
! Launch Missile
 
! Launch Missile
| m || 109 || 6D ||
+
| key_launch_missile || m || 109 || 6D || m || Launch Missile or Mine.
 
|-align="center"
 
|-align="center"
 
! Next Missile
 
! Next Missile
| y || 121 || 79 ||
 
  +
| key_next_missile || y || 121 || 79 || y || [[Multi-Targeting System]] required in Oolite versions before 1.74.
|-align="center"
 
  +
! Activate Ident System
 
| r || 114 || 72 ||
 
 
|-align="center"
 
|-align="center"
 
! Cycle forward between targets
 
! Cycle forward between targets
| + || 43 || 2B ||
 
  +
| key_next_target || + || 43 || 2B || + || [[Target System Memory Upgrade]] required.
 
|-align="center"
 
|-align="center"
 
! Cycle backward between targets
 
! Cycle backward between targets
| - || 45 || 2D ||
 
  +
| key_previous_target || - || 45 || 2D || - || [[Target System Memory Upgrade]] required.
 
|-align="center"
 
|-align="center"
 
! Activate ECM
 
! Activate ECM
| e || 101 || 65 ||
+
| key_ecm || e || 101 || 65 || e || ECM System required.
 
|-align="center"
 
|-align="center"
! Launch Escape Pod
 
  +
! Target nearest incoming missile
| Esc || 27 || 1B ||
+
| key_target_incoming_missile || T || 84 || 54 || e ||
  +
 
|-align="center"
 
|-align="center"
! Energy Bomb
+
! Energy Bomb
| Tab || 9 || 09 ||
+
| key_energy_bomb || Tab ("\t") || 9 || 09 || Tab || Energy Bomb required. (Strict mode only from v1.77 on.)
  +
 
|-align="center"
 
|-align="center"
! Galactic Hyperspace
 
  +
! Toggle cloaking device
| g || 103 || 67 ||
 
  +
| key_cloaking_device || 0 || 48 || 30 || 0 || Cloaking Device required.
  +
  +
|-
  +
|}
  +
  +
=== In-Flight Controls ===
  +
{| border="1" cellpadding="9" align="center"
  +
|+
  +
|-style="background:darkslateblue; color:white"
  +
! width=15%"|Action !! width="20%"|Keyconfig Entry !! width="10%"|Key !! width="5%"|Keycode (Dec) !! width="5%"|Keycode (Hex) !! width="10%"|BBC Key !! width="30%"|Notes
  +
 
|-align="center"
 
|-align="center"
! Emergency Hyperdrive
 
  +
!Dump Cargo
| H || 72 || 48 || won't work, probably
+
| key_dump_cargo || d || 100 || 64 || d ||
 
|-align="center"
 
|-align="center"
! Hyperspace
 
  +
!Cycle cargo to dump
| h || 104 || 68 ||
+
| key_rotate_cargo || R || 82 || 52 || R ||
  +
 
|-align="center"
 
|-align="center"
! Jumpdrive
 
  +
! Prime optional equipment
| j || 106 || 6A ||
 
  +
| key_prime_equipment || N || 78 || 4e || N || From Oolite v1.76. Requires OXP-installed equipment (not in core game).
 
|-align="center"
 
|-align="center"
! Dump Cargo
 
  +
! Activate optional equipment
| d || 100 || 64 ||
 
  +
| key_activate_equipment || n || 110 || 6e || n || From Oolite v1.76. Requires OXP-installed equipment (not in core game).
 
|-align="center"
 
|-align="center"
!Cycle cargo to dump
 
  +
! Activate optional equipment secondary function
| R || || ||
 
  +
| key_mode_equipment || b || 98 || 62 || b || From Oolite v1.77. Requires OXP-installed equipment (not in core game).
  +
 
|-align="center"
 
|-align="center"
! Autopilot
 
  +
! Scanner Zoom
| c || 99 || 63 ||
+
| key_scanner_zoom || z || 122 || 7A || z ||
 
|-align="center"
 
|-align="center"
! Autodock
 
  +
! Reset Scanner Zoom
| D || 68 || 44 ||
+
| key_scanner_unzoom || Z || 90 || 5A || Z ||
 
|-align="center"
 
|-align="center"
! Take a Snapshot
 
  +
! Next Compass Target
| * (shift+8) || 42 || 2A || Written to $HOME/oolite-saves
 
  +
| key_next_compass_mode || \ or # || 92 || 5C || \ ||
 
|-align="center"
 
|-align="center"
! Docking Music Toggle
 
  +
! Previous Compass Target
| s || 115 || 73 || Only if Docking Computer fitted!
 
  +
| key_prev_compass_mode || &#124; || 124 || 7C || &#124; || Oolite V1.77 or later.
 
|-align="center"
 
|-align="center"
! Scanner Zoom
+
! Comms Log
| z || 122 || 7A ||
+
| key_comms_log || ` || 96 || 60 || ` ||
  +
  +
  +
|-
  +
|}
  +
  +
=== Map Controls (F6 screen) ===
  +
{| border="1" cellpadding="9" align="center"
  +
|+
  +
|-style="background:darkslateblue; color:white"
  +
! width=15%"|Action !! width="20%"|Keyconfig Entry !! width="10%"|Key !! width="5%"|Keycode (Dec) !! width="5%"|Keycode (Hex) !! width="10%"|BBC Key !! width="30%"|Notes
  +
 
|-align="center"
 
|-align="center"
! Map Dump
 
  +
! Advanced Navigational Array
| ! (shift+1) || 33 || 21 ||
 
  +
| key_advanced_nav_array || ^ || 94 || 5E || ^ || In Galactic-Chart Mode: Hold down to activate, release to deactivate.
 
|-align="center"
 
|-align="center"
 
! Map Home
 
! Map Home
| || 302 || || ??
 
  +
| key_map_home || Home or ↖ || 302 || 12E || O || In Galactic-Chart Mode: Selects your current system.
 
|-align="center"
 
|-align="center"
! Comms Log
 
  +
! Map Info
| ` || 96 || 60 ||
 
  +
| key_map_info || i || 105 || 69 || i || Toggles between names & additional system information (economy/government/TL).
 
|-align="center"
 
|-align="center"
! Next Compass Mode
 
  +
! Cycle Map Highlight
| \ || 92 || 5C ||
 
  +
| (?) || ? || (?) || (?) || || Toggles colour of systems (sun colour/economy/government/TL).
  +
|-
  +
|}
  +
  +
=== Market Controls (F8 screen) ===
  +
{| border="1" cellpadding="9" align="center"
  +
|+
  +
|-style="background:darkslateblue; color:white"
  +
! width=15%"|Action !! width="20%"|Keyconfig Entry !! width="10%"|Key !! width="5%"|Keycode (Dec) !! width="5%"|Keycode (Hex) !! width="10%"|BBC Key !! width="30%"|Notes
  +
 
|-align="center"
 
|-align="center"
! Display Frame Rate
 
  +
! Buy/sell maximum amount
| F || || ||
 
  +
| ? || Enter or Return || ? || ? || ? || Once item is selected: buys/sells maximum and then sells/buys on second press
  +
|-align="center"
  +
! Sort market goods
  +
| ? || / || ? || ? || || Toggles between default sort/alphabetical/price/quantity for sale/quantity in hold/unit mass
  +
|-align="center"
  +
! Filter market goods
  +
| Select market goods || ? || (?) || (?) || || Toggles between all goods/carried or in stock/carried/in stock/'legal'/'illegal'.
  +
|-align="center"
  +
|-
 
|}
 
|}
   
  +
=== Misc. Controls ===
  +
{| border="1" cellpadding="9" align="center"
  +
|+
  +
|-style="background:darkslateblue; color:white"
  +
! width=15%"|Action !! width="20%"|Keyconfig Entry !! width="10%"|Key !! width="5%"|Keycode (Dec) !! width="5%"|Keycode (Hex) !! width="10%"|BBC Key !! width="30%"|Notes
   
<BR>
 
  +
|-align="center"
  +
! Docking Music Toggle
  +
| key_docking_music || s || 115 || 73 || q || Only if Docking Computer fitted!
  +
|-align="center"
  +
! Cycle through external views
  +
| key_custom_view || v || 118 || 76 || v ||
  +
|-align="center"
  +
! Take a Snapshot
  +
| key_snapshot || * (shift+8) || 42 || 2A || * (shift+8) || Written to $HOME/oolite-saves.
  +
|-align="center"
  +
! Toggle Hud
  +
| key_hud_toggle || o || 111 || 6F || o || Oolite 1.76 or later (replaces fixed debug key). Useful for screen dumps.
   
== Changing Key Assignments ==
 
  +
|-align="center"
  +
! Pause Game
  +
| key_pausebutton || p || 112 || 70 || p ||
  +
|-align="center"
  +
! 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.
   
If you want to change key assignments ''don't'' alter the default file. Instead copy <code> keyconfig.plist </code> from
 
  +
|-align="center"
<code> /usr/lib/Oolite/oolite.app/Contents/Resources/Config/ </code> to
 
  +
! Display Frame Rate
<code> /usr/lib/Oolite/AddOns/Config/</code>.
 
  +
| key_show_fps || F || 70 || 46 || F || Displays frame rate, object- and collision-counter and player's pwm-coordinates. (Only available in test releases.)
(Note that you may need to create the Config directory first.)
 
  +
|-align="center"
  +
! 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.)
   
  +
|-
  +
|}
   
You can edit <code> keyconfig.plist </code> with any standard text editor. You'll find a list of Linux keycodes [http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html 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 [http://www.lookuptables.com/ this table] or [http://www.blooberry.com/indexdot/color/hexcalc.htm this online converter].)
 
  +
<br />
   
== Undocumented Keys ==
+
== Debugging Keys ==
   
The following keys aren't yet official so your mileage may vary!
 
  +
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.
   
   
Line 133: Line 209:
 
|+
 
|+
 
|-style="background:darkslateblue; color:white"
 
|-style="background:darkslateblue; color:white"
! Action !! Key !! Keycode (Dec) !! Keycode (Hex) !! Notes
+
! width=10%"|Action !! width="10%"|Key !! width="75%"|Notes
  +
 
|-align="center"
 
|-align="center"
! Toggle Mouse Control
 
  +
! Entity Dump
| Shift + M || 77 || 4D || When activated, the mouse becomes a virtual joystick. (Under Linux: only in fullscreen mode) The left mouse button fires and the right should re-centre your ship.
 
  +
| 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.
 
|-
 
|-
 
|-align="center"
 
|-align="center"
! Get pwm coordinates
 
  +
! Collision Debug
| Shift + F || || || Shows the pwm coordinates at any time while flying in space.
 
  +
| b || Enables collision test debugging.
 
|-
 
|-
 
|-align="center"
 
|-align="center"
! Open the console.log
 
  +
! Octree Debug
| Pause, 0 || || || It opens the console.log. Highly useful for debugging OXPs or helping Gile to debug Oolite.
 
  +
| c || Enables octree debugging, which will print the line “DEBUG Octrees collide!” in the logfile whenever two objects collide.
  +
|-
  +
|-align="center"
  +
! Complete Debug
  +
| d || Enables all debug flags.
  +
|-
  +
|-align="center"
  +
! Shader Debug
  +
| s || Enables shader debug messages.
  +
|-
  +
|-align="center"
  +
! Entity Boxes
  +
| x || Enables drawing of bounding boxes around all entities in the game.
  +
|-
  +
|-align="center"
  +
! 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 [http://www.aegidian.org/bb/viewtopic.php?t=3644 may produce unintended results]. Therefore it is disabled in Oolite 1.69.1.
  +
|-
  +
|-align="center"
  +
! Switch off HUD
  +
| o || Switches off the HUD.
  +
|-
  +
|-align="center"
  +
! End Debugging
  +
| n || Disables all debug flags and the textured planets. Switches the HUD back on.
 
|-
 
|-
 
|}
 
|}
   
  +
<BR>
  +
== 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 <code>keyconfig.plist</code> into it, then edit the copy:
  +
* Linux: <code>~/.Oolite/AddOns</code>
  +
* Windows (except Vista): <code>C:\Program Files\Oolite\AddOns</code>
  +
* Windows Vista: <code>C:\Oolite\AddOns</code>
  +
* Mac OS-X: <code>~/Library/Application Support/Oolite/AddOns</code>
  +
  +
  +
You can edit <code>keyconfig.plist</code> 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 [http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html 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 [http://www.lookuptables.com/ this table] or [http://www.blooberry.com/indexdot/color/hexcalc.htm 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.
  +
  +
{| border="1" cellpadding="9" align="center"
  +
|+
  +
|-style="background:darkslateblue; color:white"
  +
! width=10%"|Key Name !! width="10%"|Keycode (Dec) !! width="10%"|Keycode (Hex) !! width="70%"|Suggested keyconfig.plist usage
  +
  +
|-align="center"
  +
! gvArrowKeyRight
  +
| 252 || FC || 252; // gvArrowKeyRight
  +
|-
  +
|-align="center"
  +
! gvArrowKeyLeft
  +
| 253 || FD || 253; // gvArrowKeyLeft
  +
|-
  +
|-align="center"
  +
! gvArrowKeyDown
  +
| 254 || FE || 254; // gvArrowKeyDown
  +
|-
  +
|-align="center"
  +
! gvArrowKeyUp
  +
| 255 || FF || 255; // gvArrowKeyUp
  +
|-
  +
|-align="center"
  +
! gvHomeKey
  +
| 303 || 12F || 303; // gvHomeKey
  +
|-
  +
|-align="center"
  +
! gvEndKey
  +
| 304 || 130 || 304; // gvEndKey
  +
|-
  +
|-align="center"
  +
! gvInsertKey
  +
| 305 || 131 || 305; // gvInsertKey
  +
|-
  +
|-align="center"
  +
! gvDeleteKey
  +
| 306 || 132 || 306; // gvDeleteKey
  +
|-
  +
|-align="center"
  +
! gvPageUpKey
  +
| 307 || 133 || 307; // gvPageUpKey
  +
|-
  +
|-align="center"
  +
! gvPageDownKey
  +
| 308 || 134 || 308; // gvPageDownKey
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey0
  +
| 310 || 136 || 310; // gvNumberPadKey0
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey1
  +
| 311 || 137 || 311; // gvNumberPadKey1
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey2
  +
| 312 || 138 || 312; // gvNumberPadKey2
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey3
  +
| 313 || 139 || 313; // gvNumberPadKey3
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey4
  +
| 314 || 13A || 314; // gvNumberPadKey4
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey5
  +
| 315 || 13B || 315; // gvNumberPadKey5
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey6
  +
| 316 || 13C || 316; // gvNumberPadKey6
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey7
  +
| 317 || 13D || 317; // gvNumberPadKey7
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey8
  +
| 318 || 13E || 318; // gvNumberPadKey8
  +
|-
  +
|-align="center"
  +
! gvNumberPadKey9
  +
| 319 || 13F || 319; // gvNumberPadKey9
  +
|-
  +
|}
   
 
<BR>
 
<BR>
  +
  +
== 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.
  +
  +
* [https://www.box.com/s/wa19flt29azdqx0lslvl 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 ==
 
== Silly Keyboard Tricks ==
Line 156: Line 377:
   
   
[[category:oolite]]
+
[[category:oolite|Keybord controls]]

Latest revision as of 14:09, 18 November 2021

Keyconfig's Virtual Keyboard
(for easily changing one or two key settings)

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.

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!