Page 1 of 4

Keyboard Bindings

Posted: Wed Feb 09, 2005 5:31 am
by Silverain
After a quick conversation in the Documentation section, I wanted to ask the VS community at large for input:

Hellcatv raised the point of changing the keybindings for 4.3 or 5.0 to be more intuitive, an idea seconded by dan.a since the keys really just grew out of what was the largest space on the keyboard.

I'm of the opinion that we should really group sets of keys near each other. For example - all movement/navigation keys should be nearby (afterburner, increase/decrease set velocity, max, nil, SPEC, shelton slide, match speed etc).

Example New:

TAB = afterburner
q = stop
w = full
a = decrease
s = increase
x = shelton slide
z = SPEC

Reason: all left handed keys to access movement keys. No reaching across keyboard. Intuitive that q is stop, below which is a decrease (also w & s) z = SPEC but easy to locate key. x = slide (less used).

Any thoughts?

P.S. Think outside what's gone before. So what if Wing Commander/ Star Wars games/ X2/ (name your game) follow a certain design (-/+ setspeed) - this one is OUR design!

Posted: Wed Feb 09, 2005 5:34 am
by Silverain
Additional example for keyboard flying:

up, down, yaw left, yaw right, roll left, roll right. Hmm, six functions but only 4 arrow keys. So? Forget the arrows, use the six keys above (US standard keyboard).

Insert = roll left
Delete = yaw left
Home = down
End = up
Page Up = roll right
Page Dn = yaw right

The idea is forget about the key name on the keyboard, think about the key positioning itself. People with programmable keyboards will know what I'm angling at.

Posted: Wed Feb 09, 2005 5:56 am
by hellcatv
interesting...I'd favor the quake style binding then s subtracts speed w increases it... q and e somehow do strafing? that'd be a trip ;-) I do have strafing keys but last I heard they didn't work so well

or maybe w is afterburner....

the problem is teaching people these new keys... hmmm

Posted: Wed Feb 09, 2005 6:34 am
by Silverain
hellcatv wrote:the problem is teaching people these new keys... hmmm
You play, you learn.

Same as every other game ever played.

Posted: Wed Feb 09, 2005 10:19 am
by Halleck
Most games make it easier to adjust by adhering to a pseudo-standard- i.e. most FPS games use wasd or arrow keys, et cetera.
The learning curve for VS is steep enough as it is- IMO there's no reason to make the user adjust to using delete and pgdown to yaw, etc.

That being said, I still think that the keyboard mappings need an overhaul. We need to decide on priorities for the layout.
I think that it should roughly be:
1. Keys are layed out/grouped in a logical manner
2. Keys are positioned ergonomically
3. Keys should be intuitive or symbolic

For instance, the first time I fired up VS, my instinct to adjust the throttle was the "+" and "-" keys. that makes sense. If it had been "a" and "s", i wouldn't have guessed this. "+" and "-" are symbolic, and I would say logical. "a" and "s" are ergonomic.

"a" is a symbolic, logical key when used to activate autopilot. Not so with SPEC, but "s" would be.

Also, where is that page that let you compare the VS config with wing commander and stuff like that? I seem to have lost the link.

Posted: Wed Feb 09, 2005 10:20 am
by Ygarl
Thank the gods you can change your own keybindings as well! I use the arrow and insert through Page Down keys for most of my functions (a la Unreal Tournament slightly modified...)

Posted: Wed Feb 09, 2005 10:45 pm
by pincushionman
If we're going to consider overhauling the keymap, I'd like to consider overhauling the config system and file entirely. I suggest we separate the "main configuration sections" from each other. By this I mean having:

graphics.config
sound.config
gameplay.config
controls.config

That way, it would be easier to set up and try out new keymaps without having to worry about corrupting or breaking" our gameplay or display options. I think it would help things out (that is, I don't think it would HURT anything) for when we have an ingame graphical uitility for settings. The game would remember the last-used master.config (or maybe user.profile or somesuch) which would be simply something like the following:

Code: Select all

GRAPHICS: dan.graphics.config
SOUND:    petey.sound.config
GAMEPLAY: default.gameplay.config
CONTROLS: dan.controls.config
The game would then load the appropriate config files sequentially, rather than all from one file. You could then have several different independent configurations (for testing purposes for example) and they would be much easier to manage. Modularity == good.

Also, the format of the controls section of the config file seems bass-ackward to me. Right now it is the following:

Code: Select all

<bind key="keyname" modifier="none" command="DoThis"/>
What I think would be more intuitive would be:

Code: Select all

<command="DoThis" bind key="keyname" modifier="none"/>
Now, the way it is now is a perfectly reasonable way to do things. But I don't think it's the best. But I also don't know the mechanics of how the game loads this information; it may be that the current format is the way it has to be to get it to work.

