Keyboard Bindings

Talk among developers, and propose and discuss general development planning/tackling/etc... feature in this forum.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

I'll see when I have time and how challenging that is...
anyhow lookin forward to your config file
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Code: Select all

<!--	TARGETING	-->
	<bind	key="w"	modifier="none"	command="TargetKey"	/>
	<bind	key="W"	modifier="none"	command="ReverseTargetKey"	/>
	<bind	key="f"	modifier="none"	command="NearestTargetKey"	/>
	<bind	key="F"	modifier="none"	command="ReverseNearestTargetKey"	/>
	<bind	key="d"	modifier="none"	command="SigTargetKey"	/>
	<bind	key="D"	modifier="none"	command="ReverseSigTargetKey"	/>
	<bind	key="s"	modifier="none"	command="UnitTargetKey"	/>
	<bind	key="S"	modifier="none"	command="ReverseUnitTargetKey"	/>
	<bind	key="q"	modifier="none"	command="PickTargetKey"	/>
	<bind	key="a"	modifier="none"	command="SubUnitTargetKey"	/>
	<bind	key="e"	modifier="none"	command="LockTargetKey"	/>
The other set of most commonly used keys - to be easily accessible by the left hand. For some int keyboards that don't have q as the top left key, just swap the keybinding appropriately. I kept the convention of shift letter to reverse the primary targeting key (e.g w/W). Most common keys are the ones accessed by the forefinger.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Code: Select all

<!--	COMBAT	-->
	<bind	key="x"	modifier="none"	command="ECMKey"	/>
	<bind	key="space"	modifier="none"	command="FireKey"	/>
	<bind	key="c"	modifier="ctrl"	command="CloakKey"	/>
	<bind	key="space"	modifier="ctrl"	command="MissileKey"	/>
	<bind	key="g"	modifier="none"	command="WeapSelKey"	/>
	<bind	key="G"	modifier="none"	command="ReverseWeapSelKey"	/>
	<bind	key="t"	modifier="none"	command="MisSelKey"	/>
	<bind	key="T"	modifier="none"	command="ReverseMisSelKey"	/>
	<bind	key="c"	modifier="none"	command="ToggleAutotracking"	/>
Combat being next accessed set of keys, they are grouped mainly around the forefinger, and third row of keys on the keyboard. Note ctrl+c for cloak, so no accidental activation of cloak and lowering of shields.

Not sure if ctrl+space will work for missile - could someone test this please?
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Code: Select all

<!--	TURRET CONTROL	-->
	<bind	key="function-1"	modifier="ctrl"	command="TurretControl"	/>
	<bind	key="b"	modifier="none"	command="TurretAIOn"	/>
	<bind	key="B"	modifier="none"	command="TurretAIFireAtWill"	/>
	<bind	key="b"	modifier="ctrl"	command="TurretTargetKey"	/>
	<bind	key="v"	modifier="none"	command="TurretAIOff"	/>
Gives all the new turret control functions in one small area. Note b is the activation key, with shift and ctrl giving the variations. v is deactivation. Note the additional activations require a modifier key to avoid accidental activation on a friend (or big enemy).

To enter a turret, since it is changing a cockpit viewpoint, I used ctrl+F1 (taken from the Privateer Remake config).
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Code: Select all

<!--	VELOCITY	-->
	<bind	key="H"	modifier="none"	command="ToggleWarpDrive"	/>
	<bind	key="h"	modifier="none"	command="ASAP"	/>
	<bind	key="function-12"	modifier="ctrl"	command="SetVelocityRefKey"	/>
	<bind	key="function-12"	modifier="none"	command="SetVelocityNullKey"	/>
	<bind	key="j"	modifier="none"	command="JumpKey"	/>
	<bind	key="y"	modifier="none"	command="SwitchCombatMode"	/>
	<bind	key="keypad-minus"	modifier="none"	command="DecelKey"	/>
	<bind	key="keypad-plus"	modifier="none"	command="AccelKey"	/>
	<bind	key="/"	modifier="none"	command="StopKey"	/>
	<bind	key="*"	modifier="none"	command="StartKey"	/>
	<bind	key="keypad-divide"	modifier="none"	command="StopKey"	/>
	<bind	key="keypad-multiply"	modifier="none"	command="StartKey"	/>
	<bind	key="tab"	modifier="none"	command="ABKey"	/>
Yes, they are all over the place, but there is method to my madness. The primary acceleration keys (accel, decel, full, and stop) are all accessed by the right hand at the keypad - usually by the pinky since they are used less often in flight (usually set and forget). I left Tab as afterburner, since it is a hold down key - but this is flexible. Maybe swap Tab=shelton and KP Enter is AB?

Note SPEC is shift+h to avoid accidental activation. ASAP is a new command which will automatically point your ship at your target and keep pointing until you turn it off. These would be used in combination. Activate ASAP to face your destination, activate SPEC to fly directly there with no course requirement necessary, then reverse the keys on arrival.

Set Ref and Null keys are the setting velocity relative to an object keys. Note the Null (cancellation key) is the default (back to the sun), and changing requires a modifier. Avoid accidental changing.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Code: Select all

