There are many problems with Krita's shortcuts as they currently stand. The 3.0 shift provides an opportunity to re-think the defaults, as well as alter the configuration system itself. This is a head task for several things that could help Krita's shortcut system become an asset instead of a liability.
* **Simplicity for newcomers. **
Krita's shortcuts have long been an area of confusion for newcomers. Commands should be mnemonic in English whenever possible, in addition to following standard CUA-style bindings (C-x, C-v, and so on.) Krita already does the latter.
**Effectiveness.**
Commands that are more common should be bound to letter keys and non-modifier keys. For example, mirror canvas horizontal should be M, because it is extremely common.
**Full coverage.**
This is not to say Krita needs to "copy what Photoshop does," but Photoshop does a good job helping you speed your work by binding tons of commands to the keyboard by default. [[ http://media.mediatemple.netdna-cdn.com/wp-content/uploads/2010/02/shortcuts3.jpg | Each and every letter key has a command, most with alt and control variants, and several function keys are bound as well. ]]
**Make available a standard, public reference.**
[[There is an existing shortcut sheet | http://ghevan.deviantart.com/art/Krita-2-8-shortcuts-sheet-Dark-435305013]] This will have to be updated for Krita 3.0, and made prominent on Krita's website, or prominent on the KDE Wiki.
**Internal redesign.**
Krita 3.0 can fully refactor the internals. See T947.
**Tool command subsystem.**
PrimaryAction/SecondaryAction system is a huge pain problem. Within the code base this is separate from the shortcut system, but that is not something users need to think about - in fact, they should not even see or hear the terms Primary Action / Secondary Action, because they don't mean anything. If we write the configuration dialog again, it should provide options like, "What do you want control modifier to do when you are using the line tool?"
-------
**Bugs**
[[ https://bugs.kde.org/buglist.cgi?bug_status=__open__&content=shortcut&list_id=1303693&order=Importance&product=krita&query_format=specific | I did a search for the word "shortcut" in the KDE bug tracker ]]. I found four general themes in the reports reports.
* Design criteria
** Make import/export simple for users: https://bugs.kde.org/show_bug.cgi?id=335153
** Be loud when detecting duplicate shortcuts, but handle them gracefully: https://bugs.kde.org/show_bug.cgi?id=329663
** Be fully translatable: https://bugs.kde.org/show_bug.cgi?id=344491
* Effectiveness. Commands that are more common should be bound to letter keys and non-modifier keys. For example, mirror canvas horizontal should be M, because it is extremely common.* Integrate with sketch: https://bugs.kde.org/show_bug.cgi?id=331334
* Full coverage. This is not to say Krita needs to "copy what Photoshop does," but Photoshop does a good job helping you speed your work by binding tons of commands to the keyboard by default. [[ http://media.mediatemple.netdna-cdn.com/wp-content/uploads/2010/02/shortcuts3.jpg | Each and every letter key has a command, most with alt and control variants, and several function keys are bound as well. ]]* Handle shortcuts within various widgets & dialogs: https://bugs.kde.org/show_bug.cgi?id=353790
* Make available a standard, public reference. There should one definitive version,** Handle the primary/secondary action system? available on Krita's websiteAt least, or prominent on the KDE Wikidon't clash with it.
* Internal design: either clarify, or redesign. Since Krita has forked KXMLGui there is an opportunity to redesign any aspect of the shortcut configuration system we please. Currently, the default shortcuts are set inside the C++ code and there is no general strategy for how it is supposed to be done, but the information seems to be duplicated in the XML configuration files, and some .action files as well* Make import/export cross platform. Moving shortcuts into external text configuration as much as possible would make it easier for users to create and share their own defaultsThis probably needs to come later.
* Tool command subsystem. PrimaryAction/SecondaryAction system is a huge pain problem. Within the code base this is separate from the shortcut system, but that is not something users need to think about - in fact, they should not even see or hear the terms Primary Action / Secondary Action, because they don't mean anything. If we write the configuration dialog again, it should provide options like, "What do you want control modifier to do when you are using the line tool?"** XMLGUI? display shortcuts on mouse-over whenever possible.
** Engage nicely with the text tool.
* Improve default shortcut configuration
** Every tool should have a default shortcut.
** Existing conflicts: https://bugs.kde.org/show_bug.cgi?id=348033 https://bugs.kde.org/show_bug.cgi?id=329663
** Assign shortcuts to common dockers: https://bugs.kde.org/show_bug.cgi?id=340745
** "Quick add" color to palette: https://bugs.kde.org/show_bug.cgi?id=338009
** Paste into new image: https://bugs.kde.org/show_bug.cgi?id=344750
** Make "deselect" shortcut easier to hit: https://bugs.kde.org/show_bug.cgi?id=351376
* Layers shortcuts
** More shortcuts for layer stack: https://bugs.kde.org/show_bug.cgi?id=302482
** Next/previous layer (includes patch): https://bugs.kde.org/show_bug.cgi?id=336899
** Move layer up/down: https://bugs.kde.org/show_bug.cgi?id=339842
** Another list: https://bugs.kde.org/show_bug.cgi?id=336843
** Toggle layer visibility: https://bugs.kde.org/show_bug.cgi?id=344546
** Isolate layer: https://bugs.kde.org/show_bug.cgi?id=349477
* Existing broken behavior
** XMLGUI? Ctrl+w shortcut cannot be changed: https://bugs.kde.org/show_bug.cgi?id=352205
** XMLGUI? Annoying KDE conflict message box: https://bugs.kde.org/show_bug.cgi?id=347337
** XMLGUI? Krita moves around with alt+drag: https://bugs.kde.org/show_bug.cgi?id=331485
** Make transform tool shortcut better featured: https://bugs.kde.org/show_bug.cgi?id=343565
** Screen flicker: https://bugs.kde.org/show_bug.cgi?id=349497
** Space bar problem https://bugs.kde.org/show_bug.cgi?id=346111
** "Swap color" shortcut interference: https://bugs.kde.org/show_bug.cgi?id=352846
** Shortcuts break when switching keyboard layouts. (Perhaps similar to the cross-platform problem) https://bugs.kde.org/show_bug.cgi?id=333431
** Popup palette problems: https://bugs.kde.org/show_bug.cgi?id=346543 https://bugs.kde.org/show_bug.cgi?id=345055
** Text tool problems: https://bugs.kde.org/show_bug.cgi?id=353809 https://bugs.kde.org/show_bug.cgi?id=346799