RSS/Atom feed Twitter
Site is read-only, email is disabled

Sub-modes for shortcuts

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

1 of 1 message available
Toggle history

Please log in to manage your subscriptions.

Sub-modes for shortcuts Valerie VK 11 Apr 05:43
Valerie VK
2007-04-11 05:43:07 UTC (about 17 years ago)

Sub-modes for shortcuts

Thanks to Sven for pointing out that I initially posted in the wrong place! Also, I haven't used Gimp 2.3 yet, so I apologize if I'm repeating things that are already inside.

Basically, while checking out Inkscape, I misunderstood its shortcut system at first and thought that the "space" button toggles between a general shortcut mode and a tool-specific shortcut mode. Back then, I thought: "What a great idea!" (It turned out that "Selector" just meant "Selection tool", whoops).

I think something like this could be usable in Gimp though. Such a system would free up many modifier keys and thus allow more functions to be accessed by keyboard (I'll take this occasion to say that I love Gimp's configurable shortcut system to death. Thumbs up to the developers!)

I can personally think of 2 major possibilities:

(by the way, I'm pretty aware that F1 is normally used for "help." I'd move it to F12 though, but that's just me)

1. Use the function keys to toggle between tool modes, where applicable.

This is basically a tool-centric approach. With this approach, most shortcuts remain the same. You just reserve the F keys for active tool options.

Everything works as it currently does, except function keys modify the mode of the current active tool. Examples: - for a selection tool, F1 gives the normal mode, F2 the inclusion mode, F3 the exclusion mode and F4 the intersect mode. And I wouldn't mind an F5 for a fast total selection edit mode... - for the path tool, F1 gives design mode, F2 gives Edit mode, F3 Move mode.
- other function keys can be programmed to chosen states. This could be especially useful for paintbrush settings: you can chose F1 for a normal brush with pressure sensitivity, F2 for a multiply brush with fade-out, and so on. If only the modes get modified, it's still fine.

In the case of the selection tool for example, such an implementation would free up all the modifier keys for shape considerations instead. Possibilities include:
- Shift: constrain shape (to square or sphere) - Alt: move selection and content
- Shift+Alt: move only selection
- Ctrl: selection from center outwards - etc?

Same with path tool and the likes: more shortcuts are freed up. It might confuse some users at first, but then again, my experience is that people either take their time to learn shortcuts, or never use them at all... Ideally you can access these tool-specific shortcuts by a button in the Tool options tab, where you can create custom values as well.

Pros: It's relatively simple in usage, as it doesn't differ from the current interface by That much. It frees up modifier keys to a point. Cons: It doesn't increase the number of options by that much.

2. Use the function keys to toggle between major tool types.

This is a function-centric approach, with major functions including Paint, Selection, Text, Path... You can access a functions mode using the appropriate F button, or with a specific command while using a tool of that nature, or with a drop down menu (see image). Within each mode, the shortcuts change to offer the maximum amount of options suiting that particular task. Each set is modifiable though.

Drop-down menu: http://img213.imageshack.us/img213/6582/shortcutmodeslr8.png

Example: You press say... the space bar, while using a selection tool, or you just press F2, to access the Selection mode. You press another function button to access paint mode, or press the space bar while using a paint tool. This may be somewhat confusing, so here are two rough mock-ups to give you an idea (they're very rough. When I say 1 etc, I mean the [1] key):

Selection mode: http://img182.imageshack.us/img182/3268/selectiongx6.png Paint mode: http://img170.imageshack.us/img170/9599/paintmodeak4.png

Note: I presented it this way to make things clearer. You can add just about any function and assign them just about any shortcut though. Default values would try to use schemes as consistent as possible though, while users would be encouraged to follow them as well. This means using Alt when varying tool parameters, Ctrl for tool transformations, etc.

Of course, users can add in shortcuts for other tools or filters in any mode as well, like start a shortcut for the crop tool or for the Unsharp Mask filter while in Selection mode, etc.

In the same way, in a Paint mode, you can configure shortcuts for paint modes and the likes. Note some of the suggested modifiers usages: size, transparency, etc. The idea is that you hold down the key and drag the mouse right and left to increase or decrease the value manually. A small number appears by the side to tell you of the current value (eg: 66% for transparency). But that's another story.

When you access a mode, the current mode must be indicated in some corner. Again, you can edit the shortcuts for each mode. At the same time, you can create your own mode (perhaps based on existing ones).

Pros: It allows you to access much more options for any given type of task, and allows you to set more intuitive shortcuts for each. Cons: It could take some getting used to, since this approach is quite different from the current tool-centric approach.

By the way, IF you consider any of the above, here's another one: make layers, channels and the likes into "pseudo-tools" with their own shortcut sub-sets. For example, it'd allow you to press l for layers, then use other shortcuts to modify layer information such as mode, transparency, visibility of this layer or of "all other layers" (for those who want to see a layer on its own), etc.

Anyway, these are just suggestions. I don't know much about programming, but they'd probably be hard to implement right now. I'm mostly curious to know your opinions though.

_____________________________________