# Description
Plasma is one of the most powerful desktop environments in terms of GUI settings and it allows to e.g. configure not only one but two sets of keyboard shortcuts per action.
However, such configurability depends heavily on organization and discoverability in order to improve User Experience; hence why System Settings required a redesign. Add to that the fact Plasma closely follows the paradigm of always showing keyboard shortcuts on its menus, thus making them discoverable, as mentioned before by @ngraham in his blog posts about UI design.
This redesign should also be done with keyboard shortcuts, which are numerous and whose defaults have been criticized in the past.
I propose an extensive re-evaluation of keyboard shortcuts used in Plasma by i) following RSI-preventive measures as much as possible, ii) using canon keyboard shortcuts whenever they make sense and iii) comparing keyboard shortcuts between applications, DEs and OSes, possibly creating a toggle to enable Windows, OSX, GNOME and i3 keyboard shortcuts quickly on Plasma.
One thing of note, however, is that while this proposed redesign takes heavily into account what users do and their experience with Plasma, this should **NOT** hinder the freedom of developers with regard to keyboard shortcuts. As is the nature of open source, such choices should be **proposed**, **justified** and **decided in a colaborative manner**, especially since developers are oftentimes also users of their own software.
# How we know we succeeded
* Users no longer complain about default keyboard shortcuts
* Keyboard shortcuts are encouraged but not enforced and they are easy to find
* It is easy to transition to Plasma in terms of keyboard shortcuts
* RSI-prevention has been optimized
* Keyboard shortcuts are consistent among KDE applications
# Initial Guidelines
I believe academic reference materials have more prestige/authority for following RSI prevention, and one I'm particularly fond of (despite being relatively old) is this material provided by the University of Nebraska-Lincoln: http://rsi.unl.edu/
As such, I have devised some initial guidelines to follow in order to standardize keyboard shortcuts, as follows:
* Using both hands to do a keyboard shortcut is preferable as it prevents RSI
* Using only one hand is okay, but it **shouldn't** lead to excessive strain
* The key combo should fit the position/format of the hand
* If it's possible to make a combo with one hand, the maximum distance between keys should be no longer than between the pinky and the index OR no longer than between middle finger and thumb
* The combo should be preferably a standardized one (Ctrl+C = copy);
* If not standardized, it should have a semantic association (in Windows for instance, Win+E = **Win**dows **E**xplorer) or be semantically similar to other combos (Super+Up and Super+Down)
* If not standardized or semantically pertinent, it must be physically close (Alt+Tab, Alt+' );
* If not any of the above, it should at least be easy to memorize.
* Arbitrary keyboard shortcuts with no reasoning behind them whatsoever should be avoided whenever possible.
* The combo should preferably have two keystrokes to optimize the number of key presses while also not being accidentally activated
* F1, F2, F3 and others can of course be used with one keystroke as they are physically distant from the "home row"
* A modifier key like Super can of course be used with one keystroke as well since it became standardized like so
* If the key combo is used extensively in the desktop environment, it should follow the aforementioned combo rules (a good example is Alt+Space = krunner, which is one of the most powerful applications in KDE which is really easy and quick to get used to; in GNOME, for instance, setting Alt+Space for the command run dialog is not adequate because of how GNOME encourages usage of GNOME Overview)
* If the key combo is barely used, it should have three or more keystrokes OR be physically distant, so only intermediate/advanced users would know about and access it
* However, **avoid** three or more keystrokes whenever possible
* Semantically, Ctrl should indicate Control, Shift should indicate transfer/movement, Alt should indicate mode change
* It is possible to establish semantic relations with the use of the physical placement/format of keys on the keyboard
* It is impossible to completely avoid arbitrary combos, but it is possible to minimize their use
# Tasks to be done in order to achieve this
# Comparing different desktop environment standards
# Take into account the individuality and independence of developers with regard to how they want to implement keyboard shortcuts
# Decision-making regarding standards
# Evaluating each application
# Applying such changes
# Relevant links
http://rsi.unl.edu/
http://www.tifaq.org/articles/keyboard_retraining-junjul99-kahan&griffin.html
https://pointieststick.com/2018/12/18/on-headerbars/
https://pointieststick.com/2019/03/06/more-on-headerbars-rebuttals/
I am willing to put work into this
Thiago Masato Costa Sueto ( @thiagosueto )
I am interested
add your name