But even if that is the case, it could still be made better. Right now the controls are gouped by device - that is, the joystick function map is together, the keyboard map is in one place and is presented alphabetically. This may make sense from the standpoint of the game reading the file, but it is pretty messed up from the standpoint of the human who must edit the file by hand. Since we can only do it by hand at this point, it therefore == bad.

What would make more sense is to instead group the keybindings by function rather than key. All the movement and speed control keys would be grouped together, all the weapons controls in another section, all the power controls someplace else, and so on and so forth.

A control file set up this way would be worlds easier to edit -- rather than searching high and low for the key that currently has the function I want to change (oh yes, that command may also currently be unbound, and I have NO idea how I would find it then) I look in the appropriate section and make sure I have controls assigned to all the functions I think I will be using.

This also has the (possibly insignificant) advantage of making players more aware of what functions are availible to them.

Can such changes be made to the format of the config file without significant code modification? If they can, I see no reason not to reformat the file. If it needs code changes, I also don't see a reason not to make such changes so we can reformat the file.

Posted: Thu Feb 10, 2005 3:03 am
by CubOfJudahsLion
How about keybindings for quickly choosing speeds? Like -/+ x10, x100, x1000 increase, or maybe a collection of speed presets?

Posted: Thu Feb 17, 2005 8:49 am
by Halleck
Found a pic of the current keybindings.
http://vegastrike.sourceforge.net/galle ... eys?full=1

Still, it'd be nice if someone could unearth the website that generated this.

Posted: Thu Feb 17, 2005 4:05 pm
by hurleybird
It would be nice to also have Strafe/thrust keys. I heard that VS supports them, but didnt have any luck trying to get them to work.

Posted: Fri Feb 18, 2005 12:00 am
by zaydana
i'll second that. strafe keys really are an important part of a game like this: VS is really lacking without them.

Posted: Fri Feb 18, 2005 12:28 am
by hellcatv
don't worry...i'll work on it

Posted: Fri Feb 18, 2005 1:26 am
by hurleybird
hellcatv wrote:don't worry...i'll work on it
yay!

If strafe/thrust keys are in, then here's my ideal key binding:

Movement

Thrust up: s
Thrust down: x
Thrust left: z
Thrust right: c

[note] this is just wasd except every key is moved down one position. IMO wasd doesent make that much sense in that the z, x, c, and v keys are hard to use. Moving wasd down gives you 4 more pracitical keys to work with, and in a game like vega strike, you need all the keys you can get.

Afterburner: left ctrl
Spec: space
Roll left: a
Roll right: d
Change primary weapons: left alt
Change secoundary weapons left shift (these arent flight characteristics, but im puting them here because they are close to the other flight keys)

shift is more accesible than alt, and your probably going to change your missiles more than your primary guns. Use the pinky to reach shift and ctrl while using your ring finger to reach alt.

Navigation map: tab
Full stop: q
Macth target velocity: w
Full speed: e
Change speed: +/-, mousewheel (yup, mousewheel, why hasnt anyone thought of this yet?)
Shelton slide toggle: button 3/mouse wheel button
Jump/dock: caps locks (operates as a dock button when in range of docking clamps, or jump if your in a jump node)

and there you have it... complete control over every flight command in your ship (with the exception of non-combat mode, which will hopefully be purged out of the game) without having to even move your hand positions. For some people this set-up would take getting used to, but after you got used to it, it would make flying your ship a breeze.

ok, that was the hard part, next up:

Fire control

Primary fire: mouse button 1
Secoundary fire: mouse button 2
Change turret: r
Turret control: t

Targeting:

Cycle all targets: g
Cycle hostile targets: f
Target closest to crosshair: c
Bases and jump nodes: v

Communication:

Toggle messages/wingment: ~
Messages: keys 1 to 0, until we get a more suiteable implementation at least.
Wing men: keys 1 to however many are needed, I dont use wingmen much so I wouldn't :wink:

...and I know theres other stuff too, like ship views, cargo, etc but I dont have the energy to think of all that stuff, which in IMO is pretty non-essential as you dont use it enough. Nevertheless, if you think you see a good place to put those keys, I'd like to hear it! :wink:

Posted: Fri Feb 18, 2005 8:03 pm
by hurleybird
Ok, heres an idea. How about making a splash screen that shows all of the keybindings on it, and have it always be the one to show up when you start a new game?

Posted: Fri Feb 18, 2005 8:56 pm
by CubOfJudahsLion
You know, that could also work if the splash screen were to simulate a ship startup console.

Say,

-=- V.E.G.A. OS v0.4.3 -=-
*** Systems initialization ***

Official registration: <ship/flightgroup name>
Registered to: Deucalion
<yadda yadda, whatever extra story info you want to sneak in>

Loading navigation records...
[Supplementary navigation data module "<Mod name>" loaded]

Coordinate resolution complete
Current location: <station/planet : system>

System status:
<report of ship components not operating at 100%>

Ship control interface loaded, checking bindings
<key bindings list>