<!--	CAMERA POV		-->
	<bind	key="cursor-up"	modifier="none"	command="Cockpit::PitchDown"	/>
	<bind	key="cursor-down"	modifier="none"	command="Cockpit::PitchUp"	/>
	<bind	key="cursor-left"	modifier="none"	command="Cockpit::YawLeft"	/>
	<bind	key="cursor-right"	modifier="none"	command="Cockpit::YawRight"	/>
	<bind	key="function-1"	modifier="none"	command="Cockpit::Inside"	/>
	<bind	key="function-2"	modifier="none"	command="Cockpit::InsideLeft"	/>
	<bind	key="function-3"	modifier="none"	command="Cockpit::InsideRight"	/>
	<bind	key="function-4"	modifier="none"	command="Cockpit::InsideBack"	/>
	<bind	key="function-5"	modifier="none"	command="Cockpit::Behind"	/>
	<bind	key="function-6"	modifier="none"	command="Cockpit::Pan"	/>
	<bind	key="function-7"	modifier="none"	command="Cockpit::OutsideTarget"	/>
	<bind	key="function-8"	modifier="none"	command="Cockpit::PanTarget"	/>
	<bind	key="function-9"	modifier="none"	command="Cockpit::ZoomIn"	/>
	<bind	key="function-10"	modifier="none"	command="Cockpit::ZoomOut"	/>
	<bind	key="function-11"	modifier="none"	command="SwitchControl"	/>

	<bind	key="cursor-pagedown"	modifier="none"	command="Cockpit::ScrollDown"	/>
	<bind	key="cursor-pageup"	modifier="none"	command="Cockpit::ScrollUp"	/>
	<bind	key="cursor-home"	modifier="none"	command="Cockpit::SwitchRVDU"	/>
	<bind	key="cursor-end"	modifier="ctrl"	command="EjectCargoKey"	/>
	<bind	key="cursor-insert"	modifier="none"	command="Cockpit::SwitchLVDU"	/>
	<bind	key="cursor-delete"	modifier="ctrl"	command="EjectNonMissionCargoKey" 
Kept the function (F) keys pretty much unchanged (yes, I have unbound time compression - its a developer -not play- function. If you want it, rebind it).

Note the four arrow keys now serve as direction keys for camera controls.

F11 is now the switch control key (previous ]). Basically regarded it as changing a viewpoint key, so included it here.

The big change is the insert, home, delete, end and pgup/dn keys. Pgup/dn I kept as v4.3. Insert and home change your left and right VDUs respectively. Delete and End are unbound as primary keys, but using the ctrl modifier (to avoid accidental usage) will eject mission cargo and normal cargo showing at top of VDU as normal.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Code: Select all

<!--	WING COMMANDS		-->
	<bind	key="u"	modifier="alt"	command="CommFormUp"	/>
	<bind	key="p"	modifier="alt"	command="CommBreakForm"	/>
	<bind	key="o"	modifier="alt"	command="CommHelpMeOut"	/>
	<bind	key="i"	modifier="alt"	command="CommAttackTarget"	/>
<!--	MISCELLANEOUS	-->
	<bind	key="return"	modifier="none"	command="Cockpit::SkipMusicTrack"	/>
	<bind	key="+"	modifier="none"	command="VolumeInc"	/>
	<bind	key="-"	modifier="none"	command="VolumeDec"	/>
	<bind	key="="	modifier="ctrl"	command="MusicVolumeInc"	/>
	<bind	key="-"	modifier="ctrl"	command="MusicVolumeDec"	/>
	<bind	key="m"	modifier="alt"	command="Screenshot"	/>
	<bind	key="m"	modifier="ctrl"	command="Cockpit::NavScreen"	/>
	<bind	key="l"	modifier="alt"	command="Respawn"	/>
	<bind	key="k"	modifier="none"	command="DockKey"	/>
	<bind	key="l"	modifier="ctrl"	command="SuicideKey"	/>
	<bind	key="L"	modifier="none"	command="EjectKey"	/>
	<bind	key="N"	modifier="none"	command="Enslave"	/>
	<bind	key="n"	modifier="none"	command="FreeSlaves"	/>
	<bind	key="backspace"	modifier="none"	command="PauseKey"	/>
Basically everything else. Note the wingman keys are next to each other for simplicity, but require a modifer key to activate - accidents again. Oh, and I cheated and used some non international keys for some low use functions - remap is you actually use these ingame.

For 'dangerous' keys (suicide, eject, enslave etc) I used modifiers to avoid accidental use.

Note the new function enslave/free slaves. From PR again, but will have use in VS universe once the cargo rebalance is sorted out.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

Lastly, the unbound commands. There are either unusable, unapplicable, apply to mods, developer based etc. I include here for completeness sake. If new commands are written in, I do ask that an entry be made to the CVS config unbound commands - saves people having to trawl for any new commands, just rebind a key to it.

Well, there ends what I have come up with. Let the sharks circle!

P.S. You will see I have defined keytypes together (Targeting, Combat, Communication) etc. So even if this keybinding is not accepted, we can use the grouping to make it easy to determine what bindings do what.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

I didn't read everything, but let me tell you something I don't like:

't' and 'g': They're trouble. They're too close, and mess up your weapon configuration. If you press the wrong one by mistake, you'll lose precious seconds trying to fix the error, since you have to cycle between the gun/missile selections. They should be at least a key apart, and surrounded by non-critical keys.

Take it as a general rule of thumb that people make mistakes while pressing keys. If they aim at 1 incorrectly, suppose you have "q" as the "eject" key, they'll hit "q" and they'll eject themselves. That's wrong.

Also, having some relationship between keys and what they do helps: there are too many keys to remember. If they have some logical ordering (like 'j' for Jump, or 't' for Target), then you'll not need to remember them: you just think what makes sense. So, with ergonomics in mind, try to preserve the "reasonable" assignment whenever possible, and whenever the ergonomic reasons do not outweight the other reason.

All this to make a good default configuration. After all, if someone's personal taste disagrees, he can always remap the keys.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

Don't get the wrong impression. Rereading my post it sounded as if I didn't like what you did at all. It's the opposite: I like the idea, but I saw some changes to be made, since you (IMHO mistakedly) assumed that preserving the relationship key-to-function was useless. It has some use, I just wanted to point out that.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
smbarbour
Fearless Venturer
Fearless Venturer
Posts: 610
Joined: Wed Mar 23, 2005 6:42 pm
Location: Northern Illinois

Post by smbarbour »

Although I would probably prefer to stick to the original config myself (with the small changes I made for myself). I can suggest another key to your config. Map Num Lock as an afterburner key as well. The lock keys are available for use (at least in the Windows version). I have Match Speed mapped to Scroll Lock on mine (I use it in combat since you can't set your reference to hostiles from what I've read)
I've stopped playing. I'm waiting for a new release.

