Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Keyboard controls  (Read 1984 times)

voliol

  • Bay Watcher
    • View Profile
    • Website
Keyboard controls
« on: June 02, 2022, 06:06:40 am »

The last FotF reply implied that keyboard controls and macros might be scrapped, in favor of a mouse-only interface. For various reasons, this is a bad idea.
So this here is a thread for how to incorporate keyboard controls, considering the new GUI of the upcoming versions. Because macros are directly tied to keyboard controls existing, suggestions for them are welcome too.

Read Eniteris' comment below! This thread is still about keyboard controls, but hotkeys and the like are not threatened.


Hotkeys for each button could be shown on hovering over it, which could serve as a way to guide players towards the eventually faster keyboard. Wouldn't do much for those with motor issues though, as it still would require a mouse. One solution is a centralized menu/popup of every currently available hotkey, relative to the current screen. Maybe through "?".

There should be a menu (as there is now) for rebinding.

Eniteris

  • Bay Watcher
    • View Profile
Re: Keyboard controls
« Reply #1 on: June 02, 2022, 06:34:16 am »

Quote
This may be the case.  For instance, there are no keyboard cursors right now.  People generally wanted 50 keypresses to be replaced by a few mouse clicks, and I don't think there were any general proponents of the keyboard in this case.  There are some specific concerns, like with macros and stuff, but those would probably be better replaced by interactive blueprints etc. as in Factorio and etc.  I'm all for hotkeys of course, and being able to pull up various information and get things selected quickly with the keyboard, but I've been leaning against replacement cursors and haven't heard a case for them.  I've never seen a similar modern game use keyboard cursors, because it requires so many keypresses, something people have hated and mocked about DF for many years.  And once we admit the mouse at all, wealth display being a hover etc. isn't a concern (although arguably it works as a hotkey for speed purposes.)  But perhaps mouse use is a barrier generally for you - I haven't really heard from the keyboard-only side since they were the only side we'd been supporting to this point.

