Godot: can't remove space key from ui_accept

Created on 14 Apr 2016  路  17Comments  路  Source: godotengine/godot

I am trying to remove the space key from ui_accept, but it wont work. It seems like the removal of keys from the default mappings is not properly saving. If I remove space from ui_accept and then save->close->reopen project it shows back up in the mapping every time.

I am running Elementary OS(Ubuntu) and a up-to-date copy of the master branch.

bug confirmed core usability

Most helpful comment

@akien-mga I am not sure. However, it looks like if you add another key to that action, then you can remove the other keys and it will be saved.

All 17 comments

Currently the input presets can't be removed indeed. I don't know if we want to allow editing them too. @neikeq?

@akien-mga I am not sure. However, it looks like if you add another key to that action, then you can remove the other keys and it will be saved.

@neikeq thanks for the work around! If the defaults are not meant to be changed I propose that be re-thought. One reason is certain regions don't use the same defaults. For example on Playstation, X is bound to ui_accept and O is bound to ui_cancel, but to localize for Japan you would probably want O to be ui_accept and X to be ui_cancel since that is their standard layout.

Has this been fixed? It's still like this in official Steam version. It's confusing that you can edit the defaults, but you are not really editing them.

godot 3.0.rc2.custom_build.3cd5b1f
Same problem, can't remove gamepad button 1 from ui_cancel

Is this will be fixed in 3..0.1 or 3.1 release?

Sometimes I don't want use space key as ui_accept action, I delete but it seems no effect for now.

Still happening in 3.0.2

To replicate:
Start project, delete any default key mapping, save, close, and upon reopening the default key mapping will be back in place . . . unless you first change the key to a non-default key, then delete, save, etc. What's more interesting is that you can open a project, delete the default key mapping, save, run the project, and even though the InputMap won't show the default key mapping you deleted, it will still behave as though that key mapping exists, which can cause a good bit of confusion.

Rationale:
I've been coding a Controls menu that allows users to enter custom InputMap settings. This works by clicking a button, then pressing a new key to bind. The problem is that, since 'Space' is a default for ui_accept, if I click on the button, then press 'Space,' Godot treats the space as re-clicking the button, thus entering a loop that will never assign the space key to that InputMap button. I'm sure I'm not the only one who runs into this, since 'Space' is often used in games either to jump, interact, select, etc.

Still happening in 3.0.3. This is very confusing and just cost me 30 minutes in the Godot Jam because I thought I was too stupid to edit the Input Map somehow. :P

IMHO, if this is wanted behaviour, the buttons for editing and deletion should be disabled

I have the same problem as @7sDream : I remove Space from ui_accept, the setting is saved (or so it seems), but pressing Space still fires the ui_accept action. I'm using v3.0.2.stable.official.

I don't know if we want to allow editing them too.

@akien-mga I'm not sure why you wouldn't allow editing them. Having some defaults is okay (especially because they're really common defaults anyways), just so long as we can remove them.

I guess the solution is force saving those actions in the project file if they have anything removed.

Still a huge issue, I used dance-mats for one of my projects, because the mapping there is a bit different the left button on them is actually UI_ACCEPT. You can imagine how mind boggling this was at first.

I can't reproduce at all, I have the feeling I may have fixed this accidentally recently. Can anyone confirm this please?

Confirmed as solved by @vnen

This is still happening.
https://i.imgur.com/Ywo3gWu.png

I've cleared out all inputs for "ui_accept", then printed the InputMap for "ui_accept" to the console with this:
print(InputMap.get_action_list("ui_accept"))

The result is the default mappings, which are supposed to be removed:

[[InputEventKey:12], [InputEventKey:13], [InputEventKey:14], [InputEventJoypadButton:15]]

It's solved in master, it's still an issue in 3.0.x

It's actually a "bug" that this got fixed, see #3793. Keeping closed as it's a duplicate of #3793 though.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

testman42 picture testman42  路  3Comments

nunodonato picture nunodonato  路  3Comments

rgrams picture rgrams  路  3Comments

mefihl picture mefihl  路  3Comments

EdwardAngeles picture EdwardAngeles  路  3Comments