I've kicked the MMO habit for now, but if I maintain enough money for an EVE-Online subscription, I'll be gone again.
Guest

Post by Guest »

Thanks for pointing me out to the thread, Silverain.

...hmmm...

Code: Select all

<!--	COMMUNICATION	-->
	<bind	key="1"	modifier="none"	command="Comm1Key"	/>
	<bind	key="2"	modifier="none"	command="Comm2Key"	/>
	<bind	key="3"	modifier="none"	command="Comm3Key"	/>
	<bind	key="4"	modifier="none"	command="Comm4Key"	/>
	<bind	key="5"	modifier="none"	command="Comm5Key"	/>
	<bind	key="6"	modifier="none"	command="Comm6Key"	/>
	<bind	key="7"	modifier="none"	command="Comm7Key"	/>
	<bind	key="8"	modifier="none"	command="Comm8Key"	/>
	<bind	key="9"	modifier="none"	command="Comm9Key"	/>
	<bind	key="D"	modifier="none"	command="RequestClearenceKey"	/>
Fine with me - the one thing I was thinking of, though, was possible - and really, this is an off-the-top-of-my-head idea - of using "D" or d with a modifier for requesting docking clearance. 'specially with the risk of accidentaly hitting 9 and telling that Star Fortress you were approaching to, in so many words, shove it where the stars don't shine.

Code: Select all

<!--	RECORDING TARGETS	-->
	<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="0"	modifier="alt"	command="SaveTarget10"	/>

	<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"	/>
	<bind	key="0"	modifier="ctrl"	command="RestoreTarget10"	/>
Same deal as above, though I was thinking - since the Control key is sort of the leading key in the procession from left to right (not to mention sort of having the impression of being the "hard" key) why not use it instead of Alt to save your targets, then use Alt (the "softer" key, IMHO) to restore them?

Code: Select all

<!--	COMBAT	-->
	<bind	key="x"	modifier="none"	command="ECMKey"	/>
	<bind	key="space"	modifier="none"	command="FireKey"	/>
	<bind	key="c"	modifier="ctrl"	command="CloakKey"	/>
	<bind	key="space"	modifier="ctrl"	command="MissileKey"	/>
	<bind	key="g"	modifier="none"	command="WeapSelKey"	/>
	<bind	key="G"	modifier="none"	command="ReverseWeapSelKey"	/>
	<bind	key="t"	modifier="none"	command="MisSelKey"	/>
	<bind	key="T"	modifier="none"	command="ReverseMisSelKey"	/>
	<bind	key="c"	modifier="none"	command="ToggleAutotracking"	/>
Here, I have to start disagreeing with the design you've set. I can understand where you're going with things, trying to set them up so that you can toggle things with minimal motion and effort - but one of the biggest problems with games in which you have considerable control over your craft's systems is that you have to be able to remember what key does what. While some people have a good ability with this, and are able to map functions out in their heads, others - myself included - need some kind of a focul or connection point of sorts for us to remember what's what. It's that numonics stuff, or whatever it's called: we make a connection based on what the subject in question is, and we can remember where said thing is based on its characteristics. You've already got this down with the cloak binding, but some of the others don't have that same connection.

What about something along the lines of:

Code: Select all

	<bind	key="e"	modifier="ctrl"	command="ECMKey"	/>
	<bind	key="space"	modifier="none"	command="FireKey"	/>
	<bind	key="c"	modifier="ctrl"	command="CloakKey"	/>
	<bind	key="space"	modifier="ctrl"	command="MissileKey"	/>
	<bind	key="w"	modifier="none"	command="WeapSelKey"	/>
	<bind	key="W"	modifier="none"	command="ReverseWeapSelKey"	/>
	<bind	key="r"	modifier="none"	command="MisSelKey"	/>
	<bind	key="R"	modifier="none"	command="ReverseMisSelKey"	/>
	<bind	key="t"	modifier="ctrl"	command="ToggleAutotracking"	/>
I sort of broke the rule with missiles, but I wanted to keep that within range of the main weapons toggle (not to mention the Shift key) and while one'd think M would work for that, it's taken by the map screen - however, rockets are sort of like missiles in principle, rocket begins with R, and there you go. The other thing I've got with this is the autotracking toggle - we could use the A key, but that's taken by the autopilot and the SPEC drive, not to mention another command for wingmen. Maybe T with a ctrl modifier would work, you know, for Tracking? Or maybe G for Gimball?

Code: Select all

<!--	TARGETING	-->
	<bind	key="w"	modifier="none"	command="TargetKey"	/>
	<bind	key="W"	modifier="none"	command="ReverseTargetKey"	/>
	<bind	key="f"	modifier="none"	command="NearestTargetKey"	/>
	<bind	key="F"	modifier="none"	command="ReverseNearestTargetKey"	/>
	<bind	key="d"	modifier="none"	command="SigTargetKey"	/>
	<bind	key="D"	modifier="none"	command="ReverseSigTargetKey"	/>
	<bind	key="s"	modifier="none"	command="UnitTargetKey"	/>
	<bind	key="S"	modifier="none"	command="ReverseUnitTargetKey"	/>
	<bind	key="q"	modifier="none"	command="PickTargetKey"	/>
	<bind	key="a"	modifier="none"	command="SubUnitTargetKey"	/>
	<bind	key="e"	modifier="none"	command="LockTargetKey"	/>
I've got to go against you again on this one and play the numonics card once again - people aren't going to think of the W key when they're thinking about their targetting compute, but instead will snap to the traditional T key. The NearestTargetKey is the same - when people find that it's the key that brings up hostile ships, they'll think "Target Hostile - Hostile - H; unit target key - U; lock target key - L"

