Establish Default Keyboard Shortcuts

Sadly it going to have to be QWERTY base since that is the market majority that people use. However, if you want to create a keyboard layout for DVORAK keyboards, you can create one for it. Then we could provide the configuration file on our Wiki Documentation for users to download. Maybe in the future we could add a setting in preferences to adjust for DVORAK keyboards, but one thing a time for now.

Okay I have the cells in the spreadsheet that are changed marked in Blue if anybody is wondering.

There’s no reason to be specific to either QWERTY or Dvorak. Just have keys with semantic letters like L for Layers etc.
Shift+Ctrl+Z for Redo is a hassle, I’d have to use two hands. It used to be Y, that was good.

Single keys without modifiers are nicer for sure. All the major tools should use those IMO, and there should be some brush control too. My priority list for single press keystrokes, most important 1st:

  1. Emergency cancel current tool to default tool (Escape, but that’s hardwired!)
  2. View translation (cursor keys, also hardwired)
  3. Brush recall hotkeys (0 and 19)
  4. Show Layers Panel (currently L) (I’d almost like this as a popup, in a way!)
  5. Drawing tools, in the following order of priority:
    1. Freehand (P currently)
    2. Inking (no key right now)
    3. Circles and Ellipses (O currently)
    4. Fill (no current key)
    5. Lines and Curves (K currently)
    6. Connected Lines (J currently)
  6. Pop-up brush chooser. (B right now)
  7. Pop-up paint colour chooser (currently C for all, and V for the one-click subset - overkill?)
  8. Pick Color (R now)
  9. Eraser mode (E right now)
  10. Pick Brush (W now)
  11. Brush Size (currently D and F)
  12. Mirror Horizontally (currently I)
  13. Paint colour in HCY: luma (currently no keys)
  14. Paint colour in HCY: hue and chroma too (currently no keys)
  15. Brush Opacity (Currently A and S)

(Might not be complete)

Key 1 thru 9, and 0 are used for brush setting hotkeys. Those would be difficult to change.

There are positional elements like A,S,D,F and to a lesser extent J,K and C, V, B in the MyPaint keymap, but that’s almost a historic accident: those are sets in common between QWERTZ and QWERTY. I’m happy to stick with this for less important keys, noting that they tend to come in pairs that need to be closely positioned. BTW there is no globally good choice for “semantic” (initial?) letter coding either when you consider translations.

(To head off one line of thought: hotkeys probably should not be marked as translatable. That way lies a huge mess where every translator needs to make the decision we’re making right now for themself.)

MyPaint can also distinguish between both the top number keys and the Numpad keys. So we could also assign some of the navigation functions to those keys as well. Kinda like how Blender works with it’s navigation, except for a 2D space instead of a 3D space.

Okay, I’ve made some more changes to the proposed keyboard shortcuts. Let me know your guys thoughts on this since I did made a lot of changes. Plus I need suggestions on what keys to use for resting the mirror, rotation, and zoom. I thought about using the Numpad keys, but I don’t know.

Here is also copy of my accelmap.conf file if you want to test them out on your copy of MyPaint.

@Sandra my reasoning for changing the undo and redo was mainly the fact those two are basically hardwired to not only ctrl+Z and ctrl+Y, but also Shift+Ctrl+Z respectively. So in the end having Z and Y also do Undo and Redo is just redundant. The bright side it freed up space so I can assign the I for the inking tool and shift the mirror shortcut keys over one. The Z key I have no idea what to do with it yet since MyPaint has a different way of handling zoom.

  • I don’t mind switching from Y to Ctrl-Y to redo (undo I’ve already mapped to right-click)
  • But I do mind the mirroring shortcuts “shifting over”; y isn’t adjacent to i nor u on my keyboard.
  • Also, I don’t have any way to send numpad signals. That’s a big hassle in Blender; where I’ve changed my config so that the view switching uses the regular keys and I have to click to do layer stuff.

For zooming, again, . and , are great.

Mypaint, as it is, is the most comfortable graphics program I have when it comes to keyboard shortcuts. So much better than Inkscape, Blender and Gimp, all three of which I also use. Some of these changes are a step in the wrong direction for me.

I’ve went ahead and revert the change for the mirror keys and just assigned the inking tool to the Y key. Maybe an idea in the future would be to have a option in the preference window to switch different keyboard layout and adjust the shortcuts accordingly.

@Sandra If I give you edit status on the document, could you add your proposed shortcut keys for DEVORAK keyboards?

Okay I found that I can protect ranges of cells on the spreadsheet. So I open the document to the public so people can type in their suggestions. So @Sandra you should be able put your keyboard suggestions for DVORAK keyboards.

