JezK
Edit File: right-handed-illustration.xml
<?xml version="1.0"?> <keys name="Right Handed Illustration"> <!-- The Right Handed Illustration keyboard layout takes the approach that the ideal keyboard setup for a (right-handed) artist using a drawing tablet involves two things: * Never putting down the stylus * Never moving the hand from the keyboard This first version of the layout places most of the tools that one would need under the left hand. If your goal is illustration work or drawing in general, and your primary tool is the Calligraphy or Pencil tool, this may be an optimal set of bindings to use. The left side of the keyboard is configured as follows: 1 - Selection Tool 2 - Bezier Tool Shift-2 - Calligraphy Tool Ctrl-2 - Pencil Tool 3 - Eyedropper 4 - Node Tool K - Paint Bucket Tool Q - Union W - Difference E - Simplify R - Toggle Dialogs Shift-Ctrl-Alt-Q - Set Clipping Path A - Move Selection Up Shift-A - Bring to Front S - Move Selection Down Shift-S - Send to Back D - Undo F - Redo Z - Zoom Out X - Zoom In C - Flip Horizontal V - Flip Vertical Future improvements: * Have a "Delete Node" verb so that one doesn't have to reach for the "Delete" key to delete nodes --> <!-- File --> <bind gaction="win.document-new" keys="<ctrl>n, <ctrl>N" /> <bind gaction="win.document-open" keys="<ctrl>o, <ctrl>O" /> <bind gaction="win.document-save" keys="<ctrl>s, <ctrl>S" /> <bind gaction="win.document-save-as" keys="<ctrl><shift>s, <ctrl><shift>S" /> <bind gaction="win.document-print" keys="<ctrl>p, <ctrl>P" /> <bind gaction="win.document-import" keys="<ctrl>i, <ctrl>I" /> <bind gaction="win.dialog-open('Export')" keys="<ctrl><shift>e, <ctrl><shift>E" /> <bind gaction="win.document-close" keys="<ctrl>w, <ctrl>W" /> <bind gaction="app.quit" keys="<ctrl>q, <ctrl>Q" /> <bind gaction="win.document-revert" /> <bind gaction="win.document-cleanup" /> <!-- Tools --> <bind gaction="win.tool-switch('Select')" keys="F1, 1" /> <bind gaction="win.tool-switch('Node')" keys="F2, 4" /> <bind gaction="win.tool-switch('Zoom')" keys="F3, z, Z, 5" /> <bind gaction="win.tool-switch('Rect')" keys="F4" /> <bind gaction="win.tool-switch('3DBox')" keys="<shift>F4" /> <bind gaction="win.tool-switch('Arc')" keys="F5" /> <bind gaction="win.tool-switch('Star')" keys="<shift>F9, <shift>asterisk, asterisk, KP_Multiply" /> <bind gaction="win.tool-switch('Spiral')" keys="F9, i, I" /> <bind gaction="win.tool-switch('PaintBucket')" keys="K, k" /> <bind gaction="win.tool-switch('Pencil')" keys="F6, <ctrl>2" /> <bind gaction="win.tool-switch('Pen')" keys="<shift>F6, b, B, 2" /> <bind gaction="win.tool-switch('Caligraphic')" keys="<ctrl>F6" /> <bind gaction="win.tool-switch('Caligraphic')" keys="<shift>at, at" /> <bind gaction="win.tool-switch('Text')" keys="F8, t, T" /> <bind gaction="win.tool-switch('Gradient')" keys="<ctrl>F1" /> <bind gaction="win.tool-switch('Connector')" keys="<ctrl>F2, o, O" /> <bind gaction="win.tool-switch('Dropper')" keys="F7, 3, g, G" /> <!-- Zoom --> <bind gaction="win.canvas-zoom-in" keys="plus, <shift>plus, equal, KP_Add, x" /> <bind gaction="win.canvas-zoom-out" keys="minus, KP_Subtract, z" /> <bind gaction="win.canvas-zoom-1-1" keys="KP_1"/> <bind gaction="win.canvas-zoom-1-2" keys="KP_2"/> <bind gaction="win.canvas-zoom-selection" keys="KP_3"/> <bind gaction="win.canvas-zoom-drawing" keys="KP_4"/> <bind gaction="win.canvas-zoom-page" keys="KP_5, 5"/> <bind gaction="win.canvas-zoom-page-width" keys="KP_6"/> <bind gaction="win.canvas-zoom-next" keys="<shift>asciitilde, <shift>grave"/> <!-- ~ --> <bind gaction="win.canvas-zoom-prev" keys="grave"/> <!-- ` --> <!-- View --> <bind gaction="win.view-fullscreen" keys="F11" /> <bind gaction="win.window-next" keys="<ctrl>Tab, <ctrl><shift>ISO_Left_Tab" /> <bind gaction="win.window-previous" keys="<ctrl><shift>Tab, <ctrl>ISO_Left_Tab" /> <bind gaction="win.canvas-rulers" keys="<ctrl>r, <ctrl>R" /> <bind gaction="win.canvas-scroll-bars" keys="<ctrl>b, <ctrl>B" /> <bind gaction="doc.show-all-guides" keys="<shift>bar, bar" /> <!-- | --> <bind gaction="win.canvas-show-grid" keys="<shift>numbersign, numbersign" /> <!-- # --> <bind gaction="win.canvas-display-mode-cycle" keys="<primary>KP_5, <primary>KP_Begin"/> <bind gaction="win.window-new"/> <bind gaction="win.dialog-open('IconPreview')"/> <bind gaction="win.dialog-toggle" keys="F12, r"/> <!-- Edit --> <bind gaction="doc.undo" keys="<ctrl>z, <ctrl>Z, <ctrl><shift>y, <ctrl><shift>Y" /> <bind gaction="doc.undo" keys="d, D" /> <bind gaction="win.redo" keys="<ctrl><shift>z, <ctrl><shift>Z, <ctrl>y, <ctrl>Y" /> <bind gaction="win.redo" keys="f, F" /> <bind gaction="app.cut" keys="<ctrl>x, <ctrl>X" /> <bind gaction="app.copy" keys="<ctrl>c, <ctrl>C" /> <bind gaction="win.paste" keys="<ctrl>v, <ctrl>V" /> <bind gaction="app.paste-style" keys="<ctrl><shift>v, <ctrl><shift>V" /> <bind gaction="win.paste-in-place" keys="<ctrl><alt>v, <ctrl><alt>V" /> <bind gaction="app.delete" keys="Delete, KP_Delete, BackSpace" /> <bind gaction="app.duplicate" keys="<ctrl>d, <ctrl>D" /> <bind gaction="app.clone" keys="<alt>d, <alt>D" /> <bind gaction="app.clone-unlink" keys="<alt><shift>d, <alt><shift>D" /> <bind gaction="app.select-original" keys="<shift>d, <shift>D" /> <bind gaction="win.select-all" keys="<ctrl>a, <ctrl>A" /> <bind gaction="win.select-all-layers" keys="<ctrl><alt>a, <ctrl><alt>A" /> <bind gaction="win.select-invert" keys="exclam, <shift>exclam" /> <bind gaction="win.select-none" /> <bind gaction="app.paste-size" /> <bind gaction="app.paste-width" /> <bind gaction="app.paste-height" /> <bind gaction="app.paste-size-separately" /> <bind gaction="app.paste-width-separately" /> <bind gaction="app.paste-height-separately" /> <!-- Objects/selection --> <bind gaction="app.object-flip-horizontal" keys="c, C" /> <bind gaction="app.object-flip-vertical" keys="v, V" /> <bind gaction="app.selection-top" keys="Home, KP_Home" /> <bind gaction="app.selection-bottom" keys="End, KP_End" /> <bind gaction="app.selection-raise" keys="Page_Up, KP_Page_Up" /> <bind gaction="app.selection-lower" keys="Page_Down, KP_Page_Down" /> <bind gaction="app.selection-top" keys="<shift>a, <shift>A" /> <bind gaction="app.selection-bottom" keys="<shift>s, <shift>S" /> <bind gaction="app.selection-raise" keys="a" /> <bind gaction="app.selection-lower" keys="s" /> <bind gaction="app.selection-group" keys="<ctrl>g, <ctrl>G, <ctrl><shift>u, <ctrl><shift>U" /> <bind gaction="app.selection-ungroup" keys="<ctrl><shift>g, <ctrl><shift>G, <ctrl>u, <ctrl>U" /> <bind gaction="app.selection-make-bitmap-copy" keys="<alt>b, <alt>B" /> <bind gaction="win.dialog-open('Trace')" keys="<alt><shift>b, <alt><shift>B" /> <bind gaction="app.object-to-pattern" keys="<alt>i, <alt>I" /> <bind gaction="app.pattern-to-object" keys="<alt><shift>i, <alt><shift>I" /> <bind gaction="app.object-set-clip" keys="<ctrl><alt><shift>Q, <ctrl><alt><shift>q" /> <bind gaction="app.object-set-clip-mask" /> <bind gaction="app.object-release-clip-mask" /> <bind gaction="app.object-release-clip" /> <!-- FIXME: currently these bypass the verbs, so the verbs are not bound to ctrl+[] as they should be --> <bind gaction="app.object-rotate-90-cw" /> <bind gaction="app.object-rotate-90-ccw" /> <!-- Path --> <bind gaction="app.object-to-path" keys="<ctrl><shift>c, <ctrl><shift>C" /> <bind gaction="app.object-stroke-to-path" keys="<ctrl><alt>c, <ctrl><alt>C" /> <bind gaction="app.path-combine" keys="<ctrl>k, <ctrl>K" /> <bind gaction="app.path-break-apart" keys="<ctrl><shift>k, <ctrl><shift>K" /> <bind gaction="app.path-union" keys="<ctrl>plus, <ctrl>KP_Add, <ctrl><shift>plus" /> <bind gaction="app.path-union" keys="q, Q" /> <bind gaction="app.path-intersection" keys="<ctrl>asterisk, <ctrl>KP_Multiply, <ctrl><shift>asterisk" /> <bind gaction="app.path-difference" keys="<ctrl>minus, <ctrl>underscore, <ctrl><shift>underscore, <ctrl>KP_Subtract, <ctrl><shift>minus" /> <bind gaction="app.path-difference" keys="w, W" /> <bind gaction="app.path-exclusion" keys="<ctrl>asciicircum, <ctrl><shift>asciicircum" /> <!-- ^ --> <bind gaction="app.path-cut" keys="<ctrl><alt>slash, <ctrl><alt><shift>slash" /> <bind gaction="app.path-division" keys="<ctrl>slash, <ctrl><shift>slash" /> <bind gaction="win.path-outset" keys="<ctrl>parenright, <ctrl><shift>parenright, <ctrl><shift>0" /> <bind gaction="win.path-inset" keys="<ctrl>parenleft, <ctrl><shift>parenleft, <ctrl><shift>9" /> <bind gaction="win.path-offset-dynamic" keys="<ctrl>j, <ctrl>J" /> <bind gaction="win.path-offset-linked" keys="<ctrl><alt>j, <ctrl><alt>J" /> <bind gaction="app.path-simplify" keys="<ctrl>l, <ctrl>L, e, E" /> <bind gaction="win.path-reverse" /> <!-- Text --> <bind gaction="app.text-flow-into-frame" keys="<alt>w, <alt>W" /> <bind gaction="app.text-unflow" keys="<alt><shift>w, <alt><shift>W" /> <bind gaction="app.text-put-on-path" /> <bind gaction="app.text-remove-from-path" /> <bind gaction="app.text-convert-to-regular" /> <bind gaction="app.text-unkern" /> <!-- Layers --> <bind gaction="win.layer-raise" keys="<ctrl><shift>Page_Up, <ctrl><shift>KP_Page_Up" /> <bind gaction="win.layer-lower" keys="<ctrl><shift>Page_Down, <ctrl><shift>KP_Page_Down" /> <bind gaction="win.layer-top" keys="<ctrl><shift>Home, <ctrl><shift>KP_Home" /> <bind gaction="win.layer-bottom" keys="<ctrl><shift>End, <ctrl><shift>KP_End" /> <bind gaction="win.selection-move-to-layer-above" keys="<shift>Page_Up, <shift>KP_Page_Up" /> <bind gaction="win.selection-move-to-layer-below" keys="<shift>Page_Down, <shift>KP_Page_Down" /> <bind gaction="win.dialog-open('Layers')" keys="<ctrl><shift>L" /> <bind gaction="win.layer-new" /> <bind gaction="win.layer-rename" /> <bind gaction="win.layer-previous" /> <bind gaction="win.layer-next" /> <bind gaction="win.layer-delete" /> <!-- Dialogs --> <bind gaction="win.dialog-open('FillStroke')" keys="<shift><primary>f" /> <bind gaction="win.dialog-open('ObjectProperties')" keys="<shift><primary>o" /> <bind gaction="win.dialog-open('Symbols')" keys="<shift><primary>y" /> <bind gaction="win.dialog-open('Selectors')" keys="<shift><primary>q" /> <bind gaction="win.dialog-open('Transform')" keys="<shift><primary>m" /> <bind gaction="win.dialog-open('AlignDistribute')" keys="<shift><primary>a" /> <bind gaction="win.dialog-open('UndoHistory')" keys="<primary><shift>h" /> <bind gaction="win.dialog-open('Find')" keys="<primary>f" /> <bind gaction="win.dialog-open('Clonetiler')"/> <bind gaction="win.dialog-open('XMLEditor')" keys="<primary><shift>x" /> <bind gaction="win.dialog-open('Input')" /> <bind gaction="app.preferences" keys="<primary><shift>p, <Meta>comma" /> <bind gaction="win.dialog-open('LivePathEffect')" keys="<primary>ampersand, <primary><shift>7" /> <bind gaction="win.dialog-open('Trace')" keys="<alt><shift>b"/> <bind gaction="win.dialog-open('DocumentProperties')" keys="<primary><shift>d" /> <bind gaction="win.dialog-open('Swatches')" keys="<primary><shift>w" /> <bind gaction="win.dialog-open('Messages')" /> <bind gaction="win.dialog-open('Layers')" keys="<primary><shift>l" /> <bind gaction="win.dialog-open('Text')" keys="<primary><shift>t"/> <bind gaction="win.dialog-open('Spellcheck')" keys="<primary><alt>k"/> <bind gaction="win.dialog-open('Memory')" /> <bind gaction="win.dialog-toggle" keys="F12"/> <!-- Help --> <bind gaction="win.dialog-open('Memory')" /> <bind gaction="app.about" /> <!-- There are also verbs for tutorials, if you really need them --> <!-- Effects --> <bind gaction="app.last-effect" /> <bind gaction="app.last-effect-pref" /> <!-- You can also assign keys to individual effects. The action should be set to he effect id from the .inx file, for example "org.ekips.filter.addnodes" for the Add Nodes effect. --> </keys>