New keybinding proposal ESDF baised, left hand on home row.

Talk among developers, and propose and discuss general development planning/tackling/etc... feature in this forum.
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

New keybinding proposal ESDF baised, left hand on home row.

Post by IansterGuy »

First I should note that this is a repost from before the loss of forum data. So I did not come up with these ideas on my own “Travists and Tbeholder helped a lot to get me thinking About VDUs, menus, and wingmen for example. So since there is no comments to show the thought process, just comment or ask a question if you want to know what a control is for, or how to use it, or how one would preform an action.

Please look over the setup and give suggestions, there will be some issues I overlooked. There should be no unresolved conflicting overlaps. I have been and will continue posting edits to this proposed keymap as better ideas are established. I had to make some assumptions about what the game may be like in the future. To be on the safe side I have tried to include where necessary controls for every major feature request that I know of.

There has been talk that adding gravity would require new controls. So I have developed a scheme that is gravity compatible, loosely mimics FPS controls, and puts some of the more important controls in the power of one hand. It's design strives to use the same or similar keys as before and or use remember-able lettering. Distinct grouping by usage and function is also attempted.

To synchronize relative velocities between orbiting destinations the ship would need some time to thrust to the new normal space speed. One way to make this synchronization less noticeable would be to do it while in SPEC travel. Here is a link to Proposal to change the way SPEC drive works for orbit sync. which describes the changes.

Maneuverings while in SPEC travel or autopilot would be incompatible with current controls, mainly the strict travel in pointed direction approach to the SPEC drive. It would have to be more flexible to work this new way. Once in full warp with destination set, autopilot would start or the player would use the controls and the navigation window to alter the exact position and relative speed one arrives at destination. Pursuing ships would match their targets destination and arrival speed so ships escaping into warp could end up with the pursuer in front of them instead of behind them. It would therefore be important to take evasive action by being unpredictable when trying to escape through SPEC before the pursuers are within SPEC drive jamming range.

Creating a simple way to manage orbits was another issue. Orbits would be initiated by selecting a target and pressing [O], then editing the orbit from the navigation computers itinerary afterwards if desired. In addition I added a way to upload and download routes from the flight computers autopilot, to and from the navigation computers itinerary, where they can be edited and saved before committing them to the flight computers autopilot. This should begin to solve the ease of navigation problem.

I have played allot of simulators over the years and it got me thinking about key mappings. I know new users see things different than experienced players, as a new user to game I found my favourite key mappings where the ones that were familiar already. So the best noob key map is one that closely resembles the most common mapping which is the WSAD type setups that still are efficient enough for those who never switch away from it. This is to say I think a key mapping program should be included in the game so that a user can easily switch key maps, make custom layouts, or return to defaults.

The following text is the noob friendly key map I made. It is similar in many ways to most every FPS games controls, so it would be familiar, but it requires teaching players to use key combinations for advanced functions. Also it works on laptops but does not account for non US keyboards. My country Canada officially uses a bilingual French/English keyboard that has all the same keys as a US keyboard, someone with other international keyboards would have to make an equivalency for alternative keys.

Before you read the layout you may want to look at this image so that you at least understand the grouping of the first layer of keys.
Keyboard groupings.jpg
Layer of the image to show what the key grouping looks like when each key modifier is activated. Here is a layer representing keys effected by the [Ctrl] modifier
Keyboard groupings Ctrl modified.jpg
I have produced a usable XML that works well with the existing game. Look at the post here to get the code and to replace in the config file.

*Note these controls should be somewhat easier than they look because they use consistently the same modifiers and repetitive input methods.

<<<<Mouse controls Common functions>>>>
[Mouse x-axis] turn left/right
[Mouse y-axis] turn up/down
[Click-Mouse1] Fire primary
[Click-Mouse2] Fire secondary

<<<<Mouse controls aiming functions>>>>
[Scroll-Mouse3] Zoom
[Click-Mouse3] Toggle 'free mouse mode'
[DoubleClick-Mouse3] Toggle 'precision scope aiming mode' (auto zoom is default)
[TrippleClick-Mouse3]Return back to default mouse modes (Closes scope and free mouse mode)
*[Esc] would also return to default mouse modes
*Holding [Ctrl] also would maintain 'Free mouse mode' and releasing would deactivate it

<<<<Mouse camera functions>>>>
[Hold-Mouse3] Camera turn or move external camera bots viewing position of the focus point (deactivates when released)
[QuadrupalClick-Mouse3]Reset current camera to default camera position.
[Mouse left/right scroll] move camera focus position horizontally
[Mouse side buttons] move camera focus position forward and back
[Mouse side zoom scroll] move camera focus position vertically

<<<<Free mouse mode>>>> (steering, shooting, and giving orders exclusively with the mouse using context menus)
[Mouse x-axis] Mouse left/right
[Mouse y-axis] Mouse up/down
[Click-Mouse1] Fire primary
[Doubleclick-Mouse1-hold] Fire Secondary
[Trippleclick-Mouse1-hold] Fire Both
[Click-Mouse1-more than 3 times-hold] Fire Everything
[Depress-Mouse2] Target object under cursor
*Hold [Shift] to select more than one target
[Hold-Mouse2] Highlighter selection to target(s).
[Release-Mouse2] Open context menu for target(s)
*Auto mouse roll and mouse follow would be available settings in game options

<<<<Precision scope aiming mode (auto zoom is default)>>>>
*Is meant to implement a human zoom scope equivalency for an auto aiming feature request
[Scroll-Mouse3] Override auto zoom

<<<<Thruster control alternatives to 'Mouse camera functions'>>>>(For gaming mouses)
[Any button exclusive to gaming mouses] Activate 'Thruster control alternatives'
[Any button that resets camera] Deactivate 'Thruster control alternatives'
[Mouse side zoom scroll] Roll
[Mouse left/right scroll] Lateral thrust left and right
[Mouse side zoom scroll] Lateral thrust up and down
[Mouse side buttons] Thrust forward and back
*Any additional buttons would need to be assigned by the player

<<<<<Joystick>>>>>
[x-axis(left, right)] Turn left/right
[y-axis(forward, back)] Turn up/down
[Button-1(trigger)] Fire Primary
[Button-2] Fire Secondary
[z-axis(twist)] Roll
[Hat-up] Accelerate up
[Hat-down] Accelerate down
[Hat-Left] Accelerate left
[Hat-Right] Accelerate right

<<<<Simple Weapons controls>>>>
[Space] Fire primary
[Space-2Times(quickly)-hold] Fire both primary and Secondary
[Space-3TimesOrMore(quickly)-hold] Fire everything!
{or Alternatives listed under Shift combinations}

<<<<<Simple Left hand movement>>>>>
[E] Accelerate upward
[D] Accelerate downward
[S] Accelerate left
[F] Accelerate right
[X] Accelerate backward (reverse)
[Z] Accelerate forward
[W] Spin anticlockwise
[R] Spin clockwise
[Tab] Overdrive
*Note that WASD-QE-ZX could be a different setup but would displace the [Q] [A] keys used for autopilot. In my mock up simulation of using the controls I found that home row was easier to find by feel; with pinky maintaining [A] position ones hand could stretch far enough to reach all target buttons

Log0 has provided a link to a gravity based blender project here for experimentation with gravity and controls. I liked his controls so I based my setup off it, just to the right and minus the usage of space and shift. In the chosen setup [Z], [Tab], and [+] all would propel a ship forward.

