Closed carlsmith closed 5 years ago
The idea to re-map the defaults to keys which make more sense is good. However, here are a few issues I've found with the new suggestions, thus partially against the proposed change:
E Special/aux. Often used, close to WASD
Q Drop, also often used in survival
+ Higher range view (more sense in multi-language)
- Lower range view (ditto)
I Inventory, although C is handy nearby
scroll Select item (easier than pressing keys)
T Talk (chat), also closer to WASD
up/down Adjust volume (common in media players)
N/A Fog (not worth binding IMO)
. Local command (they start with .)
/ Server command (they start with /)
Debugging stuff and rare used key bindings should be kept in the F-key range. People who want to use them know where to find it.
Also PrintScreen should rather not be used. Leave it to the OS.
EDIT: Also ]
is a very bad choice for (some?) German keyboards because Irrlicht sucks and cannot parse that key.
I disagree with most of those. Some comments (They don't answer all of my issues. I need to do some other things...)
The inventory doesn't always hold a crafting page. There are games out there like NodeCore (Highly Recommend) that only use it as a help screen. The inventory will hold other things too. Like maybe a rules/mail tab. 'C' is also a pain to reach on my keyboard. I personally have it set to [TAB], which is easy to reach with my left hand I like having the fly, fast, and noclip keys together on the keyboard. It didn't take long for me to get used to them. I rarely ever toggle HUD/Chat. Those are better off in the f section IMO. I prefer 'T' for chat because it's easy to reach with my left hand. And I think the console log doesn't work well where you would put it M for map is a neat idea. I think I may change to use that keybind For dropping I use 'G' (Give). Q is a horrible spot for it. Too easy to accidentally drop your weapon if your finger doesn't press 'W' when playing. I do drop things sometimes and pressing keys on that layer below ASDFG sometimes messes up my hand position. Not fun when playing CTF or working over lava The chatcommand keys are fine as they are IMO. They're both next to each other on my keyboard
The defaults probably ought to be close to what Minecraft uses as that is likely what a lot of people who play this are also used to playing.
Thanks for taking the time to help with this guys. Reaching a consensus will be difficult, but there's no harm in trying, and it's an interesting conversation that we can all learn something from.
@style-nine, I've never played Minecraft myself, but other people may want to keep it in mind.
@SmallJoker, While T for Talk is simple, the name is confusing, as the binding does not open the console for you to talk. It only opens it for a single input, closing it automatically afterwards. I was thinking a name like Post, Comment or Remark would make that clearer.
@LoneWolfHT, I didn't realize that local commands start with a dot, so the . key does make a lot more sense for that.
Using a punctuation character for posting a comment would make everything more consistent. Then, all console related bindings (and nothing else) would use punctuation keys.
The Quote Key would make sense for commenting, but the Comma Key works pretty well too, and it sits next to Dot and Slash, so this seems like the best compromise overall:
] Toggle Console Prompt
[ Toggle Console Log
, Post Quick Comment
. Post Quick Local Command
/ Post Quick Server Command
Note: I saw the edit that points out that ] is hard to use on some keyboards. I think we have to assume a standard layout (ANSI US), and optimize for that. We can make configs available for other layouts that are each optimized for a specific language, but trying to handle US, UK and German (let alone Japanese, Korean et cetera) keyboards at the same time is impossible to do well.
Having the Inventory on I is easy to remember, but very far from WASD.
@LoneWolfHT, you're right: I didn't consider that some games do not use the Inventory for crafting, so Craft would need to be renamed to Cache, Catalog, Cargo, Carrying or something like that, but C is ideally positioned, so I'd still like to keep that key (which can be used to exit the Inventory too).
I find having Q for Quick (Fast Mode) next to W (Forwards) handy (and think it'd be intuitive for new users), and X also works well for dropping things, but this one is super subjective.
On many laptops (including MacBooks), the Function Row is overloaded with special keys for stuff like volume and brightness. On many Macs, it's overloaded again with the TouchBar, but even without that, using the F1-F12 for application level bindings is more of a Windows thing.
@SmallJoker, I only renamed Special (aux) to Extend, so its name starts with an E (A and S are part of the WASD group). It's still bound to the same (E) key.
You can still use scroll to select items in the hotbar, but default bindings are provided too (N for Next and B for Back). I just kept them.
The defaults probably ought to be close to what Minecraft uses as that is likely what a lot of people who play this are also used to playing.
Actually a lot of people that play Minetest were looking for a free version of Minecraft. So they will likely have not played MC
@style-nine, I've never played Minecraft myself, but other people may want to keep it in mind.
@SmallJoker, While T for Talk is simple, the name is confusing, as the binding does not open the console for you to talk. It only opens it for a single input, closing it automatically afterwards. A name like Post, Comment or Remark would make that clearer.
@LoneWolfHT, I didn't realize that local commands start with a dot, so . does make more sense. Also using a punctuation character for posting a comment would make everything more consistent (all console related bindings would use punctuation keys, and nothing else would).
The Quote Key would make sense for Comment, but the Comma Key is usually next to Dot and Slash, so that seems like the best compromise:
] Toggle Command Prompt [ Toggle Command Log , Post Quick Comment . Post Quick Local Command / Post Quick Server Command
,
is hard to reach with the left hand
Inventory Vs. Craft
Having the Inventory on I is easy to remember, but very far from WASD.
@LoneWolfHT, you're right: I didn't consider that some games do not use the Inventory for crafting, so Craft would need to be renamed to Cache, Catalog, Cargo, Carrying or something like that, but C is ideally positioned, so I'd still like to keep that key.
It's easier for me to hit [TAB] than to hit C. And on my keyboard [TAB] is a much larger key than C, this helps prevent me from accidentally hitting the wrong key.
Quick Vs. Fast
I find having Q for Quick (Fast Mode) next to W (Forwards) handy (and think it'd be intuitive for new users), and X also works well for dropping things, but this one is super subjective.
X isn't easy to quickly reach with my left hand. Using my right hand to hit keys is a pain. Since it's usually controlling my mouse
The Function Row
On many laptops (including MacBooks), the Function Row is overloaded with special keys for stuff like volume and brightness. On many Macs, it's overloaded again with the TouchBar, but even without that, using the F1-F12 for application level bindings is more of a Windows thing.
You can do FN + <KEY>
to bypass the special keys
X isn't easy to quickly reach with my left hand. Using my right hand to hit keys is a pain. Since it's usually controlling my mouse.
The X key is below S on an ANSI US keyboard. Do you use something else? Do you drop items very often? I'm just trying to understand why it doesn't work for you.
You can do FN +
to bypass the special keys.
You can, assuming you use a Mac keyboard with a Fn key, but many people use generic mechanicals that lack one. You're right though: It's not critical that we avoid the Function Row, I just found that there's enough keys to cover everything without needing the Function Row, Nav Block or Num Pad.
It's easier for me to hit [TAB] than to hit C. And on my keyboard [TAB] is a much larger key than C, this helps prevent me from accidentally hitting the wrong key.
I see. That does make sense.
I second using [Tab] for inventory.
,
is hard to reach with the left hand
True, but it's easier to learn for new players, assuming we're using Dot and Slash for the other two "quick post" bindings.
So, how about binding Tab to Inventory, freeing up C for Chuck (drop), instead of X, and then X would be free?
Semantically, you can chuck an item away, chuck an item somewhere, or chuck an item to another person.
The name Trek may be better than Yomp for Autoforward, and T is a tiny bit closer than to WASD than Y.
T is standard for chat, although Y has been used on occasion too by games.
Can anyone who downvoted the original post explain why? I obviously don't care if this happens or not. My system works exactly how I want it to. I just thought I could maybe help improve the experience for new users (like my kids), who find the controls unintuitive.
T is standard for chat, although Y has been used on occasion too by games.
Cool, but it's not mapped to Chat. It's mapped to Quick Post (or whatever you want to call that), and compliments Quick Local Command and Quick Server Command (which also close automatically once you post). If you wanted to "chat", semantically, then you would toggle the console (which uses a different binding).
To be honest, the negativity that I received for suggesting we redo the default keybindings for new users has undermined any motivation I had to contribute here. Your community sucks.
Your impatience sucks. The default keybinds are already designed to be fairly intuitive for new users. The only things I have changed in my personal layout is using E for inventory and LCTRL for sprint (Minecraft controls). T is mapped to chat because it is chat. F10 is a full console. Minecraft behaves the same; T is chat, and it closes once you post because that's how chat works in these sorts of games.
My impatience?? Am I meant to wait for the six downvotes to be offset by seven upvotes? I came here to help, and got told where to go. I'm fine with that, and will just go.
Mate, your suggested control scheme got downvoted. You also received a bit of constructive criticism. You were not told "where to go" or that the controls don't need to be redone. Not everything will be met with great reception, and sometimes it's better to split the general suggestion to discuss from a suggested change, otherwise the criticism for both will be lumped together.
I take the most issue from the odd naming you gave to all the controls to try and explain them. But they don't need to correlate with the control letter (that's how we got I
for inventory, which is the biggest mistake of our entire control scheme imho).
Controls should be based on standard practice and comfort of reach from the standard WASD resting position.
@benrob0329 - My control scheme was suggested as one possible starting point (I have to propose something concrete), and its layout does emphasize the "standard practice and comfort of reach from the standard WASD resting position". That's the starting point for everything I suggested.
The names are simple mnemonics to help new users to learn what each key does. If every initialed key (with WASD and X as edge cases) maps to an action with a name that starts with the same initial, it is far easier to learn than the seemingly arbitrary scheme we have now. However, the names are created retrospectively. I did not just make up names I thought sounded cool, then bind stuff wherever the letter happened to be. I just assumed that didn't need explaining.
As for the criticism, I was having a conversation with half a dozen people about fixing something that they had already indicated wasn't a problem. I didn't know that they had all downvoted the basic proposition, before bikeshedding ideas with me anyway. It made no sense to me when I noticed, so I basically said so, and went to leave. I'm only here now out of respect for the fact that you took the time to respond to me.
The default keybindings are objectively awful. Gamers can configure things however they like, but the defaults should be optimized for ordinary people to pick up and play the game, which requires mnemonics. I went with the simplest scheme I know of, actions with names that map to letter keys, but apparently, that's too odd, so I'm at a loss.
which requires mnemonics
Not at all. Minecraft does just fine, and it's player base is young children. The defaults should be set to what people should expect from games, which by now is WASD and surrounding keys.
That's why I used WASD and the surrounding keys. I just also created mnemonics. You can ignore them if you're all grown up, mate.
Children play games on Playstation and Xbox controllers. There is no mnemonic correlation whatsoever, and they do just fine. The only reason I disagree with this issue is the fact that almost no one up to this point has had such a major issue with the current defaults.
Children play games on Playstation and Xbox controllers.
Because that's just like a keyboard and mouse.
The only reason I disagree with this issue is the fact that almost no one up to this point has had such a major issue with the current defaults.
Well I obviously did. That's why we're here.
G'night, guys. Have fun.
Because that's just like a keyboard and mouse.
A keyboard with 4 letters/shapes, 4 arrow keys, and 4 other buttons. Yes, I totally see how that is like a keyboard and can be mapped mnemonically.
carlsmith, don't take too much notice of emoticons (i don't like negative emoticons and wish GitHub didn't have them), even if it was from those discussing. What matters is the discussion and ultimately, support from core devs. You really didn't get a hard time in this thread so it's surprising you left (with an insult for all of us) so easily. I can't see any negativity, just good discussion and some disagreement.
I think that control ergonomics and grouping logic is more important than having keys match the word of the action. Even though you are keeping ergonomics in mind, mnemonics add unnecessary limitations to the system. All people soon learn controls even if the letter doesn't match a word for the action. Your system also then has to use some awkward words to do this, like Extend, Utter. For example, H and L controlling view range is awkward, they aren't next to each other.
Some of your ideas may be good, like M for minimap.
but to people starting to play Minetest these days, many of the defaults make little sense,
The default keybindings are objectively awful.
We currently do not have a large number of complaints about the default keybindings, so this is not the case. You may not like them, but they have been discussed and optimised over years, so they will be reasonable.
established users almost always have local configs defined
I don't, after 7 years i only have 3 keybindings configured.
The defaults probably ought to be close to what Minecraft uses as that is likely what a lot of people who play this are also used to playing.
We don't let MC define MT. MC is on the decline now anyway.
MC is on the decline now anyway.
Actually MC is having a resurgence lately.
Ok that's good to hear.
I think the issue with complete systems of keybindings, as in this issue, is that a consensus is impossible, everyone wants/needs/likes something different. So it's somewhat pointless doing a complete overhaul, it won't necessarily be preferred by new players, and it is disrupting for existing players. Better to make small, gradual heavily-justified changes, which is what we have been doing all along.
EDIT: So to be clear i am :-1: for the original suggestion.
I'm in support of changing minimap key to M
. Minimap shape toggle can be Shift + M
.
Mute (currently bound to M
) can be bound to some other obscure key by default (another F- key, maybe?). Users using keyboards with media keys can bind this to a dedicated key if required.
I think most keybindings we currently have (5.1.0) are perfectly fine, with only a few exceptions:
I do M for my minimap, V for autoforwards, f7 for Camera changes, and N for mute
This discussion should move to #6374 and #6995
Minetest has evolved over the years, and its keybindings have obviously evolved with it, but to people starting to play Minetest these days, many of the defaults make little sense, which in turn, makes the controls difficult to learn.
Changing the defaults would only really affect new users, as established users almost always have local configs defined (causing the new defaults to be ignored anyway). And everything remains configurable, so overhauling the default bindings seems feasible (though may be better left till Minetest 6.0.0).
The following cheatsheet covers the bindings I've been testing. I had a little trouble getting them working with the GUI, but setting them in
minetest.conf
worked fine.