Jump to content

KSP and Dvorak (Revisited)


pendant

Recommended Posts

I started talking about Dvorak in the 'Welcome Aboard' forum. I need some more help, but think it's probably best to move the discussion over here (@moderator: please move this to somewhere more appropriate if there is somewhere). I've had a good look around the forums and have only found cursory references to Dvorak so far... if indeed there is ongoing discussion and I've just been unable to find it, I'd very much appreciate a link to it!

Recap:

I use a Dvorak keyboard layout, not a Sholes ('QWERTY') one. As a result, I've been spending a lot of time in 'Settings', reconfiguring the key bindings. Perhaps the only viable option is to plug in a USB Sholes layout keyboard to play KSP, but I'd rather not resort to that as I've used a two-keyboard setup in the past to get around this issue in other applications -- and it has never been satisfactory.

, I now know how to reset KSP to the default bindings settings (which is a relatively simple matter of deleting -- or renaming -- the settings.cfg file in the root KSP directory). Not an ideal solution for non-computer literate folk, and perhaps when I find the '[official] Wishlist thread' I'll post in there requesting a 'Reset bindings to default' option within the KSP interface itself.

What I'd like to do is experiment with setting the key bindings so that KSP will work on the Dvorak layout I use every day -- but do so in a way that would allow me to save all those settings so that I can reapply them to the default at a later date, should this become necessary (for instance, on a complete reinstall). Because not only is it not a small job, it's also quite error-p r o n e*. Not to mention mission-critical.

There are at least a couple of other KSP Dvorak users out there... and my work could even be of use to them, too.

Looking at the settings.cfg file it may simply be a case of saving the block of text from 'PITCH_DOWN' to the '}' before 'TRACKIR' (1347 lines), and pasting that over the top of the similar block in a new settings.cfg file. I'd prefer a better solution (if there is one) as the copy-paste technique could lead to unexpected results if the format of that section were to change in the future (as, indeed, it may have done due to the 'Completely revised Input Mapping system' implemented as of v1.0.0).

One major concern I have is the possibility of breaking something due to unexpected collisions of key assignments. There's clearly a lot of overloading of key functions in the default key mappings (ie, the same key does something different depending upon what mode you're in, such as the spacebar separating stages in the 'Staging' mode, but toggling between rotation and linear control modes in 'Docking' mode), and I wonder whether this itself would tend to render any attempt at the kind of major remapping exercise I'm contemplating so fraught with potential pitfalls as to make it futile.

While I'm at it, I think I may also be tempted to move some of the key assignments around. I'm not keen on the proximity of some of the keys in the default placement. For instance, the movement keys (WASD) are too close for my liking to THROTTLE_CUTOFF and RCS_TOGGLE, which, if hit accidentally, can have bad results. As just one example, I want to move THROTTLE_CUTOFF (default 'X') to 'Keypad0'. Assuming that re-laying the keys in a strict one-to-one correspondence to change from Sholes to Dvorak is itself a viable project, would it be a 'bridge too far' to try to move other stuff around? (One obvious impact would be that it might render my revised layout of less use to others... though I could do it in two stages).

Good grief, so many words. But I think that about covers it. Thanks in advance for any thoughts you may have.

* spot the stoopit censor bypass

Edited by pendant
minor typo
Link to comment
Share on other sites

Note that action groups work only on the number keys. At least, I've never found a way to change them.

I don't understand what you mean by the term 'action groups'. Could you elaborate?

Link to comment
Share on other sites

When in the VAB and Spaceplane Hangar, there is a tab in the upper toolbar, between the "crew" and "parts" tabs (look for the blue button that has a Kerbal on it), used for what are called "action groups". Some parts are automatically sorted into these groups, such as lights, or wheel brakes. There are also custom ones configurable to the keys 0-9, where when you press the corresponding key, will activate the option(s) you selected of the part(s) you have placed in the group.

Edit: these actions activate in-flight, not in the editor!

While in the action groups menu, you cannot place, move, or delete parts. Clicking on a part will bring up its options, if it has any. These include decoupling, undocking, toggling several features, or deploying/undeploying. With the desired group selected on the left by clicking on it, subsequently clicking on an available action will bind it to the group. Clicking on an action in the group will unbind it.

Link to comment
Share on other sites

Thanks for taking the time to try to edumacate me, Starwhip, it's very much appreciated. I'll admit I'm still not clear on what you're referring to -- I am still very much the KSP noob -- but I do think that this won't be an issue, since the ANSI Dvorak standard has the number keys assigned to the same keys as Sholes (QWERTY).

I strongly suspect that there may be nuances to this I haven't yet grokked...

Link to comment
Share on other sites

It is a tad off-topic, but I don't think it hurts... that's a nice tutor, thanks for the link!

I learnt the Dvorak layout using Stamina. I can't recommend that highly enough. It's efficient, and it's fun... I've never heard a keyboard burp and fart so much in my entire life :)

