What I would love in Krita which I use all the time in Clip Studio Paint is the ability to temporarily switch from one tool to another by keeping the shortcut tool pressed. When I use the brush tool for instance and want to quickly do a selection and then continue painting, I can press my selection tool keyboard shortcut key and keep it pressed, make a selection, then release the key again and I am back to my brush tool. This saves a lot of time switching back and forth between tools and would be great to have in Krita.
Sounds like an idea for a simple python plugin: installing event filter, picking given tool when a button is pressed, and picking the brush when the button is released. It’s hard to predict though how it would behave when the key is released in the middle of the action.
This would be great to have in Krita! That feature is one of the things I miss too, as it helps speed up the workflow, and feels satisfying 
I didn’t check yet but I think there’s at least a “select previous tool” shortcut in Krita. I vaguely remember not using it because it was mapped to something that is weird to use on my German keyboard layout, like ] or something. But i could mistake it with another software.
Hi Takiro,
it is not quite the same as select previous tool, as you don’t need to memorize a new shortcut, just the tool you need, keep it pressed to use temporarily, and after that it switches back automatically.
True but could serve as a workaround at least :3
Ok, I wrote it
You can download the first plugin prototype here.
It still requires some configuration - basic knowledge how to install a plugin, changing the tools and shortcuts in it (right now they are just embedded in the code), and removing the shortcuts set in krita normally (they override my plugin)
Here is the list of all possible keys to map, and all the actions can be found using ctrl+f here (do we have some better place with all the actions online? I couldn’t find it on scripting school).
Overall it feels nice to use (much better than I expected), though I tested it only for a minute or two on linux. There are some problems when releasing the key when other modifiers are pressed, but nothing serious so far.
Maybe I’ll even work more on it in the future - double press of the key to switch permanently to a tool, or go back to paint tool (if the tool is already selected) would be great. For now it always goes back to paint tool - it could remember the recently used one, but I think its not very needed…
Thank you wojtryb, I will try if this plugin is working for me!
I made an update 
Pressing long causes the shortcut to work as a modifier (release to go back to paint tool), while short press acts as a toggle (pick a tool permanently, toggle back with another press).
Unluckily there is no way I could reuse shortcuts already in krita, so all of these need to be removed and new shortcuts will have to stay in a plugin file.
Wow this is a super clean and clever hack, and it works remarkably well! I had no idea pyqt was this powerful and had so much control over krita’s UI and interaction.
Hah, after cutting my subwindow organizer plugin, this one feels so simple
There are some things that can’t be done here (like using krita actions, as those cause all key events not to appear, or ctrl modifier having not working correctly when using my ones), but overall that’s a great possibility to prototype some ideas really fast 
SHORTCUTS = [
(Qt.Key_S, “KisToolSelectOutline”),
(Qt.Key_G, “KritaFill/KisToolFill”),
(Qt.Key_A, “KritaShape/KisToolLine”)
]
Please forgive my English and programming level, I made the above shortcut key changes
But “s” and “g” cannot be switched permanently. Do I need to make any changes? Thank you!
“a” works well? Can you confirm that “s” and “g” are not set to any normal action in krita shortcut settings?
How exactly does they behave? Only temporary switch?
The problem has been solved. The previously cancelled shortcut key reappeared and caused this problem. I shut it down completely
The plug-in works well!
So glad to hear that! I know the current configuration is awful, bit it’s the best I could think of (and I don’t feel like writing GUI for that yet)
I recently found this plugin and it is really great, because that is how I normally activated the selection tool in CSP and I missed that when going back to Krita. I tried to get it the access the presets in the Ten Brushes plugin preset(activate_preset_“X”) and it will switch to the preset but it doesn’t switch back to the previous brush unfortunately. Also tried it with the eraser toggle(erase_action) and doesn’t switch back on release and have to hit the key again. Really hoped it would work because I would like to use it with a eraser and blender brush. My programming knowledge is only slightly above “Hello World” lol.
It works properly with the toolbar functions I have tried though.
One question is it an action or a setting in krita that lets you go straight to the liquify brush instead of the defaulting to the free transform mode?
Hi and welcome 
The plugin in this form assumes you’re switching between tools only. Instead of remembering the state before using the action, it just turns on the brush.
I have unpublished, newer version of the plugin that allows to specify those actions in keyboard shortcuts instead of code. I also rewtote the whole logic so that it’s easier to expand it to other things than tools (I thought about eraser and alpha lock, but switching presets should be doable with it too)
Unluckily i can’t tell when I will have time to prepare it for publication.
I don’t think there is an easy way to get a liquify shortcut with python - I think it would require some nasty searching of buttons in tool options docker.
Thanks for the plugin and the quick reply. Just being able to press and release the selection tool was big for me. I was losing hope on it being in krita. I remember a long time ago when I was exploring software options. seeing a post in another forum saying it probably couldn’t be done. I’m glad to see you’re still working on it.
I noticed an update yesterday. Now I can assign shortcuts in the software. But how do I add options like “KisToolSelectContiguous” that I need? I tried to modify and failed… 
My bad - I commited it to master instead of development branch - I didn’t really expect anyone to notice or use this plugin now
(I mean, it’s still better to use the new version, as I thing I removed a rather nasty bug that caused krita to lag with time, but yeah, I still have a few things to do here - mainly about adding other tools).
If you want to do it now - apart from adding it in the plugin itself in TOOLS section, you also need to edit the .action file. Maybe that’s the problem?
On the other hand - it’s probably better to wait a bit more for a next update, as I’ll try to make it easier to add custom shortcuts, or at least make a good README which will help you customize it.