Disagree. Semantic letters are okay for some things, but for core things, the functions most accessed need to be all within reach of a single hand. For example, I have 1 as undo, 2 as redo, ` to cycle color history, A to zoom in and Z to zoom out, 6 and Y to make brush bigger/smaller
(Colemak layout)

In a sense any ‘default’ config has to be pretty bad (lowest common denominator) in order to match people’s expectations as novices; at least, for the most common functions.

It’s ‘Dvorak’ (no e)
On the subject of corrections, ‘Preview’ is spelt ‘Preview’ but cells A109 + A110 spell it ‘Preveiw’

Of the currently “locked in” set, the only one I find dubious is Shift+Ctrl+E for Export. To me, this [requiring a three-key chord) says ‘export is a dangerous or destructive operation that the user really shouldn’t be able to do accidentally’. Not true. Though I acknowledge the value of matching Inkscape and GIMP, I maintain that it was a poor choice for them too.

This is in stark contrast with ‘clear current layer content’, which -is- destructive but is on Delete. Shift+Ctrl+N for ‘convert to normal mode’ is a much better example of matching level of destructiveness with difficulty of execution.

I am also wondering whether 10 ‘brush presets’ are actually used by anybody? Personally, I have difficulty remembering more than 6. If nobody is using that many, perhaps we could reduce the number of slots that have shortcuts by default?
This might seem like a strict nerf (since there aren’t any functions that could map in an obvious way to the freed up numeric shortcuts), but IMO it would effectively reduce the amount that a person thinks they need to think about, which is definiitely good for a newbie.

I just edited ‘Propose shortcuts’ section with some shortcuts for Insert point, Simplify Points, Cull Points

Thanks for listening to us about this.
I don’t have Google account :frowning:

A and Z are on the opposite side of Dvorak keyboard; not easy to do with one hand. The only keys that are the same on Dvorak and QWERTY are A and M, and, on some version of Dvorak, the numbers.

In summary, mypaint’s keyboard shortcuts were perfect (except that stuff was missing). I’m happy with Y becoming inking and Redo moving to Ctrl-Y.

Things are already pretty much on one hand, if I move the hand over to the middle of the keyboard. Putting the left index finger on h (QWERTY’s J), I can easily reach h, d,f,y,u,i etc. It’s not perfect but it’s a million times better than Blender, Inkscape and Gimp. Dvorak’s , and . are where QWERTY’s w and e are, so they’re on the left hand as well. Very good.
I use Blender a lot and it’s a pain, so hopelessly QWERTYfied.

Now, if all the world could switch to Dvorak… :stuck_out_tongue:

Now, Emacs I’ve never had a problem with (I started using Emacs in senior high, i.e. after I’ve already used Dvorak for a while). Because it’s all P for previous line, N for next line, B for back, F for forward etc. The problem is that it’s designed for two-hand use, where graphics programs necessarily need to be designed for one hand use. I have the pen in my right hand and the keyboard on the left.

What are left-ish keys on both? A, E, 12345… that’s pretty much it :frowning:

And while this might sound as me being opposed to change for the sake of being opposed to change, I’m VERY used to hitting Ctrl+Shift+E for export and delete for delete. When I want to export, I’m zoomed out, taking a look at the image, relaxed, thinking in terms of filenames and such decisions. I can put my pinky on Ctrl and Shift, and hit E with my long finger. Delete on the other hand, I use all the time and in the quickness and graphical-thinking-mode of drawing. Love the whole Delete, Shift-Del, Ctrl-Del trifecta.

Don’t change
I want to leave z and x as undo and redo in mypaint. I hate ctrl z. Mypaint must be simple, i don’t want to break my hand with ctrl z. Wow, why i have x as redo? Hmm… Ok, i think that z and x best for undo and redo.
Also i’m using d and f for size of the brush.
R for color picking.
I think that default keybindings in mypaint are good. i like them.

Can be changed
Mirroring - i’m using button on my tablet, so it will be good if key for this actions are same as in other programs.
I’m using - and + on the numpad for zoom in and zoom out. So i’m not using ‘,’ and ‘.’ keybinding.

P.S. There are my proposal for quick undo and redo. I changed undo to Z, redo to X. Leaved C and Shift+C to color change. And used V to color history. But now there are no layer visibility keybinding. Hmm…

Is the possibility of remapping the keys possible to add?

You can already change the keys in the preferences.

Sadly for my reason above, I think MyPaint is going to stick to using Ctrl+Z and Ctrl+Y for Undo and Redo as default. However these are just defaults and can be changed in the Edit Preferences Window so they are not set in stone.

Okay I did make a couple of more changes after playing around with them. if no one has any suggestions by Wendsday, I’m going to lock down the list and begin implementing them. So by MyPaint 1.3.0, the default keyboard shortcuts will be different.

Just FYI I don’t have anything to use for the Z key so if any of you have a suggestion, let me know.

If you don’t know where to use z, then leave z for undo and redo for ctrl+y. Undo is one of the most usable actions. It must stay simple even if it have another combination. And maybe we can wait 2-3 months, maybe somebody else will tell his opinion.

That would only conflict with Photoshop and it’s weird Alt+Ctrl+Z behaviour for multiple undos.

@zb13y One issue with using one key for one action and a combination of keys for a second action related to the first one is the unintuitiveness of it, as well as how much you’ll have to stretch to hit Ctrl+Y due to your hand being homed in on z for undos.

Today is the last day before the Default keyboard shortcuts are locked in and we move on to the next phase. So if you guys have any more last suggestions, now is the time to state them. Especially if you want any of the Color Panels to have a shortcut key.

I think that ‘fast subset’ is the most important color changer to have a default shortcut for, which we do currently.

I’m against using Insert for the inking tool; I think that inserting new layers is a more prominent usage than the ink tool. Same reasoning as before: the current Ctrl+PageDown|Up makes it seem like inserting a new layer should be harder than inserting a new point, which seems dubious (almost everyone will add layers at some point, not everyone will even use the inking tool).

I think also that only one of ‘Insert painting layer (above | below) current layer’ should be shortcutted; Perhaps I am wrong, but I expect that most users want to insert layer above the current one 80+% of the time, and we would be more considerate of them to give them one shortcut and expect them to move the layer manually in the 20% case, than to give them two to remember (of which the second is likely to be hard to remember because of how rarely it is used)

Mysteriously, I agree with you : a (key, ctrl+other_key) combo for related actions is difficult to remember. Adjacent keys with the same modifier is best IMO (eg [z, a], or [ctrl+z, ctrl+a])