It would be great if there was a way to customize hotkeys. Here's how I see it: * Have a about:hotkeys panel, with all actions listed, and already mapped shortcuts shown. * Whether these should be modifiable or not is up to the dev community, ideally they'd be. * When clicking on a hotkey field, ...
Okay what the fuck is wrong with browsers and having the stupidest hotkeys? NO, I would NOT like a shortcut for saving the webpage as html. Please disable ctrl-s by default!
I just want my backspace key to go back a page in my history when I press it, LIKE IT USED TO BE FOR 20+ YEARS.
But no, this is apparently a "poor UI experience", so I have to put my hand on my mouse, locate the pointer, move it to the back button, and then click.
At least Firefox allows you to rummage around under the hood and set it back.
I bet that's because people trying to type into textbox would sometime defocus, hit back and lose all their text.
At least back should go back if there's no data to lose in the tab !
Yes, if I could I would un-bind all keys, then look at the list of possible actions and devise my own keyboard control scheme to my liking.
And then I should be able to export that to a standardized keybinding file format and carry it with me to other computers and preserve my keybindings.
Games often suffer from the same issue.
I've even made a list of features a keybindings control should have.
Ability to bind multiple keys or key combos to the same action
Ability to delete all keybinds, save keybinds, restore keybinds, undo keybind choice
ability to bind any keyboard, mouse or joystick element to any action
ability to set if the action is HOLD or TOGGLE
ability to bind a key to more than one action
ability to quickly find keybind duplicates
all actions should have an explanatory tooltip message
when binding a key that is already bound elsewhere, there can be a warning, but enter/ok should just bind the key as requested and not unbind the other
there should be a way to set a key which will change the keybinding to another layout (I think they are called keymap layers, this is becoming a builtin keyboard feature)
reset keybinding to default, should not be something that happens by accident
keybind changes should not require pressing "save" for them to take effect
it should be easy to unbind one key from an action and to unbind all keys from an action
setting a keybind should not be annoying (you click the action, press the key, it is bound, don't ask a bunch of questions)
I'd go a step further and say that applications shouldn't implement keyboard shortcuts at all. Ideally there'd be an integration with the OS where the application exposes the available commands and the default key binding.
That way the OS can provide consistent key bindings across all applications, so if you switch Ctrl+C to Meta+C, it just works, and opens up a lot of possibilities for weird accessibility setups, and also opens up room for changes to the keyboards.
It's weird enough as it is if you use dvorak or more regional ones like bépo, and it's not even a different physical keyboard it's just a key layout. We have touchscreens and virtual keyboards, adding a Ctrl and Alt key to a virtual keyboard takes space and it's kinda ridiculous when we could have a nice customization shortcuts ribbon so you have copy/paste and stuff handy. There's also voice inputs.
Input needs to be decoupled from the concept of a keyboard. Steam Input is a good step towards that for games specifically, but it would be amazing as a general system so you can comfortably use Firefox from a game controller and whatnot.
The way you describe it is quite genius as it'd allow the OS to automatically remap shortcuts to stay on the same physical keys when the layout is something other than qwerty by simply mapping the keys twice.
I'd like to expand your idea with virtual shortcuts for common operations. Instead of declaring C to mean copy, the applications would assign the copy operation to the "common copy key" which would then be controlled by the OS.
It'd likely be C by default but the user would be able to change it in one common place for all applications.
What I meant is those virtual shortcuts are all you get, at all. The application declares the shortcuts with an optional suggested key binding for it, but it's up to the OS to ultimately handle the keys and tell the application which shortcut is called for.
That's exactly what Steam Input does: the game specifies actions like "player movement", "jump", "fire", "look" and Steam just sends those values to the game. The game doesn't have to implement mouse, keyboard or controller inputs at all, Steam does it all for you. In return, the game can run with controllers we'll make 10 years from now, and the player can finally just map every single button to their liking, universally. It's so much easier to deal with when thinking of "Ok, so A is jump" rather than "So I want to press A to jump which is X in the game".
Applications shouldn't have to care about how you input stuff, it's ugly and complex, leave it to the operating environment to figure that out for you.
MacOS does this. Basically any action present on an app's global menu can have a key bound to it in system settings.
Not every app exposes its menu to the system however.
Yeah, I've thought that in addition to regular keystrokes operating systems should provide logical events. If I press Ctrl+c don't send Ctrl+c to the application, send Copy (Maybe also with the original keystroke in case it needs to be interpreted "raw" like when using remote desktop software). We sort of have this for keyboard, there are special keys like Mute and Web Browser, but I think we should extend this system for common actions that are basically universal.
I wish gaming companies would get this right at least. More and more, certain actions are hardcoded which begs the question why have rebinding at all if you can't bind things to keys like F or E or so?
And it shouldn't be F or E, but the key that's represents F and E. That way you can change keyboard layout without the keys moving physically. I switch between Dvorak and QWERTY quite a bit (I use Dvorak my kids use QWERTY), so it's particularly important to me since things like Ctrl+C and Ctrl+V are not in convenient places (C is above right middle finger, V is below right ring finger).
Yeah although I would accept that if at least I can rebind everything. I have no clue whether modern keyboards output non-processed signals to an API the game could even interact with (that is, whether you can get a "Key 102 was pressed" instead of "F was pressed").
But I kinda agree, it'd be awesome if things could be done either "by position" or "by letter".
And the very best is still Star Wars Squadrons, which even goes as far as allowing you manual control over it's combo-keys (that is, the same key having different functions based on context). You get to freely choose whether you want to bind:
Individual keys for each functionality.
One combo key.
Both, should you want to.
The sad part is: Yes, that's how it should always work. Keybinding has become such a second-class citizen of game development, it's super sad. And as a lefty, quite annoying.
In particular ctrl+printscreen for a fullscreen immediate screenshot
shift+printscreen is a region screenshot but it takes a video of your region instead of a picture
I use that all the time
The worst thing to me is not just that I can't change the browser defaults, but many actions can be overridden by websites. Like Ctrl+h opens my history on every single site. Except for Google Docs. Why!!! Don't let websites hijack standard hotkeys.
But I would also kill for customizable keyboard shortcuts in general. Especially if I can run custom JS from a shortcut.
I hate that the extra mouse buttons (mouse 4 and 5 I think?) are set to back and forward. Way too many mice are super easy to read on accident, but it's not a big deal because it doesn't do anything except when "gaming" or if you set it up for something specific. Can't tell you how many times I've accidentally gone back.