Code: Select all

	<bind	key="t"	modifier="none"	command="TargetKey"	/>
	<bind	key="T"	modifier="none"	command="ReverseTargetKey"	/>
	<bind	key="h"	modifier="none"	command="NearestTargetKey"	/>
	<bind	key="H"	modifier="none"	command="ReverseNearestTargetKey"	/>
	<bind	key="d"	modifier="none"	command="SigTargetKey"	/>
	<bind	key="D"	modifier="none"	command="ReverseSigTargetKey"	/>
	<bind	key="s"	modifier="none"	command="UnitTargetKey"	/>
	<bind	key="S"	modifier="none"	command="ReverseUnitTargetKey"	/>
	<bind	key="q"	modifier="none"	command="PickTargetKey"	/>
	<bind	key="a"	modifier="none"	command="SubUnitTargetKey"	/>
	<bind	key="e"	modifier="none"	command="LockTargetKey"	/>
Signifigant and subunit targetting I'm not really sure what to do with - S would work sell for either of them (ESPECIALLY Sig) but the problem is that it also should stay within range of the other targetting keys

Code: Select all

<!--	TURRET CONTROL	-->
	<bind	key="function-1"	modifier="ctrl"	command="TurretControl"	/>
	<bind	key="b"	modifier="none"	command="TurretAIOn"	/>
	<bind	key="B"	modifier="none"	command="TurretAIFireAtWill"	/>
	<bind	key="b"	modifier="ctrl"	command="TurretTargetKey"	/>
	<bind	key="v"	modifier="none"	command="TurretAIOff"	/>
Turret stuff's sort of an oddball - I think what'd be a good idea would be to go with the bracket keys for that one, 'cause if you look at 'em when they're typed togeter, like [], they sorta look like a turret of sorts. Plus, it's far enough so that you don't accidentaly hit something else and where you have to make a deliberate and conscious effort to hit it..

Code: Select all

	<bind	key="function-1"	modifier="ctrl"	command="TurretControl"	/>
	<bind	key="["	modifier="none"	command="TurretAIOn"	/>
	<bind	key=";"	modifier="none"	command="TurretAIFireAtWill"	/>
	<bind	key="'"	modifier="ctrl"	command="TurretTargetKey"	/>
	<bind	key="]"	modifier="none"	command="TurretAIOff"	/>

Code: Select all

<!--	NAVIGATION	-->
	<bind	key="keypad-8"	modifier="none"	command="UpKey"	/>
	<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="keypad-7"	modifier="none"	command="RollLeftKey"	/>
	<bind	key="keypad-9"	modifier="none"	command="RollRightKey"	/>
	<bind	key="keypad-1"	modifier="none"	command="ThrustLeft"	/>
	<bind	key="keypad-2"	modifier="none"	command="ThrustUp"	/>
	<bind	key="keypad-3"	modifier="none"	command="ThrustRight"	/>
	<bind	key="keypad-0"	modifier="none"	command="ThrustDown"	/>
	<bind	key="keypad-enter"	modifier="none"	command="SheltonKey"	/>
	<bind	key="keypad-8"	modifier="ctrl"	command="ThrustFront"	/>
	<bind	key="keypad-5"	modifier="ctrl"	command="ThrustBack"	/>
I've no objections here.

Code: Select all

<!--	VELOCITY	-->
	<bind	key="H"	modifier="none"	command="ToggleWarpDrive"	/>
	<bind	key="h"	modifier="none"	command="ASAP"	/>
	<bind	key="function-12"	modifier="ctrl"	command="SetVelocityRefKey"	/>
	<bind	key="function-12"	modifier="none"	command="SetVelocityNullKey"	/>
	<bind	key="j"	modifier="none"	command="JumpKey"	/>
	<bind	key="y"	modifier="none"	command="SwitchCombatMode"	/>
	<bind	key="keypad-minus"	modifier="none"	command="DecelKey"	/>
	<bind	key="keypad-plus"	modifier="none"	command="AccelKey"	/>
	<bind	key="/"	modifier="none"	command="StopKey"	/>
	<bind	key="*"	modifier="none"	command="StartKey"	/>
	<bind	key="keypad-divide"	modifier="none"	command="StopKey"	/>
	<bind	key="keypad-multiply"	modifier="none"	command="StartKey"	/>
	<bind	key="tab"	modifier="none"	command="ABKey"	/>
There're a few things I disagree with - ASAP the Autopilot should be set as an a toggle, with the SPEC drive the capital; instead of using the SetVelocityKeys to the twelth function, I'd think control and alt'd v would work better; and I think that first set of start and stop keys should be removed, since they conflict with some audio setting keys I have placed somewhere around here.

Code: Select all

	<bind	key="A"	modifier="none"	command="ToggleWarpDrive"	/>
	<bind	key="a"	modifier="none"	command="ASAP"	/>
	<bind	key="v"	modifier="ctrl"	command="SetVelocityRefKey"	/>
	<bind	key="v"	modifier="alt"	command="SetVelocityNullKey"	/>
	<bind	key="j"	modifier="none"	command="JumpKey"	/>
	<bind	key="y"	modifier="none"	command="SwitchCombatMode"	/>
	<bind	key="keypad-minus"	modifier="none"	command="DecelKey"	/>
	<bind	key="keypad-plus"	modifier="none"	command="AccelKey"	/>
	<bind	key="/"	modifier="none"	command="StopKey"	/>
	<bind	key="*"	modifier="none"	command="StartKey"	/>
	<bind	key="keypad-divide"	modifier="none"	command="StopKey"	/>
	<bind	key="keypad-multiply"	modifier="none"	command="StartKey"	/>
	<bind	key="tab"	modifier="none"	command="ABKey"	/>

Code: Select all

<!--	WING COMMANDS		-->
	<bind	key="u"	modifier="alt"	command="CommFormUp"	/>
	<bind	key="p"	modifier="alt"	command="CommBreakForm"	/>
	<bind	key="o"	modifier="alt"	command="CommHelpMeOut"	/>
	<bind	key="i"	modifier="alt"	command="CommAttackTarget"	/>
Here, we've got to play the numonics game again:

Code: Select all

	<bind	key="f"	modifier="alt"	command="CommFormUp"	/>
	<bind	key="s"	modifier="alt"	command="CommBreakForm"	/>
	<bind	key="d"	modifier="alt"	command="CommHelpMeOut"	/>
	<bind	key="a"	modifier="alt"	command="CommAttackTarget"	/>
Another violation of the rule, but this was due to the range of some of the keys you'd have to hit, and again, they still sort of match up in a skewed way. A for attack and F for form up's plain, but D can work along the lines of "'ey! Get your asses over here and DEFEND me!" and S for "Scramble, scramble, scramble!"

Code: Select all

<!--	CAMERA POV		-->
	<bind	key="cursor-up"	modifier="none"	command="Cockpit::PitchDown"	/>
	<bind	key="cursor-down"	modifier="none"	command="Cockpit::PitchUp"	/>
	<bind	key="cursor-left"	modifier="none"	command="Cockpit::YawLeft"	/>
	<bind	key="cursor-right"	modifier="none"	command="Cockpit::YawRight"	/>
	<bind	key="function-1"	modifier="none"	command="Cockpit::Inside"	/>
	<bind	key="function-2"	modifier="none"	command="Cockpit::InsideLeft"	/>
	<bind	key="function-3"	modifier="none"	command="Cockpit::InsideRight"	/>
	<bind	key="function-4"	modifier="none"	command="Cockpit::InsideBack"	/>
	<bind	key="function-5"	modifier="none"	command="Cockpit::Behind"	/>
	<bind	key="function-6"	modifier="none"	command="Cockpit::Pan"	/>
	<bind	key="function-7"	modifier="none"	command="Cockpit::OutsideTarget"	/>
	<bind	key="function-8"	modifier="none"	command="Cockpit::PanTarget"	/>
	<bind	key="function-9"	modifier="none"	command="Cockpit::ZoomIn"	/>
	<bind	key="function-10"	modifier="none"	command="Cockpit::ZoomOut"	/>
	<bind	key="function-11"	modifier="none"	command="SwitchControl"	/>

	<bind	key="cursor-pagedown"	modifier="none"	command="Cockpit::ScrollDown"	/>
	<bind	key="cursor-pageup"	modifier="none"	command="Cockpit::ScrollUp"	/>
	<bind	key="cursor-home"	modifier="none"	command="Cockpit::SwitchRVDU"	/>
	<bind	key="cursor-end"	modifier="ctrl"	command="EjectCargoKey"	/>
	<bind	key="cursor-insert"	modifier="none"	command="Cockpit::SwitchLVDU"	/>
	<bind	key="cursor-delete"	modifier="ctrl"	command="EjectNonMissionCargoKey" 	/>
Nothin' to see here, just keep movin' 'long...

Code: Select all

<!--	MISCELLANEOUS	-->
	<bind	key="return"	modifier="none"	command="Cockpit::SkipMusicTrack"	/>
	<bind	key="+"	modifier="none"	command="VolumeInc"	/>
	<bind	key="-"	modifier="none"	command="VolumeDec"	/>
	<bind	key="="	modifier="ctrl"	command="MusicVolumeInc"	/>
	<bind	key="-"	modifier="ctrl"	command="MusicVolumeDec"	/>
	<bind	key="m"	modifier="alt"	command="Screenshot"	/>
	<bind	key="m"	modifier="ctrl"	command="Cockpit::NavScreen"	/>
	<bind	key="l"	modifier="alt"	command="Respawn"	/>
	<bind	key="k"	modifier="none"	command="DockKey"	/>
	<bind	key="l"	modifier="ctrl"	command="SuicideKey"	/>
	<bind	key="L"	modifier="none"	command="EjectKey"	/>
	<bind	key="N"	modifier="none"	command="Enslave"	/>
	<bind	key="n"	modifier="none"	command="FreeSlaves"	/>
	<bind	key="backspace"	modifier="none"	command="PauseKey"	/>
	<bind	key="esc"	modifier="none"	command="Cockpit::Quit"	/>
Again, I've sort of got to diverge on this:

Code: Select all

	<bind	key="/"	modifier="none"	command="Cockpit::SkipMusicTrack"	/>
	<bind	key=">"	modifier="none"	command="VolumeInc"	/>
	<bind	key="<"	modifier="none"	command="VolumeDec"	/>
	<bind	key="."	modifier="ctrl"	command="MusicVolumeInc"	/>
	<bind	key=","	modifier="ctrl"	command="MusicVolumeDec"	/>
	<bind	key="i"	modifier="ctrl"	command="Screenshot"	/>
	<bind	key="m"	modifier="none"	command="Cockpit::NavScreen"	/>
	<bind	key="l"	modifier="alt"	command="Respawn"	/>
	<bind	key="d"	modifier="none"	command="DockKey"	/>
	<bind	key="l"	modifier="ctrl"	command="SuicideKey"	/>
	<bind	key="j"	modifier="alt"	command="EjectKey"	/>
	<bind	key="N"	modifier="none"	command="Enslave"	/>
	<bind	key="n"	modifier="none"	command="FreeSlaves"	/>
	<bind	key="backspace"	modifier="none"	command="PauseKey"	/>
	<bind	key="esc"	modifier="none"	command="Cockpit::Quit"	/>
I rather like where you were taking it with the grouping and the whole asthetic idea, but as I said, I think one of the things that must be taken into consideration is that irst impulse that pops into the player's head after they realize they need to do something. By designing a keyboard layout that's focused around such a philosophy, players, I think, will be able to adapt more easily to the controls and get into the groove more quickly than one that is based upon asthetic design (which, believe me, I use in quite a few games myself - in Half-Life, I've got the movement, jump, duck, and use keys all set in one area for quick access).

~Sharpshooter - Control Freak
Last edited by Guest on Sun Jun 12, 2005 1:38 am, edited 1 time in total.
pontiac
Elite
Elite
Posts: 1454
Joined: Sun Jan 12, 2003 6:24 pm
Location: Far out in the uncharted backwaters of the unfashionable end of the western spiral arm of the Galaxy
Contact:

Post by pontiac »

I think your bottom has been cut away (no pun intended) ;)

