CitiesSkylinesMods / TMPE

Cities: Skylines Traffic Manager: President Edition
https://steamcommunity.com/sharedfiles/filedetails/?id=1637663252
MIT License
571 stars 85 forks source link

Shortcut keys standardisation #587

Closed originalfoo closed 4 years ago

originalfoo commented 4 years ago

I've just added a page to the wiki listing some of the shortcut keys:

https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/wiki/Shortcuts

I'd like to propose the following standardisation:

cc: @kvakvs @kianzarrin

kvakvs commented 4 years ago

Send this to the UI guidelines page Looks reasonable for now I'd suggest make a chart of all tools and shortcuts they use to see entire picture, and then draw some conclusions, if some shortcut looks wrong or stands out in a different way to fix it or to update this list. Who feels like making that chart?

kianzarrin commented 4 years ago

Alt - Delivers alternative to the standard functionality Example: Lane Arrows tool - Alt-clicking applies turning lane, rather than selecting the lane for manual customisation

Then maybe I should modify the quick lane separation shortcuts: currently: ALT=quick separate segments | CTRL=quick separate node change to: CTRL+ALT: quick separate segments | ALT CTRL quick separate segments considering click will select a segment it makes sense if CTRL-click does more to a segment . ALT is the alternative quick separate for node .

originalfoo commented 4 years ago

For lane arrows, I think it would be better as:

krzychu124 commented 4 years ago

It looks good, but as I suggested in #574 we should separate key combination from actual translation of tooltip, because every time we would change it we will have to update every translation for each language. Key combination confuses translators - you can see that key combination is currently missing on some tooltip translations.

kvakvs commented 4 years ago

The tooltips with keys are temporary. The intent is to show current mode shortcuts as a part of TM:PE window or an attach window, and for that i can reuse current tooltip translations and manually remove the key from them without involving translators.

krzychu124 commented 4 years ago

Why not just create separate keys for key modifiers and concatenate it to current tooltip text? Tooltip text will be reusable and key modifier too [Edit]: example key: Tooltip.Keybinds:Auto TL Instead of translated value Ctrl+Click: Quick setup make it just Quick setup and in code use KeyModifiers:Ctrl + Click + Tooltip.Keybinds:Auto TL

kvakvs commented 4 years ago

That will add strings temporarily which we do not need at the moment, and they will have to be removed later. Also there is no need to translate every keyboard shortcut, but if translators do some, there is no harm in that. I'd say do nothing and keep it like this, by the time we release v11 it will have no keys in tooltips, and the keyboard help will move elsewhere.

krzychu124 commented 4 years ago

The problem is that translators omit that key combination while translating so tooltip is incomplete and then in-game that tooltip doesn't show most important part of information.

kvakvs commented 4 years ago

Use API in Keybind.cs https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/blob/master/TLM/TLM/State/Keybinds/Keybind.cs#L21-L26 Don't add translation strings for keyboard.

krzychu124 commented 4 years ago

Ok, so we should fix currently merged features to use this API for shortcuts then. Doesn't it need SavedInputKey instance to work? In other words input combination that is saved inside keybinds configuration?

kvakvs commented 4 years ago

You can create SavedInputKey that is not editable in keybinds UI and translate it, even if it is saved does not matter. Or you can follow the code path inside CO.UI and get the calls they use to translate keys.

P.S. I do not know how CO.UI handles keys that don't have supported language in the game. We might still have to go the path of translating keys.

kianzarrin commented 4 years ago

77 is related

originalfoo commented 4 years ago

Completed a list of (almost) all mouse/keyboard interactions with the tools: https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/wiki/Shortcuts

Shift key is very clearly "apply to route" (what defines a route is tool specific).

Biggest discrepency I can see so far is the old Shift + S shortcut for "Straight Ahead" on Lane Connector tool. We should probably change to Ctrl + S to be more consistent with other tools.

Ctrl key is largely associated with "bulk applicators" (for want of a better phrase).

Alt key is only used once, in the Lane Arrows tool.

Del and Backspace are starting to become standardised in many tools as "reset" (ie. clear custom settings / revert to defaults).