Loading mission logs...

And so on, each line a metaphor of what is being loaded.
Just another crazy idea, not to be taken too seriously (unless you want to) :p :lol:

Posted: Fri Feb 18, 2005 9:58 pm
by pontiac
CubOfJudahsLion wrote:You know, that could also work if the splash screen were to simulate a ship startup console.

...
Actually that sounds like a really cool idea and would add to the atmosphere too (IMHO) ;)

Pontiac

Posted: Sat Feb 19, 2005 7:47 pm
by energyman76b
Hi,

please, do not change the general layout, ok?

I am a lefthanded person, my heyboard also has the F-keys on the left side, right hand one arrow-keys which are one block with home,end,del and replace, left hand on the mouse, with only a small movement, to reach all F-keys+qweta<>, which makes it quite easy to use.

The left hand does most of the steering (mouse glide), the right hand is for some keyboard-steering and mostly firing the missles and hit 'h'.

Please, do not change the layout. You could provide two different, a 'classical' and a '3d-shooter mode' layout.. but I do not see any advantages by placing the directions (up, down, left, right) somewhere more or less randomly into the keyboard, where you are always prone to hit the wrong keys.

Posted: Sat Feb 19, 2005 8:06 pm
by hurleybird
energyman76b wrote: Please, do not change the layout. You could provide two different, a 'classical' and a '3d-shooter mode' layout.. but I do not see any advantages by placing the directions (up, down, left, right) somewhere more or less randomly into the keyboard, where you are always prone to hit the wrong keys.
I dont think you need to worry, as we would probably still have the classic layout as well, no matter how we changed the interface. I think everyone who has proposed a new layout has had ergonomics in mind rather than 'randomly placing keys' though :wink:

Posted: Sun Feb 20, 2005 2:42 am
by energyman76b
Hi,

well something like: ijklm as up,left,middle,right,down (or its derivatives) is random enough... imho ;)

Posted: Mon Feb 28, 2005 10:54 am
by Guest
Though I don't think that this belongs here, I post it anyway.

It's not long ago that I played the first time Vegastrike. It is fun, but then I died the first time.
I saw the message "Press ; to rejoin [...]". I tried to press ; but nothing happens. So i took a look into the config file and it looked for me like there is an error in the design of it.

The problem is, i'm using a german keyboard layout. When i want to write an semikolon, i've to press Shift + "," to get one. Vegastrike couldn't use this command for anything, because it waited for an Semikolon without pressing Shift, right?

I did some modifications to my keys so I could rejoin. (Shift + r is more intuitive that an ; i think).

Ok, my point is, i want to change the format of the config file, because i want to write a simple application to change the keycodes (that prevents double usage of a key and everything else).

Currently the keyboard section of config file looks like this:

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

But this doesn't use the full "power" of a keyboard.

I'd prefer something like this:

<bind key="," ctrl="0" alt="0" shift="1" meta="0" command="Respawn"/>


Hm, i should get an account...

Regards,
xTs

Posted: Tue Mar 08, 2005 11:16 pm
by xTs
Hi,

there needs something else to be done...


I haven't found a possibility to configure the death zone of a Joystick, which is pretty important.


And is there a "center mouse"-Command? I haven't seen one. It's possible to center the mouse by hand, but it's hard. (with time comes practice...)


Regards,
xTs

Posted: Wed Mar 09, 2005 1:39 am
by MamiyaOtaru
I'm not entirely sure but I believe what you are looking for is
<var name="deadband" value="0.05"/>

Posted: Wed Mar 09, 2005 11:08 am
by xTs
Hi,

i found the deadband value just in the mouse config section... i'll take a look at the sources, if the joystick section uses the same option.


Regards,
xTs

EDIT:
Ahhh, found it... my config file is a bit unsorted. Thanks for the help! :)

Posted: Tue Mar 22, 2005 3:55 am
by Silverain
This query is mainly for the international keyboard users:

What keybindings are ones that commonly cause grief for you? Example ~, | etc?

Answer for energyman76b: by redesigning the keybindings, I'll also be looking for left handed options, international options etc, not just US standard keyboard.

Posted: Tue Mar 22, 2005 10:40 am
by Halleck
CubOfJudahsLion wrote:You know, that could also work if the splash screen were to simulate a ship startup console.

Say,

-=- V.E.G.A. OS v0.4.3 -=-
*** Systems initialization ***

Official registration: <ship/flightgroup name>
Registered to: Deucalion
<yadda yadda, whatever extra story info you want to sneak in>
...
And so on, each line a metaphor of what is being loaded.
Just another crazy idea, not to be taken too seriously (unless you want to) :p :lol:
Awesome idea. Kind of reminds me of some maxis games, ie. "Reticulating splines..." :D Although, some of it would probably go by pretty fast (the info on the player) if we were displaying it in realtime. We would probably want to work in a delay so that the player would have time to read it while textures are loading.