I like the progress on this topic ... a keyboard layout revamp was really needed.

For a better overview (and change-history) i would suggest to use the page Development:Keyboard layout in the wiki to cut&paste and change the keyboard bindings (just put them into <pre> </pre> tags).

Pontiac

PS: And if you want to use graphics you can use the pictures (wiki templates) that are listed here: Manual:Keyboard layout
hurleybird
Elite
Elite
Posts: 1671
Joined: Fri Jan 03, 2003 12:46 am
Location: Earth, Sol system.
Contact:

Post by hurleybird »

Is there a way to put in directional slide keys into the config yet?
pontiac
Elite
Elite
Posts: 1454
Joined: Sun Jan 12, 2003 6:24 pm
Location: Far out in the uncharted backwaters of the unfashionable end of the western spiral arm of the Galaxy
Contact:

Post by pontiac »

hurleybird wrote:Is there a way to put in directional slide keys into the config yet?
You mean strafing like the commands here:
Manual:Keyboard layout:US -> Unassigned (by default)

Pontiac
hurleybird
Elite
Elite
Posts: 1671
Joined: Fri Jan 03, 2003 12:46 am
Location: Earth, Sol system.
Contact:

Post by hurleybird »

That would be it! I wonder if those keys are fixed in CVS yet?
Guest

Post by Guest »

Cut from the other post because of post sie issues:

"Oh, yeah - for others that might be watching this, I posted a scheme idea in that one thread I started a few months back (it's probably right below this one) which I suppose you might want to take a look at. Again, it's something of a rough cut:"

Code: Select all

       <bindings>


		<!-- # Netcomm related key
		<bind key="C" modifier="none" command="ChangeCommStatus" />
		<bind key="X" modifier="none" command="UpFreq" />
		<bind key="V" modifier="none" command="DownFreq" />
		<bind key="W" modifier="none" command="SwitchWebcam" />
		<bind key="S" modifier="none" command="SwitchSecured" />
		-->

<!-- Flight Keys -->

		<bind key="cursor-up" modifier="none" command="UpKey"/>
		<bind key="keypad-8" modifier="none" command="UpKey"/>
		<bind key="cursor-down" modifier="none" command="DownKey"/>
		<bind key="keypad-2" modifier="none" command="DownKey"/>		
		<bind key="cursor-left" modifier="none" command="LeftKey"/>
		<bind key="keypad-4" modifier="none" command="LeftKey"/>
		<bind key="cursor-right" modifier="none" command="RightKey"/>
		<bind key="keypad-6" modifier="none" command="RightKey"/>

		<bind key="cursor-home" modifier="none" command="RollLeftKey"/>
		<bind key="keypad-7" modifier="none" command="RollLeftKey"/>
		<bind key="cursor-pageup" modifier="none" command="RollRightKey"/>
		<bind key="keypad-9" modifier="none" command="RollrightKey"/>

		<bind key="+" modifier="none" command="AccelKey" />
		<bind key="keypad-plus" modifier="none" command="AccelKey" />
		<bind key="-" modifier="none" command="DecelKey"/>
		<bind key="keypad-minus" modifier="none" command="DecelKey"/>
		<bind key="backspace" modifier="none" command="StartKey"/>
		<bind key="" modifier="none" command="StopKey"/>
		<bind key="tab" modifier="none" command="ABKey" />
		<bind key="keypad-enter" modifier="none" command="ABKey" />
		
		<bind key="y" modifier="none" command="SwitchCombatMode" />
		<bind key="a" modifier="none" command="ToggleWarpDrive" />
		<bind key="A" modifier="none" command="AutoKey" />
		<bind key="j" modifier="none" command="JumpKey" />

		<bind key="cursor-eng" modifier="none" command="SetVelocityRefKey"/>
		<bind key="cursor-pagedown" modifier="none" command="SetVelocityNullKey"/>
		<bind key="keypad-1" modifier="none" command="SetVelocityRefKey"/>
		<bind key="keypad-3" modifier="none" command="SetVelocityNullKey"/>

		<bind key="`" modifier="none" command="SheltonKey" />

<!-- Weapon Keys -->

		<bind key="space" modifier="none" command="FireKey" />
		<bind key="return" modifier="none" command="MissileKey" />
		<bind key="w" modifier="none" command="WeapSelKey"/>
		<bind key="W" modifier="none" command="ReverseWeapSelKey"/>
		<bind key="s" modifier="none" command="MisSelKey"/>
		<bind key="S" modifier="none" command="ReverseMisSelKey"/>

<!-- Communication Keys -->

		<bind key="1" modifier="none" command="Comm1Key" />
 		<bind key="2" modifier="none" command="Comm2Key" />
 		<bind key="3" modifier="none" command="Comm3Key" />
 		<bind key="4" modifier="none" command="Comm4Key" />
 		<bind key="5" modifier="none" command="Comm5Key" />
 		<bind key="6" modifier="none" command="Comm6Key" />
 		<bind key="7" modifier="none" command="Comm7Key" />
 		<bind key="8" modifier="none" command="Comm8Key" />
 		<bind key="9" modifier="none" command="Comm9Key" />

		<bind key="D" modifier="none" command="RequestClearenceKey"/>

 		<bind key="a" modifier="ctrl" command="CommAttackTarget" />
 		<bind key="h" modifier="ctrl" command="CommHelpMeOut" />
 		<bind key="f" modifier="ctrl" command="CommFormUp" />
 		<bind key="b" modifier="ctrl" command="CommBreakForm" />

