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
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
- 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.
- Shift: constrain shape (to square or sphere)
- Alt: move selection and content
- Shift+Alt: move only selection
- Ctrl: selection from center outwards
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.
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 
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.
Looking for earth-friendly autos?
Browse Top Cars by "Green Rating" at Yahoo! Autos' Green Center.
Gimp-developer mailing list