You might also enjoy z-type :)

Link to comment
Share on other sites

Personally I use the neo2 layout, but switch it to QWERTZ with a hotkey in Windows. This is also possible in Linux. Are you sure that you have to remap every hotkey in KSP? I am not sure if I understand the problem correctly.

Link to comment
Share on other sites

Thanks for taking the time to try to edumacate me, Starwhip, it's very much appreciated. I'll admit I'm still not clear on what you're referring to -- I am still very much the KSP noob --

If you're playing career mode action groups aren't available until you upgrade the VAB/SPH; basically they are just hotkeys that you can assign to certain functions.

As for Dvorak, there's always a few of us, I just switch back to QWERTY using the Windows shortcut (Window Key + Space). I have to use QWERTY enough so that I can still type reasonably well (vessel titles for instance), but I agree it's annoying to always have to be switching. A fair number of games just automatically recognize your keyboard layout and assign keys based on their position, not what the actual key is.

Link to comment
Share on other sites

You can setup windows to switch between Dvorak and QWERTY with a key-combo. I just use that, it keeps me from needing to rebind every game that I play to custom keybinds. I just switch back whenever I want to type something.

Link to comment
Share on other sites

Personally I use the neo2 layout, but switch it to QWERTZ with a hotkey in Windows. This is also possible in Linux. Are you sure that you have to remap every hotkey in KSP? I am not sure if I understand the problem correctly.

Thanks for pointing me towards the neo layout -- a new one to me, I've not come across that before. I like the layered design. I see it's optimized for the German language rather than English (I'm guessing that's your native tongue?).

'The problem' with KSP, as with many games, is that, where keyboard input is required, it is all too often assumed that the user will be using the Sholes ('QWERTY') layout. The four keys 'W', 'A', 'S' and 'D' are commonly hard-coded as the keys for up, left, down and right respectively. This is fine with a QWERTY layout, as these four keys lie together in positions that correspond with the respective directions:

WASD_zpsdfvlcpem.jpg

However, on a Dvorak keyboard layout, the placement of those four keys is not particularly useful for movement purposes:

WASD-Dvorak_zpstdtfkvtd.jpg

'Left' and 'right' are still ok, relatively speaking, but 'down' has become 'up', and vice versa. Also, these keys are a bit too far away from each other to be of much use.

As DMagic and Keith_Bones have pointed out, if one has both Sholes and Dvorak layouts configured in Windows, one can toggle between them using 'Windows Key + Space'. This works after a fashion, but for a newcomer like me who still has to learn which key does what in KSP, it's a pain in the posterior. Bear in mind that I'm using a keyboard on which the keys are laid out according to the Dvorak layout, not QWERTY. So if I have Windows set to 'QWERTY' mode, the keytops don't do what they say on the tin. The game will be telling me to press (for instance) 'X' for 'Throttle Cut-off'; but if I do press the key labelled 'X' I'll actually be telling the game to (ironically) apply the brakes -- the wheel brakes, that is! On a Dvorak layout, the key I really need to press for 'Throttle Cut-off' is 'Q', not 'X'.

The point is that if the game 'understands' the layout I'm using -- which it can do, if I redefine the keys appropriately -- then there's no confusion at all. Instead of telling me to press 'X', it will actually tell me to press 'Q', and everything is fine.

I've made quite a bit of progress on this. I still need to test it some more to check that everything is ok, but I'm convinced enough that what I've done works to offer this link [created in OpenOffice, but saved as MS-Excel 97/2000/XP (.xls) for widest compatibility]. It's a spreadsheet that not only does what I need for Dvorak, but should also be of use to anyone interested in using it for other layouts too, since the 'Conversion Table' on the second spreadsheet in the workbook can be adjusted to conform with any desired layout.

I've also allowed for custom redefinition of many KSP keys, should the user wish to experiment with non-standard placement. I'm not sure as yet whether there would be any unexpected effects from trying that, though. I may just be being over-cautious; perhaps there's no problem at all with that.

For anyone who just needs the ANSI Dvorak keybindings, I can offer a plain text file: KSP default Dvorak bindings. This file has the appropriate bindings for what I refer to as the 'verbatim' set in the spreadsheet. It includes instructions.

Phew! More words. I hope they're of as much use to others as (I hope!) they will be to me... ;)

Downloads recap:

(Please do let me know if I've made any mistakes!)

Edited by pendant
WASD is up, left, down, right; not up, down, left, right :)
Link to comment
Share on other sites

Thanks for pointing me towards the neo layout -- a new one to me, I've not come across that before. I like the layered design. I see it's optimized for the German language rather than English (I'm guessing that's your native tongue?).

Yes exactly. Also we use QWERTZ instead of QWERTY.

I now understand that you talk about your physical keyboard layout, not just the windows configuration. That's indeed a whole different thing. For this reason, I always play games with QWERTZ: If the game tells me a hotkey, I actually look for the corresponding key on the keyboard; blind writing works only for actual text (at least for me). That's the difference between a few years with neo and a life time with QWERTZ.