<!-- Target and Hud Keys -->

		<bind key="t" modifier="none" command="TargetKey" />
		<bind key="T" modifier="none" command="ReverseTargetKey" />
		<bind key="n" modifier="none" command="SigTargetKey" />
		<bind key="N" modifier="none" command="ReverseSigTargetKey" />
		<bind key="b" modifier="none" command="SubUnitTargetKey"/>
		<bind key="u" modifier="none" command="UnitTargetKey" />
		<bind key="U" modifier="none" command="ReverseUnitTargetKey" />
		<bind key="l" modifier="none" command="LockTargetKey" />
		<bind key="p" modifier="none" command="PickTargetKey" />
		<bind key="h" modifier="none" command="NearestTargetKey" />
		<bind key="H" modifier="none" command="ReverseNearestTargetKey" />
		<bind key="P" modifier="none" command="TurretTargetKey" />

 		<bind key="1" modifier="ctrl" command="SaveTarget1" />
 		<bind key="2" modifier="ctrl" command="SaveTarget2" />
 		<bind key="3" modifier="ctrl" command="SaveTarget3" />
 		<bind key="4" modifier="ctrl" command="SaveTarget4" />
 		<bind key="5" modifier="ctrl" command="SaveTarget5" />
 		<bind key="6" modifier="ctrl" command="SaveTarget6" />
 		<bind key="7" modifier="ctrl" command="SaveTarget7" />
 		<bind key="8" modifier="ctrl" command="SaveTarget8" />
 		<bind key="9" modifier="ctrl" command="SaveTarget9" />
 		<bind key="0" modifier="ctrl" command="SaveTarget10" />

 		<bind key="1" modifier="alt" command="RestoreTarget1" />
 		<bind key="2" modifier="alt" command="RestoreTarget2" />
 		<bind key="3" modifier="alt" command="RestoreTarget3" />
 		<bind key="4" modifier="alt" command="RestoreTarget4" />
 		<bind key="5" modifier="alt" command="RestoreTarget5" />
 		<bind key="6" modifier="alt" command="RestoreTarget6" />
 		<bind key="7" modifier="alt" command="RestoreTarget7" />
 		<bind key="8" modifier="alt" command="RestoreTarget8" />
 		<bind key="9" modifier="alt" command="RestoreTarget9" />
 		<bind key="0" modifier="alt" command="RestoreTarget10" />

		<bind key="m" modifier="none" command="Cockpit::NavScreen"/>
		<bind key="v" modifier="none" command="Cockpit::SwitchLVDU"/>
		<bind key="V" modifier="none" command="Cockpit::SwitchRVDU"/>

		<bind key="cursor-pagedown" modifier="none" command="Cockpit::ScrollDown"/>
		<bind key="cursor-pageup" modifier="none" command="Cockpit::ScrollUp"/>

<!-- Audio Keys -->

		<bind key="." command="VolumeInc"/>
		<bind key="," command="VolumeDec"/>
		<bind key="/" modifier="none" command="Cockpit::SkipMusicTrack" />
		<bind key="greater-than" command="MusicVolumeInc"/>
		<bind key="less-than" command="MusicVolumeDec"/>

<!-- Camera Keys) -->

		<bind key="function-1" modifier="none" command="Cockpit::Inside"/>
		<bind key="function-2" modifier="none" command="Cockpit::InsideLeft"/>
		<bind key="function-3" modifier="none" command="Cockpit::InsideRight"/>
		<bind key="function-4" modifier="none" command="Cockpit::InsideBack"/>
		<bind key="function-5" modifier="none" command="Cockpit::Behind"/>
		<bind key="function-6" modifier="none" command="Cockpit::Pan"/>
		<bind key="function-7" modifier="none" command="Cockpit::OutsideTarget"/>
		<bind key="function-8" modifier="none" command="Cockpit::PanTarget"/>

		<bind key="z" modifier="none" command="Cockpit::ZoomIn"/>
		<bind key="Z" modifier="none" command="Cockpit::ZoomOut"/>

<!-- System Keys -->

		<bind key="d" modifier="none" command="DockKey"/>
 		<bind key="c" modifier="ctrl" command="CloakKey" />
 		<bind key="e" modifier="alt" command="EjectKey" />
 		<bind key="e" modifier="ctrl" command="ECMKey" />
 		<bind key="c" modifier="alt" command="EjectCargoKey" />
		<bind key="!" modifier="none" command="SuicideKey"/>

		<bind key="[" modifier="none" command="SwitchControl"/>
		<bind key="]" modifier="none" command="TurretControl"/>

		<bind key="o" modifier="none" command="TurretAIKey" />

<!-- Game Keys -->

		<bind key="pause" modifier="none" command="PauseKey"/>
		<bind key="?" modifier="none" command="PauseKey"/>

		<bind key="i" modifier="ctrl" command="Screenshot" />

		<bind key=";" modifier="none" command="Respawn"/>

		<bind key="esc" modifier="none" command="Cockpit::Quit"/>

		<!-- Note: the following function quits once Escape has been pressed in-flight -->
		<bind key="q" modifier="none" command="Cockpit::PitchDown"/>

<!-- Unused Functions -->

<!--
		<bind key="u" modifier="none" command="UnDockKey"/>

		<bind key="" modifier="none" command="Cockpit::MapKey"/>

		<bind key="q" modifier="none" command="Cockpit::PitchDown"/>
		<bind key="z" modifier="none" command="Cockpit::PitchUp"/>
		<bind key="s" modifier="none" command="Cockpit::YawLeft"/>
		<bind key="f" modifier="none" command="Cockpit::YawRight"/>

		<bind key="keypad-3" modifier="none" command="Cockpit::ScrollDown"/>
		<bind key="keypad-9" modifier="none" command="Cockpit::ScrollUp"/>

-->
pontiac wrote:For a better overview...
Thanks - I snagged 'em just a few minutes ago, and I'll see if I can whip up a decent template for display.

~Sharpshooter - Busy, busy, busy...
smbarbour
Fearless Venturer
Fearless Venturer
Posts: 610
Joined: Wed Mar 23, 2005 6:42 pm
Location: Northern Illinois