Hotkeys are still implemented; I think the issue is with the on-screen cursor, so the [query, task, look] selectors, along with building locations/sizes, designations, military orders, zone designations and give/take stockpile linkages. And possibly every single menu (I didn't see a "currently selected item" cursor in any of the menu screenshots).

I am very much a proponent of continuing to allow the game to be completely controlled by the keyboard. I think the keyboard controls should still be implemented (umkl, everything else that's strange and unintuitive), but I think it's okay if there's no tooltips for those? especially if we're expecting new players to use the mouse.

For the Steam Release, this implies reimplementing the cursor, and also changing the menus to show which menu item is currently being selected.

Though personally I'm likely going to mainly play the Classic release, so I would be okay with having the Steam Release have a mouse requirement, as long as Classic can still be played solely with the keyboard. I wouldn't like it, but it'd be okay for me.

Macros are similar; they don't make sense if you can't control everything from the keyboard, but they are obscenely flexible when you can control everything with the keyboard, though I usually use them for things that could possibly be improved with quality-of-life changes (saving military uniforms, designating active/inactive skills in embark profiles, multi-z level blueprints)
Logged

voliol

  • Bay Watcher
    • View Profile
    • Website
Re: Keyboard controls
« Reply #2 on: June 02, 2022, 06:57:09 am »

You are right, Eniteris, my reading has been faulty. Ugh, it's really easy to get dragged into a negative circlejerk, and I feel bad for this. I do still think having keyboard cursors and macros are favorable, but I have updated the original post to not spread misinfo.

Salmeuk

  • Bay Watcher
    • View Profile
Re: Keyboard controls
« Reply #3 on: June 02, 2022, 01:12:33 pm »


I am very much a proponent of continuing to allow the game to be completely controlled by the keyboard. I think the keyboard controls should still be implemented (umkl, everything else that's strange and unintuitive), but I think it's okay if there's no tooltips for those? especially if we're expecting new players to use the mouse.

For the Steam Release, this implies reimplementing the cursor, and also changing the menus to show which menu item is currently being selected.

Though personally I'm likely going to mainly play the Classic release, so I would be okay with having the Steam Release have a mouse requirement, as long as Classic can still be played solely with the keyboard. I wouldn't like it, but it'd be okay for me.


not much to add here, except that I also acknowledge DF is at a very important moment and I don't mind being forced to re-learn a literal decade of muscle memory if it also means the game will grow and continue development.

At least, that's what I tell myself. I will sorely miss the speed of designation that can be achieved with enough memorization, which will surely be somewhat interrupted by the need to move hand to mouse.
Logged

Eniteris

  • Bay Watcher
    • View Profile
Re: Keyboard controls
« Reply #4 on: June 02, 2022, 01:58:14 pm »

I will sorely miss the speed of designation that can be achieved with enough memorization, which will surely be somewhat interrupted by the need to move hand to mouse.

Yeah, relearning hotkeys I'm okay with, but requiring the mouse directly implies PRINT_MODE:TEXT will no longer be supported, which I care about a great deal.

I really like that DF stands out as the only? colony builder that doesn't require the mouse. If mouse is required, I'll probably move back to classic roguelikes.
Logged

GumNut

  • Bay Watcher
    • View Profile
Re: Keyboard controls
« Reply #5 on: June 05, 2022, 08:02:24 pm »

Preamble
This is quite a long post but I, like some others on the forum, feel that full keyboard support is important for the way we've been playing the game and would like to be able to do that in the future as well. Instead of arguing about the merits and demerits of mouse v.s keyboard control I'll instead propose a system for keyboard control that could work in a mouse-based environment. It's not a perfect system in any way but it's mainly for demonstration purposes to get us and Toady thinking about how full keyboard control could potentially work.

If you spot any gaps or find these suggestions unsatisfactory, I'd more than welcome any countersuggestions or modifications.

The cursor should really be the least problem when it comes to usability, just have it activate when you use the movement keys and deactivate when you click with your mouse. If you don't use the movement keys you won't even notice there's a cursor system in place.

I see menu/window navigation and control being trickier but it should be doable assuming menus are grid-based and directional movement not being too hard to implement.


'alt' mode
The 'alt' mode would decide what the movement keys control. If it's set to mouse control it would control map movement and if it's set to keyboard control it would act the way we are used to when in placement or designation mode or control movement in windows. The following suggestions will assume keyboard control is on.

There are several options for how the 'alt' modifier could work, either requiring it throughout the movement usage with a setting for which is the non-'alt' mode, or once initially together with a movement key to activate, or as a one-button toggle between the two modes (similar to factorio's toggle between showing and hiding outputs/contents).

Map navigation
Here the usage of movement keys would simply scroll you around as normal the same way it does in the current game where a fortress is unpaused and no menus are open. This would be what all movement keys controls when in the right 'alt' mode.

Mouse control
Clicking anywhere with the mouse during keyboard selection would pause and override keyboard control, the selection being remembered when reasonable.

Designation/placement
Using any of the movement keys in designation mode would activate the cursor with our beloved x or whatever other marker is decided on. Placement is fairly obvious, just move the item around.

Look/inspect
This would need to be worked into the game to have a cursor that functions like the mouse hover in the current state of the game. Either through a hotkey or through movement keys with the alt modifier while in map focus.


Window control

Open/close and focus
When you press a window hotkey, if the window isn't open you open that window and if it's open but not focused you would focus that window. There would be a discrete highlight on the border of the focused window to show which window is currently in focus. If it's already open and focused, I'd consider just removing focus from the window to the default map focus. Removing focus should also be possible with 'esc'. If you want it closed you could use 'shift' together with the hotkey for that specific window regardless of focus.

Window navigation
We start with the top left button of the focused window being marked without highlight and when we use the movement keys to navigate through the grid the highlight would appear. 'pgup', 'pgdown', 'home' and 'end' should also behave as expected.

Tab switching
'Tab' to scroll right through tabs, 'shift+tab' to scroll left, shouldn't be too many tabs to go through in most normal cases.

Sub-hotkeys
I'm assuming we'll still need a plethora of new hotkeys to remember for specific windows/menus but that's just part of the Urist way of life. Obvious examples are designations and buildings, and these are examples where using your mouse to navigate is in no way quicker or simpler than pressing 'dd' or 'bwc'.
Logged