Maybe I could write a script that searches the settings.cfg and does the replacements for a given layout, so one does not have to overwrite the file.

Link to comment
Share on other sites

[...]

Maybe I could write a script that searches the settings.cfg and does the replacements for a given layout, so one does not have to overwrite the file.

Short of Squad making all this hoop-jumping irrelevant, that would be awesome. I hope that my spreadsheet may be of interest to you as a next-best option; it should be able to cater for neo too.

Link to comment
Share on other sites

Hmm. I thought this post was going to be about:

You're not alone... I think most folk associate the name 'Dvorak' with the Czech composer Antonín Leopold Dvořák, not the years-ahead-of-his-time American human factors expert Professor August Dvorak who died in 1975, having bitterly complained, "I'm tired of trying to do something worthwhile for the human race, they simply don't want to change!"

Thank you for the link to the marvellous New World Symphony! Ideal solar system exploration background music :)

If you're playing career mode action groups aren't available until you upgrade the VAB/SPH; basically they are just hotkeys that you can assign to certain functions.

As for Dvorak, there's always a few of us, I just switch back to QWERTY using the Windows shortcut (Window Key + Space). I have to use QWERTY enough so that I can still type reasonably well (vessel titles for instance), but I agree it's annoying to always have to be switching. A fair number of games just automatically recognize your keyboard layout and assign keys based on their position, not what the actual key is.

I hope my earlier post explains why Windows Key + Space isn't good enough for my tastes.

And concerning the fair number of games that just automatically do the right thing... I can only dream that one day they all will.

Link to comment
Share on other sites

Alright pendant, I'm about to blow your mind. ( i think)

You'll have to put a bit of work in to this, but once you're done it will solve your problem.

First off, put your windows in Dvorak mode so that the keys actually line up. (what you said about x actually being brakes)

Then, go in the settings and remap every key to what you want. It will take a bit, but it will be worth it.

Once you have everything mapped just right, the way you want it, save it and exit the game.

Go to the KSP folder, find the settings.cfg, and copy it. Go to your desktop, make a new folder, name it "KSP Dvorak Keybindings" or something, paste the settings.cfg file into that folder. Now, keep it there.

Whenever you get a new install, or you mess something up in your current once regarding keybindings, you can open the KSP folder, delete the settings.cfg, then copy and paste the settings.cfg from the "KSP Dvorak Keybindings" folder. This will replace the keybindings with the ones you set up manually. Which means, to switch from Sholes to Dvorak, you simply have to delete the existing settings.cfg and replace it with the one you saved onto your desktop. And to revert back to Sholes, you simply have to delete the settings.cfg in your KSP folder, and it will generate a default one with Sholes layout.

I think this is the solution you were looking for. Correct me if I'm wrong. :)

Link to comment
Share on other sites

Alright pendant, I'm about to blow your mind.

[...]

go in the settings and remap every key to what you want. It will take a bit, but it will be worth it.

[...]

I think this is the solution you were looking for. Correct me if I'm wrong. :)

You may want to take a look at the two files I offer on this post of mine, up above. I'm hoping you'll find they do exactly what you describe -- so thank you, for confirming that I had the right approach. If they do (and I hope I haven't made any daft mistakes) then this may save time for any other Dvorak-users out there, because I've already done the tedious bit for them :)

So, you're not wrong. Unless we both are ;)

Link to comment
Share on other sites

You may want to take a look at the two files I offer on this post of mine, up above. I'm hoping you'll find they do exactly what you describe -- so thank you, for confirming that I had the right approach. If they do (and I hope I haven't made any daft mistakes) then this may save time for any other Dvorak-users out there, because I've already done the tedious bit for them :)

So, you're not wrong. Unless we both are ;)

Well, the way you suggested might be a bit too complicated for non-computer people. Your way involves pasting into the settings.cfg, mine involves pasting the settings.cfg. Which in my mind is much easier and less complicated. If you want, when i get home I can past that module into the settings.cfg and then send it to you to test it out to make sure everything is correct, and then you can put the settings.cfg up for download. This way people only* have to paste it over their existing settings.cfg, which isn't all that confusing.

*well they willl have to change their other settings if they had them other than default, but there aren't many, so it should be all good. Maybe offer the .cfg for non computer people, and the .txt file for those who wanna keep their other settings and just change keybindings. :)

Link to comment
Share on other sites

Well, the way you suggested might be a bit too complicated for non-computer people.

Oh, I agree. Your solution has its advantages. But there are advantages to my offering too:

  • it enables those with any keyboard layout (not just Dvorak) to generate the keybindings they need to apply into KSP
  • it neatly lists all the keys, reducing the risk of error
  • it facilitates customisation of the keybindings

A certain amount of computer literacy is implied with any file manipulation.

Ideally, we shouldn't have to jump through these hoops in the first place!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...