Post by smbarbour »

hurleybird wrote:That would be it! I wonder if those keys are fixed in CVS yet?
I didn't know they were broken. I started playing the game in 0.4.3 and have used them in there and in CVS. The only issue is that when you use them, they fire at full blast with all other thrusters off. If you use two (or more) together, you will get the appropriate effect.

Here's another interesting tidbit: If you use your afterburner to get to full afterburner velocity and activate the shelton slide, you will retain that velocity after you release AB.
I've stopped playing. I'm waiting for a new release.

I've kicked the MMO habit for now, but if I maintain enough money for an EVE-Online subscription, I'll be gone again.
hurleybird
Elite
Elite
Posts: 1671
Joined: Fri Jan 03, 2003 12:46 am
Location: Earth, Sol system.
Contact:

Post by hurleybird »

Well, I just tried to assign them, and they still did not work for me.
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

OK, consensus over the previous posts by everyone is to maintain the traditional approach to keybindings (t for target, g for guns, space for fire etc etc). I have no problem with this, and will look at your bindings offline sharpshooter (thanks for analysis though).

However, big problem still remains of international keyboard access. The vegastrike.config (AFAIK) still isn't capable of mapping non-US keys for use (refer to my previous posts). So this still leaves us with the original problem of keys used being unaccessable. Further, it makes some keys un-bindable I believe.

If someone could alter the config and ensure it is usable (as per my previous requests) I would be grateful. We can then develop a general US standard keyboard layout, and develop alterations for other language keyboards.

Will look at keys offline later.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

To make bindings internationally compatible, you have to limit yourself to:

1) Letters A-Z
2) Numbers (1st row)
3) Numbers (keypad)
4) +, -, *, /, '.' from keypad (the others not)
5) Return, Backspace, Tab
6) Function keys, F1 through F12 (actually, I think some very weird keyboards lack the F9-F12)
7) Cursor keys: up, down, left, right
8) Insert, Home, PageUp, Delete, End, PageDown (however, have in mind that some nasty keyboards change their layout).

Issues to have in mind:
a) Notebooks usually mess up with the keypad. So there should be a "notebook" setting in vssetup to enable alternate bindings.
b) Shift-numbers cannot be used consistently: different locales assign different symbols to them.


And most importantly:
GLUT may make any of this info invalid. For instance, I think if I press Shift-7, instead of sending '/' as it's supposed to in my keyboard layout, it will send '&' (as in the US layout). But just in case, I would avoid those keys in generic mappings (just usable in specific mappings).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
smbarbour
Fearless Venturer
Fearless Venturer
Posts: 610
Joined: Wed Mar 23, 2005 6:42 pm
Location: Northern Illinois

Post by smbarbour »

klauss wrote:6) Function keys, F1 through F12 (actually, I think some very weird keyboards lack the F9-F12)
And some other weird keyboards go up to F24! (such as the IBM 1394100 terminal keyboard)
I've stopped playing. I'm waiting for a new release.

I've kicked the MMO habit for now, but if I maintain enough money for an EVE-Online subscription, I'll be gone again.
Silverain
Expert Mercenary
Expert Mercenary
Posts: 984
Joined: Thu Aug 07, 2003 5:35 am
Location: Brisbane, Land of Oz
Contact:

Post by Silverain »

In one of my previous posts, I had mentioned having a language switch in the config, such that keybindings could be marked according to language (e.g. <english> Shift+7=&, <german?> Shift+7=/), but this really is only useful if we can access international keys (see previous requests).

Otherwise, we use only those keys accessible by all (keys that klauss mentioned). I had done this in my original proposal.
THOUGHT CRIME! [points finger] THOUGHT CRIME!
Shark
Confed Special Operative
Confed Special Operative
Posts: 360
Joined: Tue Mar 02, 2004 9:34 am
Contact:

Post by Shark »

You can compare different keyboard-binding schemata at this page:

http://www.geocities.com/Area51/Quadran ... iagram.htm
dborgX
Insys Pilot
Insys Pilot
Posts: 2
Joined: Tue Jul 25, 2006 12:20 am
Location: Germany
Contact:

Post by dborgX »

I'd like to add some thoughts.

First, consider that the most common (and effective) setup without a joystick is most probably keyboard+mouse, so I would suggest to keep all basic non-mouse related keys on the left side of the keyboard. This way it won't matter if the player uses the right hand on the mouse(/joystick) or the keyboard, the controls will be similar.

When I tried X2, my first intuition was to use a/z for acceleration and deceleration and q/w for rolling, which was correct. It might not be representative, but in my experience these keys are the most common in modern games and I always try them even before +/-. Rolling in fact has been the most troublesome for me with vegastrike, since without a numpad it isn't even possible in both directions right now. That left a rather bad first impression.

I would advice against using one key for each strafe-thruster direction, since then things would get really clumsy. Instead I would suggest a single strafe key, which turns all directional movement into strafe movement. In fact I wouldn't even offer the individual bindings, so the player does not have to make tradeoffs between ergonomy and functionality (not being able to strafe while turning can be considered a disadvantage when it's theoretically possible).

Modifiers should be used in a predictable fashion. In most computer interfaces, shift stands for "same function but modified", while ctrl is used for different functions and alt whenever a third case is needed. For example if "a" is used for acceleration, I would suggest to use shift+a for match target speed, alt+a for max speed and ctrl+a for ASAP or something different. I would move all wingman related keys from shift+key to ctrl+key, since shift+key should be used for alterations of the normal function (and you wouldn't have the shift+h overlap in that case).

In general I strongly suggest to come up with an ergonomic and intuitive default layout and then get rid of all keybindings that don't fit. If a function is too obscure to be bound by default, then it's probably a better idea to either remove this function or to make it available via some other method (an ingame menu, a certain combination or similar).

If there is still interest in it, I would like to work on and propose another default layout based on those considerations. This thread is very old, but it's still mentioned in the roadmap for 0.5, so... :)
Post Reply