Difference between revisions of "Keyboard profiles"
Latest revision as of 05:48, 13 July 2016
Several people suggested that making keyboard shortcuts user-configurable and providing "profiles" imitating other vector editors. There are currently four categories of shortcuts, and not all of them are equally easy to make user-configurable:
- Global verbs (in shortcuts.cpp): these work everywhere (both in document and in dialogs) except text-editing dialog widgets. They switch tools, zoom, etc.; they should be easy to read from a config file.
- Global context shortcuts (in event-context.cpp): these work in all tools but only within the document window. These are actions that make no sense without a document window, e.g. panning the canvas by ctrl-arrows. These are more tricky to make configurable.
- Per-tool shortcuts (in select-context.cpp, node-context.cpp, etc): these are actions specific to the tool. They are difficult to make configurable, and moreover, many of the actions they trigger would have no exact match in other vector apps.
- Widget shortcuts in dialogs, such as Tab for moving between widgets. I don't know how to change these, and anyway they are mostly standard enough so we don't need to bother with them.
So perhaps as a first step, we can make global verbs configurable and see if this is sufficient to imitate other vector apps well enough.
What is to be done
If you like this idea, you could already start working towards this. Please pick your favorite non-Inkscape vector app and make a list of its shortcuts and corresponding functions. Please also categorize each function into one of the following groups:
1. There is a corresponding function (with the same or different shortcut) in shortcuts.cpp (i.e. this is a global verb in Inkscape).
2. There is no such function in shortcuts.cpp but such a function is listed on the KeyboardShortcuts wiki page (which tracks all shortcuts currently implemented in Inkscape).
3. There's no such function in Inkscape, but it would be relatively straightforward to implement it.
4. There's no such function in Inkscape, and it's not clear how to implement it (i.e. we don't have such a tool, or palette, etc.).
Please use Wiki for creating your lists. You can link your list pages from this page and from under "Interface discussions" on the Wiki front page.