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**Redesigning the defaults.**
Krita's shortcuts have long been an area of confusion for newcomers.I imagine three design principles: //simplicity for newcomers//, //effectiveness//, Commands should be mnemonic in English whenever possibleand //full coverage//.
Afterward, in addition to following standard CUA-style bindings (C-xwe should make available a standard, C-v,public reference. and so on.) Krita already does the latter.
**Effectiveness.**[[There is an existing shortcut sheet | http://ghevan.deviantart.com/art/Krita-2-8-shortcuts-sheet-Dark-435305013]] but will have to be redesigned for Krita 3.0. Perhaps this can be left to the community, but we should make sure it happens.
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.See T948
**Full coverage**Internal redesign.**
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 Wikie internals should be thoroughly refactored for Krita 3.0.
See T947.
**Internal redesign**Tool command subsystem.**
Krita 3.0 can fully refactorThis system is mostly separated from the internals. See T947.
**Tool command subsystem.**QAction/KisAction part. We could potentially leave it for later.
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?"See T949.
-------
**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
** Integrate with sketch: https://bugs.kde.org/show_bug.cgi?id=331334
** Handle shortcuts within various widgets & dialogs: https://bugs.kde.org/show_bug.cgi?id=353790
** Handle the primary/secondary action system? At least, don't clash with it.
** Make import/export cross platform. This probably needs to come later.
** XMLGUI? display shortcuts on mouse-over whenever possible.
** Engage nicely with the text tool.** See T947
* 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** See T948
* 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=331485Various currently broken behaviors
** 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
------
**A slew of uncategorized bugs** - Be my guest if you want to change any of this or remove some bugs as irrelevantPlease feel free to put these somewhere more useful!
https://bugs.kde.org/show_bug.cgi?id=344333
https://bugs.kde.org/show_bug.cgi?id=346111
https://bugs.kde.org/show_bug.cgi?id=342411
https://bugs.kde.org/show_bug.cgi?id=345226
https://bugs.kde.org/show_bug.cgi?id=332373
https://bugs.kde.org/show_bug.cgi?id=352747
https://bugs.kde.org/show_bug.cgi?id=349501
https://bugs.kde.org/show_bug.cgi?id=332526
https://bugs.kde.org/show_bug.cgi?id=340114
https://bugs.kde.org/show_bug.cgi?id=295151
https://bugs.kde.org/show_bug.cgi?id=332527
https://bugs.kde.org/show_bug.cgi?id=332540
https://bugs.kde.org/show_bug.cgi?id=328552
https://bugs.kde.org/show_bug.cgi?id=330197
https://bugs.kde.org/show_bug.cgi?id=322235
https://bugs.kde.org/show_bug.cgi?id=343401
https://bugs.kde.org/show_bug.cgi?id=345374
https://bugs.kde.org/show_bug.cgi?id=347620
https://bugs.kde.org/show_bug.cgi?id=331371
https://bugs.kde.org/show_bug.cgi?id=196620