<<<<Velocity setting and matching>>>>
[~] Shelton slide (allow the ship to inertial drift despite governors
[+] Increase speed in pressed keys direction {defaults forward acceleration in normal space}
[-] Decrease speed in pressed keys direction {defaults backward acceleration in normal space}
[\] Increase to maximum thrust forward or in pressed thruster direction regardless of reference
[Alt+/] Match targets speed in normal space in every direction or in pressed keys direction
[Shift+Z] Increase to maximum speed forward
[Shift+X] Set speed to zero relative to vector reference
[Backspace] Set speed to zero relative to vector reference
[Alt+Backspace] Set best intercept speed for target automatically
[0]then{#}then[Enter] Set speed to input

<<<<Movement Governors>>>>
[C] Change control mode between set and forget, and hold to accelerated mode.
[V] Set velocity vector to target to compensate for relativity.
Undo undesired lateral movements from influences like gravity or inertia using thrusters
Toggle Instrument Approach System displays (Includes HUD lines, danger zones, approach vectors)
[2TimesOrMore(quickly)] Change instrument Approach Systems mode (Various modes for various situations)
[O] Toggle thruster orbit mode or put the ship into a real orbit based on approach velocity and vector
[O-then-O] Make selected or current orbit circular at current or selected altitude
[Shift-O] Break current or selected orbit at point so that it can be edited as a route
[P] Set Point of reference for governors, navigation to current target.
[Alt+P] Set Point of reference for governors, navigation to current vector
*Note all of the above can operate only using thrusters.

<<<<(Hypothetical) Flight Modifiers>>> (Proposed components to make ships more point and fly)
[Alt+F] Toggle levitating Flight mode levitating, Gravity compensating, monopole lifts, (repulsorlifts) while in an atmosphere or near any large surface made of matter. (Is the reason capital ships don't crash and burn on reentry. It assists in large ships reaching escape velocity. It helps deflect ships and asteroids on a collision course.) (It starts gradually and takes 3 seconds for full power so that it can be used to avoid a collision)
[Alt+R] Activate 'Rails momentum rectification' (If included) (It takes around 5-10 seconds to start)
*Note If these two are activated, it changes the behavior of flight at the cost of fuel

\/ \/ \/ \/ \/ \/Redundant controls, they are for convenience on a laptop and not necessary\/ \/ \/ \/ \/ \/ \/

<<<<<<<Advanced weapon controls (Alternate Keyboard weapon firing for immediate response, it should rarely be needed instead of [Space bar ]tapping [mouse-Click 1,2] and [joystick-button 1,2])>>>>>>>
[hold-Shift+Quick-Space(Releasing shift is optional)] Fire Secondary
[hold-Space+Quick-Shift(Releasing shift is optional)] Fire both Primary and Secondary weapons
[[Shift]And[Space](Pressed at same time)(Releasing shift is optional)] Fire everything
*Is meant to be quick *ignores [Shift-Capslock]

<<<Advanced steering controls>>>
(To solve conflicts with [space+shift] this new mode will not activate if shoot is currently activated)
[Shift] is a combining key to do an opposite or alternate functions.
[Shift-Capslock] Bind/hold shift combining key (To unbind press [CapsLock])
[Shift+hold-D+{W,E,R,S,D,F,X,C,V}] Maintain constant turning rate
[Shift+press-D] Reset constant turning rate to none
[Shift+E] Turn up
[Shift+W] Turn up left
[Shift+R] Turn up right
[Shift+S] Turn left
[Shift+F] Turn right
[Shift+X] Turn down left
[Shift+C] Turn down
[Shift+V] Turn down right

/\ /\ /\ /\ /\ /\ /\ /\ /\ end of redundant controls /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\

<<<<Autopilot>>>>
[A] Activate autopilot for uploaded Navigational route using all drives automatically, or make a route
[Q] Upload the navigation computers route [q]coordinates, to the flight computer for autopilot usage
[Shift+Q] download the flight computers route [q]coordinates, to the navigation computer for editing
[Q+{1-9}] manually save route to flight computer slot
[Q+{~] manually save route to flight computer to be eligible for auto-selection during autopilot
[Alt+Q+{1-9}] Clear route data from flight computer save slot for specific target
[Alt+Q+{~}] Clear route data from flight computers automatic selection for specific target
[Alt+-hold-Q+-hold-{1-9}+Q] Clear s route data from flight computer save slot for all targets
[Alt+Q+{~}+Q] Clear route data from flight computer automatic selection for all targets.
[Alt+Q-then-Q+{1-9}] Re add recently deleted slot route data
[Alt+Q-then-Q+{~}] Re-add recently deleted automatic selection route data
*Note though there are many controls shown here only the first three would be commonly needed

<<<<<Manual SPEC flight>>>>>
[Shift+A] Toggle SPEC drive for manual speed settings of both the warp drive and the gravity drive/{needs a name} (In SPEC Warp the ship does not technically move in space, while in SPEC gravity drive/{needs a name} accelerates the ship in real space gradually, but takes more time.
[Shift+hold[A]] Activate SPEC and accelerate at maximum velocity quickly for emergencies
[Alt+A] Show 'Flight computers' predicted exit vector and allow editing of it on the fly.
*Note Spec drive must be activated for these controls to kick in
[+] Accelerate in warp space speed in pressed keys direction {default forward}
[-] Decelerate in warp space speed in pressed keys direction {default backward}
[P] Set Target as warp space reference
[Shift+P] Set Point of reference for governors, navigation to current vector
[Backspace] Set warp speed relative to the warp space reference to zero
[Alt+Backspace] Set best warp space intercept speed for target automatically
[\] Set full warp space speed in pressed keys direction {default forward}
[Alt+/] Match targets speed in warp space in every direction or in pressed keys direction
[0] Input warp space speed (press [Enter] after input)
[Shift+[+]] Accelerate relative normal space speed in pressed keys direction {default forward}
[Shift+[-]] Decelerate releative normal space speed in pressed keys direction {default backward}
[Alt+P] Set Target as normal space reference and automatically follow
[Shift+Backspace] Set normal space speed relative to the warp space reference to 0
[Shift+Alt+Backspace] Set best relative normal space intercept speed for target automatically
[Shift+[\]] Set full thrust regardless of reference in pressed thruster direction {default forward}
[Shift+Alt+/] Match targets speed in normal space in every direction or in pressed keys direction
[Shift+0] Input normal space speed (press [Enter] after input)

<<<<Navigation itinerary route and orbit review >>>>
*Orbits are considered any closed repeating loop on a route
[M] Toggle full screen click able Map and navigation window (allows click and drag editing)
[<] Follow route forward (default in VDU otherwise in full screen map)
[>] Follow route back (default in VDU otherwise in full screen map)
[/] Toggle advanced route editing controls without losing control of ship
[Alt+<] Scroll fast forward through trip itinerary
[Alt+Shift+<] Scroll to end of trip itinerary {This is default for quick editing of the routes destination}
[Alt+>] Scroll fast backward through trip itinerary
[Alt+Shift+<] Scroll to start of trip itinerary

<<<<.Navigation route and orbit editing>>>>
*{Only active when [<]or[>] last pressed or when [/]or[M] is toggled}
[up,down,left,right]] edit route/orbit at selected location in 2d looking down path
[[Shift]+[up,down,left,right]]edit route/orbit at selected location in 2d looking from above
[[Shift]-then-+[Ctrl]]+[up,down,left,right]]edit route/orbit at selected location in 2d looking from side
[+] Increase orbit altitude at selected point which increases orbit speed
[-] Decrease orbit altitude at selected point
[Alt+[+]] Increase trips normal space travel speed at selected point
[Alt+[-]] Decrease trip normal space travel speed at selected point
[Alt+Shift+[+]] Increase trips warp space travel speed at selected point
[Alt+Shift+[-]] Decrease trip warp space travel speed at selected point
[Enter] Accept changes to route to target
[Esc] Disregard changes to route to target
[hold-[/]+{1-9}] OR [[~]+{1-9}] Save route to Navigation computer
[Shift+-hold-[/] {1-9} OR [Shift+-hold-[~]+{1-9}] Load a saved route from navigation computer
[Alt+-hold-[/]+{1-9}] OR [Alt+-hold-[~]+{1-9}] Delete saved route from navigation computer
[Shift+[/]Then{#-#-#} then [Enter]] enter coordinates as a target

<<<<Targeting (Priority is by: Close proximity and Similar orbit) >>>>
[T] Target
[Y] Target object in reticle
[G] Target good friendlies
*Ships can target themselves using these keys, so that they can give more complex orders
[H] Target hostile
[N] Target Navigational points of interest
[N+T] Nearest target
[N+B] Target nearest base
[N+P] Target nearest planet
[N+J] Target nearest jump
[N+O] Target objectives navigation points
[Shift+T] Target previous
[Shift+Y] Target previous object in reticle or attackers(first)
[Shift+G] Target previous good friendly
[Shift+H] Target previous Hostile
[Shift+R] Target previous object in reticle or cycle attackers(first)
[Shift+N] Target previous Navigational points of interest
[Alt+Y] Target pursuing or rear object
[Alt+[Shift]+Y] Target previous pursuing or rear object
[Alt+N] Target previous objectives navigation points
[Alt+U] target units only
{Target}+{1-9} Restore Target
Shift+-hold-{Target}+{1-9} Save target

<<<<Subsystem management>>>>
[J] Jam the specific nearby targets SPEC capabilities by setting full power directional interdiction.
[L] Lock missiles on target on subsystem
[Shift+J] Deactivate local spec drive jamming (Default attempts to simultaneously jam all hostiles)
[Shift+K] Target ships previous kill-able subsystems
[Shift+L] Unlock missile targets

<<<<Subsystem Targeting>>>>
[K] Show and cycle ships Kill-able subsystems
[K+T] Hide targets subsystems
[K+J] Sub-target jump drive
[K+N] Sub-target navigation sensors
[K+U] Sub-target thrusters
[K+B] Sub-target turret Batteries
[K+L] Sub-target the Landing bay
[K+I] Sub-target the bridge
[K+S] Sub-target the shield emitters
[K+A] Sub-target SPEC's gravity emitters
[K+W] Sub-target forward weapons
[K+R] Sub-target rocket propelled weapons.
[K+E] Sub-target Electronic countermeasures
[K+D] Sub-target ship to ship docking clamps
[K+M] Sub-target Matter to energy reactors
[K+C] Sub-target cloaking emitters

<<<<Subunit targeting>>>>
[Alt] is a combining key for alternate key functions
[Alt+CapsLock] Bind/hold Alt combining key (To unbind press [CapsLock] )
[Alt+T] Target targets subunit
[Alt+G] Target nearby Good subunit or wingmen
[Alt+H] Target Hostile subunit subunit or wingmen
[Alt+hold{TargetKey}+{1-9}] Load {TargetKeys} saved target
[Alt+Shift+hold{TargetKey}+{1-9} Save target on {TargetKey} at number
*These controls assume that subunits and subsystems are different.

<<<<<<<<<<Activating Initiating and Controlling Ship Functions>>>>>>>>>>>>>>
[Alt+V View ship technical menu (If included, it would show ship layout, crew, functions, and settings)
[Alt+E] Activate Electronic countermeasures
[Alt+C] Activate cloak
[Alt+S] Shutdown reactor (Makes ship harder to detect but stops charging capacitors)
[Alt+J] Jump (It takes around 5-10 seconds for the rift to open)
[Alt+D] Dock or begin automated Landing sequence for planets and stations
[Alt+0] request docking clearance for targeted docking port.
[Alt+9+{1-8}] Take remote control of wing ship {1-8}
[Alt+Shift+(] Take remote control of next ship in your wing
[Alt+Shift+)] Take remote control of previous ship in your wing
[Alt+Shift+1] Eject cargo
[Alt+Shift+2] Eject in escape pod
[Alt+Shift+3] Self destruct now without ejecting :lol:

<<<<Menu navigation>>>>
[{action} then {f1-f8}] Menu shortcuts
[{action} then [up,down,left,right]] Browse menu selections
[{action}-then-[Enter]] Enter input or make selection
[{action}-then-[Shift]+[Enter]] Unselect
[[Enter] then {a-z} then [Enter]] Enter search query in search bar
*Note that [Alt+Enter] is not used

<<<<scrolling and messages>>>>
​[Up] Scroll up all or active menus
[Down] Scroll down all or active menus
[Left] Scroll left all or active menus
[Right] Scroll right all or active menus
[-tap-Insert] Switch forward a menu, in the ship and flight computer VDU (left)
[-tap-Delete] Switch backward a menu in the ship and flight computer VDU (left)
[-tap-Home] Switch forward a menu in the targeting and navigation VDU (right)
[-tap-End] Switch backward a menu in the targeting and navigation VDU (right)
[-tap-PageUp] Scroll up messages, objectives, and status
[-tap-PageDown] Scroll down messages, objectives, and status
[Shift+-tap-Insert] Scroll up left side menus (ship status)
[Shift+-tap-Delete] Scroll down left side menus (ship status)
[Shift+-tap-Home] Scroll up center menus (messages)
[Shift+-tap-End] Scroll down center menus (messages)
[Shift+-tap-PageUp] Scroll up right menus (objectives)
[Shift+-tap-PageDown] Scroll down right menus (objectives)

<<<<<<<Controlling and communicating with units>>>>>>>>>>>>>>*Unfinished*
[{f1-f8}] Send preset Communication to target
[Ctrl] is a combination key both for issuing commands, communicating, it also would activate free mouse mode to allow shooting wherever the mouse is pointing. Mouse follow is also on by default
[Ctrl+CapsLock] Bind/hold Ctrl combiner key (to unbind press [CapsLock])
[Ctrl+{f1-f12}] Send preset communication to target even the really offensive ones
[Ctrl+T] Talk to team or wingmen
[Ctrl+Y] Yak to everyone in area
[Ctrl+P]then type{-Name_or_designation Message} Private message

<<<<<Wingmen offensive orders>>>>>
[Ctrl+A] Send Squad to attack
[Ctrl+S] Wingmen Sentury, Search sweep and secure the area
[Ctrl+D] Wingmen Defend target
[Ctrl+F]Wingmen use Formation
[Ctrl+G] Wingmen Group up
[Ctrl+H] Wingmen Help me

<<<<Wingmen subsystem attack orders>>>>
[Ctrl+J] Wingmen Jam the targets gravity emitters (Inhibits SPEC and normal gravity drives)
[Ctrl+K Kill targets subsystems
[Ctrl+L] Wingmen Land/Launch ship in docking bay of current ship
[Ctrl+hold[L]+{Any target button}release] Wingmen land in target ships docking bay. If hostile disable deffences then send a commando boarding party to try to take over ship.

<<<<Wingmen defensive orders>>>>
[Ctrl+E] Wingmen use Evasion tactics, breakup to stall the enemy
[Ctrl+R] Wingmen Retreat and avoid conflict if possible

<<<<Wingment order management
[Ctrl+Q] Quit last given order
[Ctrl+Shift+Q] assume previously quit order
[Ctrl+W] Toggle wingmen order and group interface

<<<<Wingmen formations>>>>
[Ctrl+V] Assume a wide V attack formation.
[Ctrl+C] Assume a loose convoy protective formation.
[Ctrl+X] Assume a close point defence formation
[Ctrl+Z] Assume a line formation, where one loosely follows the other.

<<<<Wingman group assignment>>>>
"Ctrl+{1-9} Select wingman group
"Ctrl+"[""Select wingman forward
"Ctrl+"]""Select wingman back
"Ctrl+hold"[""+{1-9}] Add wingmen to numbered group
"Ctrl+hold"]""+{1-9}]Remove wingmen from numbered group
[Ctrl+["]] Add all unassigned wingmen to current group
[Ctrl+[:]] Remove all wingmen from current group
*Note Ctrl+Shift cannot be used because it changes a multilingual keyboards language

<<<<<Power management>>>>>(Every change requires holding down one combination key representing a subsystem, and then another key so that these 6 keys give four times as many functions.)
[PageUp+Insert] Power slot 1 raise
[PageUp+Delete] Power slot 1 lower
[PageUp+Home] Power slot 2 raise
[PageUp+End] Power slot 2 lower
[PageDown+Insert] Power slot 3 raise
[PageDown+Delete] Power slot 3 lower
[PageDown+Home] Power slot 4 raise
[PageDown+End] Power slot 4 lower
[Home+Insert] Power slot 5 raise
[Home+Delete] Power slot 5 lower
[Home+PageUp] Power slot 6 raise
[Home+PageDown] Power slot 6 lower
[End+Insert] Power slot 7 raise
[End+Delete] Power slot 7 lower
[End+PageUp] Power slot 8 raise
[End+PageDown] Power slot 8 lower
[Insert+Home] Power slot 9 raise
[Insert+End] Power slot 9 lower
[Insert+PageUp] Power slot 10 raise
[Insert+PageDown] Power slot 10 lower
[Delete+Home] Power slot 11 raise
[Delete+End] Power slot 11 lower
[Delete+PageUp] Power slot 12 raise
[Delete+PageDown] Power slot 12

<<<Wingmen power management>>>
[Ctrl+[Ditto] Ditto for selected wing unit
*note that they setup avoids using Ctrl or Alt so should be rarely accidentally be used with delete. Alt is also never used with Ctrl. So pressing Ctrl+Alt+Del less likely.*

<<<Turret Batteries>>>
Activate/disable all turret batteries AI
[hold-B+{1-9}] Activate specific turret batteries AI
[Shift+hold-B+{1-9}] Deactivate specific turret AI
[Ctrl+B] Fire all turret batteries at currently locked target
[Ctrl+hold-B+{1-9}] Fire/stop {numbered} turret battery at target
[Alt+B] Control all turret batteries all together manually
[Alt+hold-B+{1-9}] Control specific turret battery manually
*Note if there are more than nine turrets {1-9}+{~,1-9,0}+... could be used to select any number of turrets

<<<<<Weapon Selection>>>>>>>> (If ever needed)
[Alt+W] Cycle ship weapons forward
[Alt+-hold-Shift+W] Cycle ship weapons backwards
[Alt+R] Change Rocket propelled weapons forward
[Alt+-hold-Shift+R] Change Rocket propelled weapons backwards
"[" Select primary weapons group forward
"]" Select primary weapons group back
[hold-"["+{1-9}] Add primary weapon to numbered group
[hold-"]"+{1-9}] Remove primary weapon from numbered group
["] Add all unassigned primary weapons to group
[:] Remove all primary weapons from group
"Alt+"["" Select secondary weapons group forward
"Alt+"]"" Select secondary weapons group back
[Alt+hold-"["+{1-9}] Add secondary weapons to numbered group
[Alt+hold-"]"+{1-9}] Remove secondary weapons from numbered group
[Alt+["]] Add all unassigned secondary weapons to group
[Alt+[:]] Remove all secondary weapons from group
"B+"["" Select turret batteries group forward
"B+"]"" Select turret batteries group back
[B+hold-"]"+{1-9}] Add turret batteries to numbered group
[B+hold-"]"+{1-9}] Remove turret batteries from numbered group
[B+["]] Add all unassigned turret batteries to group
[B+[:]] Remove all turret batteries from group

<<<<<<<<<<Numberpad is an alternative to the mouse or joystick, it may be inverted>>>>>>
[Numpad-Up] Turn up
[Numpad-Down] Turn down
[Numpad-Left] Turn Left
[Numpad-Right] Turn Right
[Numpad-Up-Left] Turn UpLeft
[Numpad-Up-Right] Turn UpRight
[Numpad-Down-Left] Turn DownLeft
[Numpad-Down-Right] Turn DownRight
[Numpad-Center] Stop turning immediately
[Numpad-hold-Center+{direction}] Maintain turn
[Numpad-/] Roll-Left
[Numpad-*] Roll-Right
[Numpad-[.]] Toggle 'precision scope aiming mode' (auto zoom is default)
[Numpad-0] Fire Primary
[Numpad-Enter] Fire Secondary
[Numpad-[+]] Set speed higher
[Numpad-[-]] Set speed lower
[Numpad-Backspace] Set speed to 0
[Numpad-[000]] hold camera turn (If present, [000] is a middle click alternative)
[Numpad-hold-[000]+{mouse equivalent action}] (Equivalent mouse camera action})
[Numpad-hold-[000]+Numpad-[+]] Zoom in
[Numpad-hold-[000]+Numpad-[-]] Zoom out
[Numpad-hold-[000]+Numpad-
[*]] Move camera right
[Numpad-hold-[000]+Numpad-[/]] Move camera left
[Numpad-hold-[000]+Numpad-{up,down,left,right}] Camera turn or orbit position
[Numpad-hold-[000]+Numpad-PageUp] Move camera up
[Numpad-hold-[000]+Numpad-PageDown] Move camera down
[Numpad-hold-[000]+Numpad-Home] Move camera forward
[Numpad-hold-[000]+Numpad-End] Move camera back
[Numpad-DoubleTap-[000]] Reset current camera to default

<<<<Move Camera>>>>
[{1-9}] View modes, input, and customizable hotkeys (when one of the special keys is held)
[1] Cameraview Inside
[2] Cameraview Inside left"/>
[3] Cameraview Inside right"/>
[4] Cameraview Inside back
[5] Cameraview Behind
[6] Cameraview Pan
[7] Cameraview View target
[8] Pan target
[9] Zoom in
[0] ZoomOut
[Ctrl+0] Outside target
[Ctrl+[+]] Zoom in
[Ctrl+[-]] Zoom out
[Ctrl+{up,down,left,right}] Camera turn or orbit position
[Ctrl+Numpad-[+]] Zoom in
[Ctrl+Numpad-[-]] Zoom out
[Ctrl+Numpad-[*]] Move camera right
[Ctrl+Numpad-[/]] Move camera left
[Ctrl+Numpad-{up,down,left,right}] Camera turn or orbit position
[Ctrl+Numpad-PageUp] Move camera up
[Ctrl+Numpad-PageDown] Move camera down
[Ctrl+Numpad-Home] Move camera forward
[Ctrl+Numpad-End] Move camera back
[DoubleTap-RtCtrl] Reset current camera to default

<<<<<<<[Number lock] activates manual thruster controls (on a laptop it can be also used. If it needs to be momentary disabled for a command, pressing any combining key or Rt-ctrl or Rt-Alt key will accomplish this.>>>>>>>>>>>>>>
[Numberlock] activates manual thrusters (otherwise number pad is an alternative to the mouse.)
[NumPad-[+]] Add thrust to selected thrusters
[NumPad-[-]] Remove thrust from selected thrusters
[Numpad-0] Set thrust from selected thrusters to zero
[Numpad-[000]] Set all thrusters to zero
[Numpad-hold-0+5] Set all thrusters to zero
[Numpad-hold-0+{1-9,except5}] Instantly thrust from selected thrusters temporary to maximum
[Numpad-[.]] Set thrust to typed value
[Numpad-Enter] Enter value or set maximum thrust
[Numpad-hold-Enter+thruster] Fire both opposite thrusters for maximum spin
[Numpad-hold-Enter+hold-0] Inhibit firing both opposite thruster until released
[Numpad-/] Toggle hotkey mode for manual thrusters
[Numpad-{number}+hold-[/]+{number}] Remove thrusters from selected hotkey
[Numpad-{number}+hold-[*]+{number}] Add thrusters to selected hotkey
[Numpad-[*]+{number}] Temporary activate to full power the hotkeyed thrusters

[hold-8] Select all forward facing thrusters
<<[hold-8]+{number} Select from some forward thrusters>>
[hold-8+7] Select all forward left thrusters
[hold-8+9] Select all forward right thrusters
[hold-8+5] Select all forward top thrusters
[hold-8+2] Select all forward bottom thrusters
[hold-8+4] Select forward top left thrusters
[hold-8+6] Select forward top right thrusters
[hold-8+1] Select forward bottom left thrusters
[hold-8+3] Select forward bottom right thrusters

[hold-2] Select all rear facing thrusters
<<[hold-2]+{number} Select from some rear thrusters>>
[hold-2+1] Select all rear left thrusters
[hold-2+3] Select all rear right thrusters
[hold-2+8] Select all rear top thrusters
[hold-2+5] Select all rear bottom thrusters
[hold-2+7] Select rear top left thrusters
[hold-2+9] Select rear top right thrusters
[hold-2+4] Select rear bottom left thrusters
[hold-2+6] Select rear bottom right thrusters

[hold-4] Select all left facing thrusters
<<[hold-4]+{number} Select from some left thrusters>>
[hold-4+7] Select all left(port) front(left) thrusters
[hold-4+1] Select all left(port) rear(right) thrusters
[hold-4+5] Select all left(port) bottom thrusters
[hold-4+6] Select all left(port) top thrusters
[hold-4+9] Select left(port) top left thrusters(front)
[hold-4+3] Select left(port) top right thrusters(back)
[hold-4+8] Select left(port) bottom left(front) thrusters
[hold-4+2] Select left(port) bottom right(back) thrusters

[hold-6] Select all right facing thrusters
<<[hold-6]+{number} Select from some right thrusters>>
[hold-6+3] Select all right(starboard) rear(left) thrusters
[hold-6+9] Select all right(starboard) front(right) thrusters
[hold-6+4] Select all right(starboard) top thrusters
[hold-6+5] Select all right(starboard) bottom thrusters
[hold-6+1] Select right(starboard) top left(back) thrusters
[hold-6+7] Select right(starboard) top right(front) thrusters
[hold-6+2] Select right(starboard) bottom left(back) thrusters
[hold-6+8] Select right(starboard) bottom right(front) thrusters

<<<<Network play communication>>>>
[Alt+Shift+C] ChangeCommStatus
[Alt+Shift+X] UpFreq
[Alt+Shift+V] DownFreq
[Alt+Shift+W] SwitchWebcam
[Alt+Shift+S] SwitchSecured

<<<Game Controls>>>
[f9] Sound volume Down
[f10] Sound volume Up
[f11] Music Volume Down
[f12] Music Volume Up
[[Shift]+[f9]] Time compression faster (Optional)
[[Shift]+[f10]] Time compression slower (Optional)
[[Shift]+[f11]] Previous music track
[[Shift]+[f12]] Next music track
[Pause] pause
[Print screen] screen shot
[[Ctrl]+[~]] Bring up console
[Enter] Respawn back in time (when dead in single player)
[Esc] Show basic controls, and exit menu items (instruction menus, advanced controls, load, save, instructions, settings, Quit)
[[Esc]then[Q]] Quit game

/////////////////////////////////////////////////////////////////////////////////////////////////////////

/\/\/\/\/\/\/\/\Examples of how to preform some functions using this keymap/\/\/\/\/\/\/\/\/\/\/\

Here is an example of how to use the controls to get into a desired orbit. First one would press [O] once or twice to target the ships current nearest logical orbit or the nearest circular orbit. Then the player would quickly edit it and save it if he likes. With the orbit still targeted the player would press [A] to autopilot to that orbit or press [P] to set as vector reference and if necessary [backspace] to set speed relative speed to zero. Alternatively one could press [Alt+\] to match speed without setting it as a vector reference.

Here is an example of how to avoid collisions with ships and planets. The instrument approach system would give notifications of approaching and passing thresholds. Pressing for instruments approach system would put on the screen a HUD overlay to show graphical information and data that helps with approaches and landing. Upon approaching a planet the system would make the same calculations AI would and send highly visible warnings when approaching points of no return, and more like, points of no course reversal.

Here is an example of how to use turrets on a capital ship. This is how to use the freely rotatable 3rd person perspective outside your capital ship too look in any direction using the mouse then lock weapons onto whatever target currently looking at and manually fire particular turret in that direction.
[-hold-Mouse3] to turn the external camera. Press Y to target you ship in the target reticle Press [L] to lock missiles on target and left and right mouse click to fire main guns if in firing angle. To have all turret batteries attack locked targets automatically, press [Ctrl+B]. To control all turrets at once manually press [Alt+B] and use mouse to aim and fire all turret batteries all together manually. When done press to reactivate or deactivate all turrets, or press [Esc].
You do not have the required permissions to view the files attached to this post.
Last edited by IansterGuy on Thu Jul 18, 2013 10:37 pm, edited 10 times in total.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

Sadly, you cannot reassign Q at present without reassigning the "quit" and "pan" actions too with it.

It's an annoying limitation we have at the moment.

Can you work around that and produce the bindings XML for me to try? (of course, removing any bindings to future features as well).

PS: I like many of the features... I should list them on the Feature Request Traker (FRT in short from now on)
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

klauss wrote:Can you work around that and produce the bindings XML for me to try? (of course, removing any bindings to future features as well).

PS: I like many of the features... I should list them on the Feature Request Tracker (FRT in short from now on)


I have thought about it and looked at it some and what I can say is I have began trying. I have not done one yet so I don't know how long it would take me. It looks like I have missed a few keys already and I would learn a lot more in the process.

Very little of this keybinding will work though without some additional capabilities of the ways keys can be programed. What will work and would be the most interesting would be the thruster keys. Implementing those keys without changing all of the other keys will displace some into an odd spot under a modifier, so I'm probably going to leave some parts in an almost broken state in the test example.

The basic additional key binding controls that that this key setup would require would be: Multiple modifier keys; releasable secondary modifier keys; Time out modifier keys, Overlap-able functions keys; make key sticky modifiers

Another thing I worry about is the order that I list controls, if I should create tags, and what you mean by the XML. Can I just edit the vegastrike.config file?

Also to improve this post I could probably add descriptions of how to preform common actions. This would highlight some of the fancy things this key binding should be capable of. I already have made comments on how to preform actions on other threads so I should eventually post them at the bottom of the control listing.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

IansterGuy wrote: Very little of this keybinding will work though without some additional capabilities of the ways keys can be programed. What will work and would be the most interesting would be the thruster keys. Implementing those keys without changing all of the other keys will displace some into an odd spot under a modifier, so I'm probably going to leave some parts in an almost broken state in the test example.
I noticed. But it's still worthwhile to try to get a feel of how the bindings work before starting the bulk of the work required for those features
IansterGuy wrote: The basic additional key binding controls that that this key setup would require would be: Multiple modifier keys; releasable secondary modifier keys; Time out modifier keys, Overlap-able functions keys; make key sticky modifiers


Not sure what you mean by those
IansterGuy wrote:Another thing I worry about is the order that I list controls, if I should create tags, and what you mean by the XML. Can I just edit the vegastrike.config file?
Yep, that's what I meant by XML.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Primordial
Merchant
Merchant
Posts: 62
Joined: Tue Jun 21, 2011 10:33 pm

Re: New keybinding proposal ESDF baised, left hand on home r

Post by Primordial »

Why not just have reconfigurable key bindings?

For example, I'd much prefer to be able to map thrusts to WASD than EDSF, and then figure the rest out from there, and I'm pretty sure I'd not be alone in that, but if it doesn't for other people then ok - let them do their own thing. I guess we could use the current setup as default?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

Primordial wrote:Why not just have reconfigurable key bindings?

For example, I'd much prefer to be able to map thrusts to WASD than EDSF, and then figure the rest out from there, and I'm pretty sure I'd not be alone in that, but if it doesn't for other people then ok - let them do their own thing. I guess we could use the current setup as default?
That's quite trivial to do on vssetup. I intend to as soon as we get a pair of complete alternatives as XML.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

Here is a candidate for a that set of complete XML key-bindings you requested. There may still be mistakes but this key-binding has a key for every current function. I have been having a lot of fun with this key binding and you can get the code here to test for yourself from the green code box. The easiest way to test to see how much better these thruster controls are is to try flying around the outside of a space station as fast as possible and as close as possible. You all know what happens if you bump a station. You should notice that the thrusters help micro aiming and maneuvering without loosing sight of the object your maneuvering around.

Here is a few tips on how to use it. Left hand on home row pinky on A tab, Z, or X. Thumb on Space and or V, and or C, and or X. One can also dodge and accelerate in an emergency with one hand by pressing pinky Z, thumb C or B for pitch up, and three center fingers on W and R for rolling. Shift is for opposite functions either backwards or off and also will activate turning controls for left hand. Many old keys now use the alt modifier. The Ctrl modifier is for controlling other units like orbital camera bots, wingmen and advanced turrets.

Here is the XML text to replace the text in your vegastrike.conf file. Tell me what you think could be improved. I tagged the text where I had to make a significant compromise.

Code: Select all

<bindings>
    <!-- # Netcomm related key
    <bind key="C" modifier="alt" command="ChangeCommStatus" />
    <bind key="X" modifier="alt" command="UpFreq" />
    <bind key="V" modifier="alt" command="DownFreq" />
    <bind key="W" modifier="alt" command="SwitchWebcam" />
    <bind key="S" modifier="alt" command="SwitchSecured" />
    -->
	
	<!-- # Send preset communition keys -->
    <bind key="function-12" modifier="shift" command="Cockpit::SkipMusicTrack" />
    <bind key="i" modifier="none" command="Screenshot" />
    <bind key="f" modifier="ctrl" command="CommFormUp" />
    <bind key="r" modifier="ctrl" command="CommBreakForm" />
    <bind key="h" modifier="ctrl" command="CommHelpMeOut" />
    <bind key="a" modifier="ctrl" command="CommAttackTarget" />
    <bind key="function-1" modifier="none" command="Comm1Key" />
    <bind key="function-2" modifier="none" command="Comm2Key" />
    <bind key="function-3" modifier="none" command="Comm3Key" />
    <bind key="function-4" modifier="none" command="Comm4Key" />
    <bind key="function-5" modifier="none" command="Comm5Key" />
    <bind key="function-6" modifier="none" command="Comm6Key" />
    <bind key="function-7" modifier="none" command="Comm7Key" />
    <bind key="function-8" modifier="none" command="Comm8Key" />
	
    <!-- # Hotkey target save/load -->
	<bind key="1" modifier="alt" command="SaveTarget1" />
    <bind key="2" modifier="alt" command="SaveTarget2" />
    <bind key="3" modifier="alt" command="SaveTarget3" />
    <bind key="4" modifier="alt" command="SaveTarget4" />
    <bind key="5" modifier="alt" command="SaveTarget5" />
    <bind key="6" modifier="alt" command="SaveTarget6" />
    <bind key="7" modifier="alt" command="SaveTarget7" />
    <bind key="8" modifier="alt" command="SaveTarget8" />
    <bind key="9" modifier="alt" command="SaveTarget9" />

    <bind key="1" modifier="ctrl" command="RestoreTarget1" />
    <bind key="2" modifier="ctrl" command="RestoreTarget2" />
    <bind key="3" modifier="ctrl" command="RestoreTarget3" />
    <bind key="4" modifier="ctrl" command="RestoreTarget4" />
    <bind key="5" modifier="ctrl" command="RestoreTarget5" />
    <bind key="6" modifier="ctrl" command="RestoreTarget6" />
    <bind key="7" modifier="ctrl" command="RestoreTarget7" />
    <bind key="8" modifier="ctrl" command="RestoreTarget8" />
    <bind key="9" modifier="ctrl" command="RestoreTarget9" />
	
	<!-- # Weapon control -->
    <bind key="space" modifier="none" command="FireKey" />
    <bind key="u" modifier="none" command="SwitchCombatMode" />
    <bind key="z" modifier="alt" command="SwitchCombatMode" />
	<bind key="c" modifier="none" command="SwitchCombatMode" />
	<bind key="C" modifier="none" command="SwitchCombatMode" />
    <bind key="j" modifier="none" command="JumpKey" />
    <bind key="A" modifier="none" command="ToggleWarpDrive" />
    <bind key="a" modifier="none" command="ASAP" />
    <bind key="c" modifier="alt" command="CloakKey" />
    <bind key="@ modifier=alt" command="EjectKey" />
    <bind key="e" modifier="alt" command="ECMKey" />
    <bind key="!" modifier="alt" command="EjectCargoKey" />
    <bind key="keypad-0" modifier="none" command="FireKey" />
    <bind key="return" modifier="none" command="MissileKey" />
    <bind key="keypad-enter" modifier="none" command="MissileKey" />
    <bind key="space" modifier="shift" command="MissileKey" />
    <bind key="w" modifier="alt" command="WeapSelKey"/>
    <bind key="W" modifier="alt" command="ReverseWeapSelKey"/>
    <bind key="]" modifier="alt" command="WeapSelKey"/>
    <bind key="[" modifier="alt" command="ReverseWeapSelKey"/>
	<bind key="R" modifier="alt" command="ReverseMisSelKey"/>
    <bind key="r" modifier="alt" command="MisSelKey"/>
    <bind key=";" modifier="none" command="Respawn"/>
    <bind key="[" modifier="none" command="TurretControl"/>
    <bind key="]" modifier="none" command="TurretControl"/>
    <bind key="t" modifier="ctrl" command="TextMessage"/>
	
	<!-- # Docking -->
    <bind key="d" modifier="alt" command="DockKey"/>
<!--    <bind key="D" modifier="alt" command="UnDockKey"/>-->
    <bind key="d" modifier="ctrl" command="RequestClearenceKey"/>
    <bind key="0" modifier="alt" command="RequestClearenceKey"/> <!-- #this is the original -->
	
	<!-- # Targeting -->
    <bind key="t" modifier="none" command="TargetKey" />
    <bind key="n" modifier="none" command="SigTargetKey" />
    <bind key="u" modifier="ctrl" command="SubUnitTargetKey"/> <!-- #temporary compromise -->
<!--    <bind key="u" modifier="n" command="UnitTargetKey" /> #n modifier is not allowed#-->
    <bind key="u" modifier="alt" command="UnitTargetKey" /> <!--#Temporary compromise#-->
    <bind key="l" modifier="none" command="LockTargetKey" />
    <bind key="y" modifier="none" command="PickTargetKey" />
<!--    <bind key="t" modifier="n" command="NearestTargetKey" /> #n modifier is not allowed-->
    <bind key="y" modifier="alt" command="NearestTargetKey" />
    <bind key="T" modifier="none" command="ReverseTargetKey" />
    <bind key="h" modifier="alt" command="NearestHostileTargetKey"/>
    <bind key="h" modifier="none" command="NearestDangerousHostileKey"/>
    <bind key="g" modifier="none" command="NearestFriendlyKey"/>
<!--    <bind key="b" modifier="n" command="NearestBaseKey"/>
    <bind key="p" modifier="n" command="NearestPlanetKey"/>
    <bind key="j" modifier="n" command="NearestJumpKey"/>
    <bind key="k" modifier="none" command="TurretTargetKey" />
    <bind key="g" modifier="b" command="TurretAIOn" />
    <bind key="h" modifier="b" command="TurretAIOff" />
    <bind key="g" modifier="b" command="TurretAIFireAtWill" />
    <bind key="T" modifier="n" command="ReverseNearestTargetKey" />
    <bind key="M" modifier="n" command="ReverseMissionTargetKey" />
    <bind key="m" modifier="n" command="MissionTargetKey" /> #no n or b modifiers allowed -->
    <bind key="b" modifier="alt" command="NearestBaseKey"/>
    <bind key="p" modifier="alt" command="NearestPlanetKey"/>
    <bind key="j" modifier="alt" command="NearestJumpKey"/>
    <bind key="k" modifier="alt" command="TurretTargetKey" />
    <bind key="b" modifier="none" command="TurretAIOn" />
    <bind key="B" modifier="none" command="TurretAIOff" />
    <bind key="b" modifier="ctrl" command="TurretAIFireAtWill" />
    <bind key="Y" modifier="alt" command="ReverseNearestTargetKey" />
    <bind key="M" modifier="alt" command="ReverseMissionTargetKey" />
    <bind key="m" modifier="alt" command="MissionTargetKey" /> <!--#Up to here are all the compromises for no n and b modifiers -->

    <bind key="N" modifier="none" command="ReverseSigTargetKey" />
    <bind key="U" modifier="alt" command="ReverseUnitTargetKey" />
    <bind key="`" modifier="none" command="Flight::Mode::InertialToggle" /> <!-- #Was SheltonKey, you may use InertialToggle also -->
    <bind key="-" modifier="none" command="DecelKey"/>
    <bind key="+" modifier="none" command="AccelKey" />
    <bind key="keypad-minus" modifier="none" command="DecelKey"/>
    <bind key="keypad-plus" modifier="none" command="AccelKey" />
    <bind key="=" modifier="none" command="AccelKey"/>
    <bind key="z" modifier="none" command="AccelKey"/>
    <bind key="x" modifier="none" command="DecelKey"/>
    <bind key="Z" modifier="none" command="AccelKey"/>
    <bind key="X" modifier="none" command="DecelKey"/>
    <bind key="/" modifier="none" command="RollLeftKey"/>
    <bind key="*" modifier="none" command="RollRightKey"/>
    <bind key="keypad-divide" modifier="none" command="RollLeftKey"/>
    <bind key="keypad-multiply" modifier="none" command="RollRightKey"/>
    <bind key="backspace" modifier="none" command="StopKey"/>
    <bind key="X" modifier="none" command="StopKey"/>
    <bind key="\" modifier="none" command="StartKey"/>
    <bind key="Z" modifier="none" command="StartKey"/>
    <bind key="tab" modifier="none" command="ABKey" />


    <bind key="#" modifier="alt" command="SuicideKey"/>
	<!-- # Turning -->
    <bind key="cursor-up" modifier="none" command="UpKey"/>
    <bind key="cursor-down" modifier="none" command="DownKey"/>
    <bind key="cursor-left" modifier="none" command="RightKey"/>
    <bind key="cursor-right" modifier="none" command="LeftKey"/>
    <bind key="E" modifier="none" command="UpKey"/>
    <bind key="D" modifier="none" command="DownKey"/>
    <bind key="S" modifier="none" command="RightKey"/>
    <bind key="F" modifier="none" command="LeftKey"/>
    <bind key="W" modifier="none" command="RollLeftKey"/>
    <bind key="R" modifier="none" command="RollRightKey"/>
    <bind key="keypad-8" modifier="none" command="UpKey"/>
    <bind key="keypad-2" modifier="none" command="DownKey"/>
    <bind key="keypad-5" modifier="none" command="DownKey"/>
    <bind key="keypad-4" modifier="none" command="RightKey"/>
    <bind key="keypad-6" modifier="none" command="LeftKey"/>
<!--    <bind key="M" modifier="none" command="Cockpit::MapKey"/> -->
    <bind key="m" modifier="none" command="Cockpit::NavScreen"/>
    <bind key="1" modifier="none" command="Cockpit::Inside"/>
    <bind key="2" modifier="none" command="Cockpit::InsideLeft"/>
    <bind key="3" modifier="none" command="Cockpit::InsideRight"/>
    <bind key="4" modifier="none" command="Cockpit::InsideBack"/>
    <bind key="5" modifier="none" command="Cockpit::Behind"/>
    <bind key="6" modifier="none" command="Cockpit::Pan"/>
    <bind key="7" modifier="none" command="Cockpit::ViewTarget"/>
    <bind key="8" modifier="none" command="Cockpit::PanTarget"/>
    <bind key="9" modifier="none" command="Cockpit::ZoomIn"/>
    <bind key="0" modifier="none" command="Cockpit::ZoomOut"/>
    <bind key="=" modifier="ctrl" command="Cockpit::ZoomIn"/>
    <bind key="-" modifier="ctrl" command="Cockpit::ZoomOut"/>
    <bind key="keypad-plus" modifier="ctrl" command="Cockpit::ZoomIn"/>
    <bind key="keypad-minus" modifier="ctrl" command="Cockpit::ZoomOut"/>
    <bind key="0" modifier="ctrl" command="Cockpit::OutsideTarget"/>

    <bind key="|" modifier="none" command="PauseKey"/>
    <bind key="pause" modifier="none" command="PauseKey"/>
	<!-- # Move -->
    <bind key="e" command="ThrustUp"/>
    <bind key="d" command="ThrustDown"/>
    <bind key="s" command="ThrustLeft"/>
    <bind key="f" command="ThrustRight"/>
	<bind key="w" modifier="none" command="RollLeftKey"/>
    <bind key="r" modifier="none" command="RollRightKey"/>
    <bind key="cursor-up" modifier="shift" command="ThrustUp"/>
    <bind key="cursor-down" modifier="shift" command="ThrustDown"/>
    <bind key="cursor-left" modifier="shift" command="ThrustLeft"/>
    <bind key="cursor-right" modifier="shift" command="ThrustRight"/>

	<!-- # Sound -->
    <bind key="function-9" modifier="none" command="VolumeDec"/>
    <bind key="function-10" modifier="none" command="VolumeInc"/>
    <bind key="function-11" modifier="none" command="MusicVolumeDec"/>
    <bind key="function-12" modifier="none" command="MusicVolumeInc"/>

    <bind key="v" modifier="ctrl" command="NewShader"/>
	<!-- # Views -->
    <bind key="cursor-insert" modifier="none" command="Cockpit::SwitchLVDU"/>
    <bind key="cursor-home" modifier="none" command="Cockpit::SwitchRVDU"/>
    <bind key="cursor-delete" modifier="none" command="Cockpit::SwitchLVDU"/>
    <bind key="cursor-end" modifier="none" command="Cockpit::SwitchRVDU"/>
    <bind key="q" modifier="none" command="Cockpit::PitchDown"/>
    <bind key="cursor-up" modifier="ctrl" command="Cockpit::PitchDown"/>
    <bind key="cursor-down" modifier="ctrl" command="Cockpit::PitchUp"/>
    <bind key="cursor-right" modifier="ctrl" command="Cockpit::YawLeft"/>
    <bind key="cursor-left" modifier="ctrl" command="Cockpit::YawRight"/>
    <bind key="cursor-pagedown" modifier="none" command="Cockpit::ScrollDown"/>
    <bind key="cursor-pageup" modifier="none" command="Cockpit::ScrollUp"/>
    <bind key="keypad-3" modifier="none" command="Cockpit::ScrollDown"/>
    <bind key="keypad-9" modifier="none" command="Cockpit::ScrollUp"/>

    <bind key="function-1" modifier="ctrl" command="ConsoleKeys::BringConsole"/>
	<!-- # Governors -->
    <bind key="p" modifier="none" command="SetVelocityRefKey"/>
    <bind key="P" modifier="none" command="SetVelocityNullKey"/>
    <bind key="x" modifier="alt" command="SetVelocityRefKey"/>
    <bind key="X" modifier="alt" command="SetVelocityNullKey"/>
    <!-- <bind key="keypad-7" modifier="none" command="SetVelocityRefKey"/>
    <bind key="keypad-1" modifier="none" command="SetVelocityNullKey"/> #disabled because 1 3 7 9 should be more directional keys and to make testers find P -->
	<bind key="v" modifier="none" command="SetVelocityRefKey"/>
    <bind key="V" modifier="none" command="SetVelocityNullKey"/>
	
	
    <bind key="esc" modifier="none" command="Cockpit::Quit"/>
Here is a study key for this particular key binding for testing. [This may get old so instead use Development:Keyboard_layouts under ESDF baised.]
<<<<<Simple Left hand movement>>>>>
[E] Accelerate upward
[D] Accelerate downward
[S] Accelerate left
[F] Accelerate right
[Z] Accelerate forward
[X] Accelerate backward (reverse)
[W] Spin anticlockwise
[R] Spin clockwise
[Tab] Overdrive

<<<<Velocity matching and movement Governors>>>>
[~] Shelton slide (allow the ship to inertial drift despite governors like rails, or manoeuvre mode)
[+] Increase speed in pressed keys direction {defaults forward acceleration in normal space}
[-] Decrease speed in pressed keys direction {defaults backward acceleration in normal space}
[\] OR [Shift+Z] Increase to maximum speed
[Backspace] OR [Shift+X] Match speed of target
[C] or [Alt+Z] - Controller mode/Combat mode - Would be change from the currently maneuver and travel modes.
[V] or [Alt+X] - Set Velocity Vector point of reference to target.
['Shift'+'V'] OR [Alt+Shift+X] Revert Velocity Vector reference to nearest significant object.

*Note all of the above can operate only using thrusters.

<<<<Weapons controls>>>>
[Space] OR [Numpad-0] Fire primary
[Shift+Space] OR [Nubpad-Enter] Fire Secondary

<<<<Targeting (Priority is by: Close proximity and Similar orbit) >>>>
[T] Target
[Y] Target object in reticle or attackers(first)
[H] Target hostile
[G] Target good friendlies
[N] Target Navigational points of interest
[Alt+Y] Nearest target
[Alt+B] Target nearest base
[Alt+P] Target nearest planet
[Alt+J] Target nearest jump
[Shift] is a combining key to do an opposite or alternate functions.
[Shift+T] Target previous
[Shift+N] Target previous Navigational points of interest
[Alt+Shift+Y] Previous nearest target

<<<<Subsystem management>>>>
[K] Target ships kill-able subsystems
[L] Lock missiles on target on subsystem

<<<<Subunit targeting>>>>
[Alt] is a combining key for alternate key functions
[Alt+T] Target subunit
[Alt+H] Target nearest Hostile
[Alt+Shift+H] Target nearest dangerous Hostile
[Alt+G] Good friendlies
[Alt+N] Target objectives navigation points

<<<Advanced steering controls>>>
[Shift] is a combining key to do an opposite or alternate functions.
[Shift+E] Turn up
[Shift+S] Turn left
[Shift+F] Turn right
[Shift+D] Turn down
[Shift+W] Rotate left
[Shift+R] Rotate right

<<<<Autopilot>>>>
[A] Activate autopilot

<<<<<Manual SPEC flight>>>>>
[Shift+A] Toggle SPEC drive for manual speed settings
[+] Accelerate in warp space speed in pressed keys direction {default forward}
[-] Decelerate in warp space speed in pressed keys direction {default backward}
[Backspace] Zero warp space speed

<<<<Navigation itinerary route and orbit review >>>>
[M] Toggle full screen click able Map and navigation window

<<<<<<<<<<Activating Initiating and Controlling Ship Functions>>>>>>>>>>>>>>
[Alt+E] Change Activate Electronic countermeasures
[Alt+C] Activate cloak
[J] Jump (It takes around 5-10 seconds for the rift to open)
[Alt+D] Dock or begin automated Landing sequence for planets and stations
[Ctrl+D] OR [Alt+0] request docking permission
[Alt+Shift+1] Eject cargo
[Alt+Shift+2] Eject in escape pod
[Alt+Shift+3] Self destruct now without ejecting :lol:

<<<scrolling and messages>>>>
​[-tap-Insert] Switch forward a menu, in the ship and flight computer VDU (left)
[-tap-Home] Switch forward a menu in the targeting and navigation VDU (right)
[-tap-PageUp] Scroll up messages, objectives, and status
[-tap-PageDown] Scroll down messages, objectives, and status

<<<<Controlling and communicating with units>>>>
[{f1-f8}] Send preset Communication to target
[Ctrl+T] Talk to team or wingmen

<<<<<Wingmen offensive orders>>>>>
[Ctrl+A] Send wingmen to attack
[Ctrl+F]Wingmen use Formation
[Ctrl+H] Wingmen Help me

<<<<Wingmen defensive orders>>>>
[Ctrl+R] BReak formation

<<<Turret Batteries/Wingmen>>>
Activate turret
[Shift+B] Disable turret
[Ctrl+B] Fire at will
"Ctrl+"[""Select wingman\Turret forward
"Ctrl+"]""Select wingman\Turret back

<<<<<Weapon Selection>>>>
[Alt+W] Change primary Weapons
[Alt+R] Change rocket propelled secondary weapons
"[" Select primary weapons forward
"]" Select primary weapons back

<<<<<<<<<<Numberpad is an alternative to the mouse or joystick, it may be inverted>>>>>>
[Numpad-Up] Turn up
[Numpad-Down] Turn down
[Numpad-Left] Turn Left
[Numpad-Right] Turn Right
[Numpad-[/]] Roll-Left
[Numpad-*] Roll-Right
[Numpad-0] Fire Primary
[Numpad-Enter] Fire Secondary
[Numpad-[+]] Set speed higher
[Numpad-[-]] Set speed lower

<<<<Move Camera>>>>
[{1-9}] View modes, input, and customizable hotkeys (when one of the special keys is held)
[1] Cameraview Inside
[2] Cameraview Inside left"/>
[3] Cameraview Inside right"/>
[4] Cameraview Inside back
[5] Cameraview Behind
[6] Cameraview Pan
[7] Cameraview View target
[8] Pan target
[9] Zoom in
[0] ZoomOut
[Ctrl+[+]] Zoom in
[Ctrl+[-]] Zoom out
[Ctrl+{up,down,left,right}] Camera turn or orbit position
[Ctrl+Numpad-[+]] Zoom in
[Ctrl+Numpad-[-]] Zoom out
[Ctrl+Numpad-
[*]] Move camera right
[Ctrl+Numpad-[/]] Move camera left

<<<<Network play communication>>>>
[Alt+Shift+C] ChangeCommStatus
[Alt+Shift+X] UpFreq
[Alt+Shift+V] DownFreq
[Alt+Shift+W] SwitchWebcam
[Alt+Shift+S] SwitchSecured

<<<Game Controls>>>
[f9] Sound volume Down
[f10] Sound volume Up
[f11] Music Volume Down
[f12] Music Volume Up
[[Shift]+[f12]] Next music track
[Pause] pause
[Print screen] screen shot
[;] Respawn back in time (when dead in single player)
[[Esc]then[Q]] Quit game
Edit: Changed Navigation Map key from M to m in the XML text. :Edit
Edit2: Added [Alt+x] point reference shortcut, [Alt+z] Undo undesired lateral movement (toggle maneuver mode) shortcut. Made changes to make keyboard more compatible with the tutorial, switched so [PageUp] scrolls, Reinserted {up,down,left,right} for steering
Edit3: Added [Shift+Z] Set maximum thrust. Added [Shift+X] Set zero speed, reinserted original [Alt+D]. Set [D] Lateral thrust down. Set [Ctrl+D] Request docking permission. Changed [Shift+D] pitch up. [Shift+C] Lateral thrust upward. [Shift+V] lateral thrust downward.
Last edited by IansterGuy on Sat Aug 17, 2013 8:21 pm, edited 19 times in total.
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

During editing the keymap I found many functions I was missing and added them to the main proposal or adjusted it. I have spent time time learning how to configure the keybindings, and so am more aware of what would be additional necessary for making this hole keybinding to work the way it was intended. I am not a programer so the examples are just the way that I imagined doing them so that you can deeper understand my meaning.

Code: Select all

Unessasary tags would be omitable to avoid clutter
ie.     <bind key1="p" Command1="SetVelocityRefKey" />

Buttons would be able to preform two commands at once so that the corner buttons of the keypad can be used for diagonal steering.
ie.     <bind key1="KeyPad-9" Command1="PitchUp" Command2="TurnRight" />

Allow modifiers within  modifiers that release the first modifier once activated. This would make a difference between [Alt]-then-[Shift] and [Shift]-then-[Alt]. So that arrow keys for example can have more than two functions.
ie.     <bind key="up" ModifierType1="Releaseable" Modifier1="Shift" Modifier2="Alt" Command1="ItineraryEditUp" />

A way to denote a timed modifier key where they key modifies the keyboard for a set ammount of time and need a way to mark the keys that use only the timed version or another type of the modifier
ie.     <bind key="Space" ModifierType1="TimedMaximum" MaxSecondsElapsed=".5" Modifier1="Space"  Command="FireSecondary" />

A way to denote a modifier as a sticky toggleable modifier for [number-lock] so that activating it creates a new set of key functions on the keypad for thrusters. 
ie.     <bind key="Num-lock" CommandType1="Sticky" Command1="Num-lock" />

A function to make other particular pressed keys sticky so that [Caps-lock] can be used
ie.     <bind key="Shift" ModifierType1="ExternalSticky" modifier1="Caps-lock" CommandType1="ModifierActivation" command1="Shift" />

A way to denote a toggle so that one key can do both on and off functions with one key
ie.     <bind key="b" ModifierType1="IfActive" Active="DisableTurret" Command1="ActivateTurret" />

A way to count successive key presses so that the [I] key can preform different functions like changing modes upon more key presses.
ie.     <bind key="i" ModifierType1="Counter" LeastCount=1 MostCount=2 modifier1="i" ModifierType1="IfNotActive" NotActive="InstrumentApproachMode1" ModifierType2="IfNotActive" NotActive="InstrumentApproachMode3"  Command1="InstrumentApproachMode2" />

Allow modifiers to also be buttons activated only if released and key modification was not used
ie.     <bind key="w" Modifier1="Shift" ModifierType1="IfNotPressed" IfNotPressed="Shift" and "Space" modifier1="none" CommandType1="ActivateOnRelease " Command1="RollLeft" />
Some of that logic would be cool so that more methods of input can could be binded I'm not sure how much work this would all be. More logic like this would be cool too: if pressed; if not pressed; accept command; cancel command; and; or. If the keyboard bindings could use logic then more would be possible. Again I don't know how much work this is or what the consequences are.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

From what I can see, one thing that is needed are "stateful" key bindings. Ie: bind key X at mode Y to action Z, key W at mode Y to mode M, etc...

... so multi-key key bindings could be implemented as state machines. Like "c" (enter comm mode), "1-9" (select message in comm mode, return to default mode).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

Ha ha, well that is a simpler way to do some things than what I was thinking. So as I understand if one was to implement things like differentiating between double taps vs two single taps, more would then be needed. Maybe actions would set variables and rules. and button presses would simply check if some variables are true before proceeding.
Primordial wrote:... I'd much prefer to be able to map thrusts to WASD than EDSF, and then figure the rest out from there, and I'm pretty sure I'd not be alone in that, ... . I guess we could use the current setup as default?
Your not alone because I started with WASD and figured the rest out from there and when I was finished I found that I could solve most of the remaining problems by moving over they keys. It solved problems like cramped overcrowded and underused fingers and fingers, too far away, and avoided changing Autopilot keys with no consequence that I recognize except not being just like other shooters.

I'm sure people would appreciate being able to quickly find alternative key bindings in the SetupVS.exe . Most player in the near future are current players and the tutorial is done for the current binding, so I imagine that the default would be the current key binding unless a particular key binding becomes popular enough to warrant updating or altering the tutorial for it. I'm sure there would be many new features needed to make the switch worth while. I didn't list it in the title this time but these controls are intended for the extra complication of gravity, and to ease a possible transition to adding additional features, not just for the current game.

I have done some game playing especially test controls and brainstorm about interfaces. I have made changes and I think now people should really test these controls and critique them.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

IansterGuy wrote:Ha ha, well that is a simpler way to do some things than what I was thinking. So as I understand if one was to implement things like differentiating between double taps vs two single taps, more would then be needed. Maybe actions would set variables and rules. and button presses would simply check if some variables are true before proceeding.
Problem is, you can't do that without inducing some delay on the single taps, and delays during space combat are a killer. Literally.
IansterGuy wrote:
Primordial wrote:... I'd much prefer to be able to map thrusts to WASD than EDSF, and then figure the rest out from there, and I'm pretty sure I'd not be alone in that, ... . I guess we could use the current setup as default?
Your not alone because I started with WASD and figured the rest out from there and when I was finished I found that I could solve most of the remaining problems by moving over they keys. It solved problems like cramped overcrowded and underused fingers and fingers, too far away, and avoided changing Autopilot keys with no consequence that I recognize except not being just like other shooters.
What I don't like about the ESDF, is that turning keys (and it includes up and down) are a bit cumbersome to reach, especially while holding some of the other navigation ones. I'd really prefer turning keys on the arrows.

I haven't tested much, haven't had the time, but that's my first impression.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

I again posted an update to the XML text in the above comment
klauss wrote:
IansterGuy wrote:Ha ha, well that is a simpler way to do some things than what I was thinking. So as I understand if one was to implement things like differentiating between double taps vs two single taps, more would then be needed. Maybe actions would set variables and rules. and button presses would simply check if some variables are true before proceeding.
Problem is, you can't do that without inducing some delay on the single taps, and delays during space combat are a killer. Literally.
In that situation I assumed that one would not tell it not to fire on the first tap. The second tap and hold would ideally then start firing missiles only and another double tap from there or a triple tap from the start would start firing both. Maybe it would be fun to make a new command that fires every weapon available. It would be activated by another double tap or a quadruple tap from the start or more, it would detect a panic and fire everything on board the ship. So there would be no delay just additional functionality that just progressively activates stronger and more weapons. EDIT: The timeout space modifier would be quite fast to avoid most nuisance triggering and ideally there would be a release delay the same duration to further reduce the likely hood of wasted missiles due to represses. There would then be timeouts for the first level, and again for the first missile firing on level two, and again on activation of three. This way not a single shot is delayed, even if one taps all the way up to the highest level. Only the stopping of shooing and lowering of firing intensity would be delayed. Which would equate to just slightly more capacitor waste. :EDIT
klauss wrote:
IansterGuy wrote:
Primordial wrote:... I'd much prefer to be able to map thrusts to WASD than EDSF, and then figure the rest out from there, and I'm pretty sure I'd not be alone in that, ... . I guess we could use the current setup as default?
Your not alone because I started with WASD and figured the rest out from there and when I was finished I found that I could solve most of the remaining problems by moving over they keys. It solved problems like cramped overcrowded and underused fingers and fingers, too far away, and avoided changing Autopilot keys with no consequence that I recognize except not being just like other shooters.
What I don't like about the ESDF, is that turning keys (and it includes up and down) are a bit cumbersome to reach, especially while holding some of the other navigation ones. I'd really prefer turning keys on the arrows.
I haven't tested much, haven't had the time, but that's my first impression.
The idea is that they share the thumb with the space key for emergency maneuverings only, and that this control would normaly be in combination with the number pad or a mouse. I recognize that laptops don't have number pad so I'm putting back in the arrow keys for steering normally, and instead made camera orbit controls under the Ctrl modifier for arrow keys. So the effect is when orbiting the external camera or using the arrow keys for navigation function, that would be the only times where steering with the left hand would be necessary. This is the reason that Shift can be pressed to temporary shift left hand controls to number pad or arrow keys equivalent.
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

So I have progressed further with this key-binding again. I had discovered some of the more advanced functions like turrets where problematic, and found a way to fix it that actually made it more like the original Controls. I'm actually starting to like the compromises I had to make to get the controls to work with the current system. There is little need to conserve buttons like I was, for some of the functions I was worried about. I have been editing the Wiki and now it is listed as a Key-binding in development, though really it is done as long as there are no errors found. The keys are now graphically represented at "Development:Keyboard_layout#ESDF_baised.2C_left_hand_on_home_row_for_U.S._Keyboard_layouts", where it can be found and edited. I plan to make a few links when I figure out the best way to reference it from the default US keyboard layout.

I'm thinking that the key-binding is almost ready to have made an in game transparent reference for the esc menu. But I'm not sure everything is ripe, because I did change a few things just now. What I would like is some verification that the binding is good, and that some people would like to or are using it. Good at this point to me, means the placement of each individual key is as good as it can be made for the intended purposes of the general layout. The purpose of this layout is to be easy to learn and have most commonly used time critical controls within reach.

Though the useable XML I listed here should be done. The main hypothetical key binding of course will not really be, because it is meant to make a point about how controls from new feature requests could be theoretically done. Some of the hypothetical keys are not based on feature requests, but rather I made up to fill in the blanks in between. If I get around to completing those thoughts before someone else dose, I should make an official feature request.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

I've bookmarked the wiki entry, I'll take a look when my internet returns. I'll also try to work on those stateful key bindings we talked
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

I have been away for a while because my troubles with Ubuntu 12.04.2 on my hardware but I'm still running the game on windows8. I have a fresh perspective on the practical key bindings and have discovered some small but significant things I will change. I will replace some movement keys that I found I never actually used because they became double redundant with, the [shift] modifier key activated [E,S,D,F] turning keys. The high real-estate value keys [C] and [V] will be made more significant and remove the need for the unintuitive shortcut key ['Alt'+'X'] and ['Alt'+'Z'].

[C] - Controller mode/Combat mode - Would be change between the currently maneuver and travel mode. I propose while in maneuver mode to be renamed Combat mode that instead of implementing a speed limit it simply matches the progression rate of the controls to the output of the thrust so that releasing the acceleration button instantly halts acceleration. I think this just makes the most sense.

[V] - Set Velocity Vector reference to target.
['Shift'+'V'] Revert Velocity Vector reference to nearest significant object.

I have also discovered an error while loading if the XML's spacing near the quit binding is changed.

I will fix some buttons I had backwards like volume and redundant turning controls.

The only key that still bugs me is the Dock key that I have set to ['Alt'+'D'] because it would necessitate that the word "Alt" will be added into the voiced tutorial of Oswald. I think that to avoid confusion ships should just auto dock when stopped inside the docking box or when they hit a planet. This would solve the problem with new players crashing into the stations and planets and remove the need to ensure the player knows how to dock initially.

As for the ingame control screen, when I discover how to alter it I will consider submitting a usable patch of the entire work except the tutorial issue.
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

So I have the Key layout the way I like it and now I want to edit the exit key screen where the key mapping is shown. I have looked for it and I found a file ./win32/data/sprites/interfaces/main_menu/quit_button_pressed.spr which I suspect to be the file that I need to edit. Trouble is that I can't find software that will unpack .spr nor .image format. I am careful not to download any viruses by inspecting the reputation ratings of websites. What format are .spr and .image actually in, or how can I edit the file I need to edit?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

.spr is plaintext, you can use notepad or anything that edits text.

The tricky part is the .image file, which is DXT5-compressed data within a DDS container. I think only developer tools can handle those files, you could try photoshop but I'm unsure. You'll be better off editing the original from masters. nVidia and AMD both have developer tools that will let you convert that back to .image.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: New keybinding proposal ESDF baised, left hand on home r

Post by TBeholder »

XnView views DXTs, gimp-dds both reads and writes.
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

TBeholder wrote:XnView views DXTs, gimp-dds both reads and writes.
gimp-dds, besides being rather tricky to build (it doesn't build without patching for newer gimp versions), is quite sub-optimal since it uses the GPU driver's realtime compression code, which is awfully bad. No, it's best to use nVidia's nvcompress or some specialized tool like those.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

That is great information. XnView was the program suspected existed but could not find because I kept searching for an editor, instead of a viewer and converter. It is great for viewing images in uncommon formats quickly.

I have separated the master into layers using gimp and cleaned up inconsistencies and some odd outlining around the keys in the original. I got the transparency and color of the background near identical but the keys contrast does seem slightly duller due to the way I pulled it from a flat image.

Now I need to decide how to best display the layout with this style of image. I will be changing the name of the categories to the same as the new Labels I have added to the XML. I will also likely place the categories to mimic their location on the keyboard and align the keys to puzzle piece together.

I would share the improved image in a gimp file with layers separated for easy editing, but the .xcf extension is not allowed to be posted. Also I didn't check masters for an already separated file because I really wanted to learn gimp transparency anyways. I will likely post an image when I develop something unique and interesting.
Last edited by IansterGuy on Fri Jul 12, 2013 9:33 pm, edited 2 times in total.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

Try uploading it on any of the many file lockers (don't know which remain alive these days), and I'll pull it out from those. It'd be nice to have an editable master indeed.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

Well in that case I might as well just share my DropBox link since I always store my public content there. Seems that many anonymous public online storage sites have been attacked for allowing viruses to be hosted.
Last edited by IansterGuy on Mon Mar 10, 2014 8:56 pm, edited 1 time in total.
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

Okay, now the image I am working on is starting to reveal what it may look like in the end. I still need to finish and adjust the placement to fit in group names and key function labels.
quit-Improved_borders-ESDF_Based_Controls.png
Any additional ideas? I still have to adjust the modified keys and possibly individually list shift modified keys. I'm thinking that I may separate the modified keys into rows to save space, so that modifier keys are listed only once. Titles will be in bold and labels will be underlined with an attached line leading to the keys as shown.
You do not have the required permissions to view the files attached to this post.
IansterGuy
Bounty Hunter
Bounty Hunter
Posts: 174
Joined: Mon Aug 13, 2012 8:49 am

Re: New keybinding proposal ESDF baised, left hand on home r

Post by IansterGuy »

So more work has been done on the Keymap image and it looks a bit cluttered. There are no connector lines yet and wont be added untill the end because they are a hassle to move. What I would expect comments on are the name changes, placements of things and the readability. Suggestions are welcome because they are useful before I continue to raise the quality.
quit-Improved_borders-ESDF_Based_Controls.png
I have noticed that some of the saves games people have been submitting default to the older version of these key bindings. So I believe that Deus Siddis has been using them, and I imagine others. The Tutorial would need to say Alt+D instead of D, though these controls could otherwise be made finished fairly easily by me. Is there interest in making these the official controls? Or else the creation an intuitive way to switch between Key bindings? If so then by what schedule and version would be desirable to implement it?
You do not have the required permissions to view the files attached to this post.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: New keybinding proposal ESDF baised, left hand on home r

Post by klauss »

Honestly, and IMHO, cluttered is an understatement.

You really need to find a better layout. I can't make heads or tails of it, not at first sight, and not after trying.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Post Reply