summaryrefslogtreecommitdiffstats
path: root/share/keys
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:24:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:24:48 +0000
commitcca66b9ec4e494c1d919bff0f71a820d8afab1fa (patch)
tree146f39ded1c938019e1ed42d30923c2ac9e86789 /share/keys
parentInitial commit. (diff)
downloadinkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.tar.xz
inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.zip
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'share/keys')
-rw-r--r--share/keys/CMakeLists.txt10
-rw-r--r--share/keys/acd-canvas.xml317
-rw-r--r--share/keys/adobe-illustrator-cs2.xml130
-rw-r--r--share/keys/carbon.xml307
-rw-r--r--share/keys/corel-draw-x4.xml192
-rw-r--r--share/keys/corel-draw-x8.xml90
-rw-r--r--share/keys/inkscape.xml358
-rw-r--r--share/keys/macromedia-freehand-mx.xml282
-rw-r--r--share/keys/right-handed-illustration.xml257
-rw-r--r--share/keys/xara.xml253
-rw-r--r--share/keys/zoner-draw.xml172
11 files changed, 2368 insertions, 0 deletions
diff --git a/share/keys/CMakeLists.txt b/share/keys/CMakeLists.txt
new file mode 100644
index 0000000..0d770cd
--- /dev/null
+++ b/share/keys/CMakeLists.txt
@@ -0,0 +1,10 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+file(GLOB _FILES "*.xml")
+install(FILES ${_FILES} DESTINATION ${INKSCAPE_SHARE_INSTALL}/keys)
+
+# install a duplicate of inkscape.xml as default.xml
+# default.xml is the default keymap that will be used by inkscape after installation
+# replace this with a keymap of your own to override the Inkscape default shortcuts
+install(FILES inkscape.xml
+ DESTINATION ${INKSCAPE_SHARE_INSTALL}/keys
+ RENAME default.xml)
diff --git a/share/keys/acd-canvas.xml b/share/keys/acd-canvas.xml
new file mode 100644
index 0000000..12cceef
--- /dev/null
+++ b/share/keys/acd-canvas.xml
@@ -0,0 +1,317 @@
+<?xml version="1.0"?>
+<keys name="ACD Systems Canvas 11">
+
+<!--
+This file contains ACD Systems Canvas 11 keyboard shortcuts. In each "bind" element:
+
+- The "key" attribute contains the key name. The names are the same as those in the
+<gdk/gdkkeysyms.h> header file but without the leading "GDK_". If you don't have GDK
+source locally, you can view that file at:
+
+ http://git.gnome.org/browse/gtk+/plain/gdk/gdkkeysyms.h
+
+- The "modifiers" attribute contains a comma-separated list of modifiers, which can be
+one or more of: "Ctrl", "Shift", "Alt".
+
+In case of conflict, those bindings that come later override those before them. This
+file resides in the share/keys directory of your Inkscape installation, but you may also
+have a default.xml in your personal Inkscape profile directory (e.g. ~/.inkscape
+on Unix). The bindings in that personal file are added to (or, if there's a conflict,
+override) the bindings in the main default.xml.
+-->
+
+<!-- TOOLS -->
+
+<!--
+
+Canvas has somewhat weird system of tools shortcuts. It has 12 groups of tools,
+and a tool from one group can have same shortcut another tool from other group
+has. E.g. both Airbrush, Speaker Notes and Multigon tools have A as shortcut.
+This is so weird for Inkscape that we cannot even emulate that properly :-)
+
+Following tools exist in Canvas and have a shortcut, but are not used in this
+scheme due to reasons explained above and absence of such tools in Inkscape:
+
+Linear Dimensioning Tool - somewhat close to Dimensions+Measure Path
+Knife tool - K
+Hand tool - Spacebar works in Inkscape anyway, so not using it
+
+Wand tool - W
+Lasso tool - L
+Remote Move tool - V - actually. Ctrl+Selector do this one-direction-shift-only
+Eraser tool - E
+Marker tool - H
+Airbrush tool - A
+Neon tool - T
+Bucket tool - K
+
+Blur tool - F
+Sharpen tool - Q
+Rubber Stamp tool - S
+Smudge tool - U
+Dodge - O
+Burn - N
+Sponge - D
+Red Eye Reduction - R
+Polygon tool - P
+Reshape - E (you select an object and draw freehand lines to add/subtract from this path)
+Speaker Notes - A
+Scissor tool - C
+-->
+
+ <bind gaction="win.tool-switch('Select')" keys="S, s" />
+
+<!--
+ <bind gaction="win.tool-switch('Node')" keys="F2, n, N" />
+
+
+ <bind gaction="win.tool-switch('Tweak')" keys="&lt;shift&gt;F2, w, "W" />
+
+-->
+
+<!--
+ This is actually a trick since in Canvas 11 Ctrl+Spacebar is for zooming in
+ and Ctrl+Shift+Spacebar is for zooming out
+-->
+ <bind gaction="win.tool-switch('Zoom')" keys="&lt;ctrl&gt;space, &lt;ctrl&gt;&lt;shift&gt;space" />
+
+ <bind gaction="win.tool-switch('Rect')" keys="R, r" />
+
+<!-- 3Dbox tool called Cube tool exists in Canvas, but has no shortcut
+ <bind gaction="win.tool-switch('3DBox')" keys="&lt;shift&gt;F4, x, X" />
+-->
+
+<!-- This is called Oval tool -->
+ <bind gaction="win.tool-switch('Arc')" keys="O, o" />
+
+ <bind gaction="win.tool-switch('Star')" keys="A, a" />
+
+<!-- Spiral tools exists in Canvas, but has no shortcut
+ <bind gaction="win.tool-switch('Spiral')" keys="F9, i, I" />
+-->
+
+ <bind gaction="win.tool-switch('Pencil')" keys="P, p, F, f" />
+
+ <bind gaction="win.tool-switch('Pen')" keys="B, b" />
+
+<!-- It's Paintbrush, but... read the explanation above
+ <bind gaction="win.tool-switch('Caligraphic')" keys="&lt;ctrl&gt;B, b" />
+-->
+
+<!-- K is also used for Knife tool, but we don't have it, so using K for bucket fill -->
+ <bind gaction="win.tool-switch('PaintBucket')" keys="&lt;shift&gt;K, k" />
+
+ <bind gaction="win.tool-switch('Text')" keys="T, t" />
+
+ <bind gaction="win.tool-switch('Gradient')" keys="&lt;ctrl&gt;G, g" />
+
+<!-- Canvas has various smart connection lines. Shortcut seems to be missing
+ <bind gaction="win.tool-switch('Connector')" keys="&lt;ctrl&gt;F2, o, O" />
+-->
+
+ <bind gaction="win.tool-switch('Dropper')" keys="I, i" />
+
+<!-- FILE MENU -->
+
+ <bind gaction="win.document-new" keys="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+
+ <bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+
+ <bind gaction="win.document-close" keys="&lt;ctrl&gt;F4" />
+
+ <bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+
+ <bind gaction="win.document-save-as" keys="&lt;ctrl&gt;&lt;shift&gt;s, &lt;ctrl&gt;&lt;shift&gt;S" />
+
+ <bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+
+ <bind gaction="app.quit" keys="&lt;alt&gt;x, &lt;alt&gt;X" />
+
+<!-- EDIT MENU -->
+
+ <bind gaction="doc.undo" keys="&lt;ctrl&gt;z, &lt;ctrl&gt;Z" />
+
+ <bind gaction="doc.redo" keys="&lt;ctrl&gt;&lt;shift&gt;z, &lt;ctrl&gt;&lt;shift&gt;Z" />
+
+<!-- Repeat - Alt+Enter - Inkscape doesn't have it yet -->
+
+ <bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X" />
+
+ <bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C" />
+
+ <bind gaction="win.paste" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V" />
+
+<!-- Paste Into - Ctrl+Shift+V - needs clarification -->
+
+ <bind gaction="app.delete" keys="Delete, KP_Delete" />
+
+<!-- is finding 100% analog to Inkscape's? -->
+
+ <bind gaction="win.dialog-open('Find')" keys="&lt;ctrl&gt;&lt;shift&gt;a, &lt;ctrl&gt;&lt;shift&gt;A" />
+
+ <bind gaction="win.select-all" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+
+ <bind gaction="app.duplicate" keys="&lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+
+<!-- Duplicate With Transform - Ctrl+Shift+D - Inkscape doesn't seem to have straight analog -->
+<!-- Replicate - Ctrl+Alt+D - Inkscape doesn't seem to have straight analog -->
+
+
+<!-- TEXT MENU -->
+
+<!-- we don't seem to have verbs for them:
+Reduce Font Size - Ctrl+Shift+,
+Increase Font Size - Ctrl+Shift+.
+Plain Style - Ctrl+Shift+P
+Bold Style - Ctrl+Shift+B
+Italic Style - Ctrl+Shift+I
+Underline Style - Ctrl+Shift+U
+Strikethrough - Ctrl+Shift+K
+Outline - Ctrl+Shift+O
+Shadow - Ctrl+Shift+W
+Small Caps - Ctrl+Shift+\
+Superscript - Ctrl+Shift+=
+Subscript - Ctrl+Shift+- -->
+
+ <bind gaction="org.inkscape.text.uppercase" keys="&lt;ctrl&gt;braceleft" />
+
+ <bind gaction="org.inkscape.text.lowercase" keys="&lt;ctrl&gt;braceright" />
+
+ <bind gaction="org.inkscape.text.title_case" keys="&lt;ctrl&gt;colon" />
+
+<!-- we don't seem to have verbs for them:
+Right Justification - Ctrl+Shift+R
+Left - Ctrl+Shift+L
+Center - Ctrl+Shift+C
+Full - Ctrl+Shift+F
+Leading -> Tighten - Alt+Shift+Up arrow
+Leading -> Loosen - Alt+Shift+Down arrow
+Kerning -> Tighten - Alt+Shift+Left arrow
+Kerning -> Loosen - Alt+Shift+Right arrow
+Kerning -> Tighten Fine Kerning 0,25 - Ctrl+Alt+Shift+Left arrow
+Kerning -> Loosen Fine Kerning 0,25 - Ctrl+Alt+Shift+Right arrow
+-->
+
+ <bind gaction="win.dialog-open('Text')" keys="&lt;ctrl&gt;T, &lt;ctrl&gt;t" />
+
+<!-- OBJECT MENU -->
+
+<!-- Edit Object... - Ctrl+E (редактирование объекта по контрольным точкам) -->
+
+<!-- "Object Specs...": -->
+
+ <bind gaction="win.dialog-open('ObjectProperties')" keys="&lt;ctrl&gt;I, &lt;ctrl&gt;i" />
+
+ <bind gaction="app.selection-top" keys="&lt;ctrl&gt;F, &lt;ctrl&gt;f" />
+
+ <bind gaction="app.selection-bottom" keys="&lt;ctrl&gt;B, &lt;ctrl&gt;b" />
+
+ <bind gaction="app.selection-raise" keys="&lt;ctrl&gt;bracketleft" />
+
+ <bind gaction="app.selection-lower" keys="&lt;ctrl&gt;bracketright" />
+
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="F6" />
+
+<!-- Move... -->
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;ctrl&gt;m, &lt;ctrl&gt;M, F8" />
+
+ <bind gaction="app.selection-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G" />
+
+ <bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+
+<!-- we don't have individual verbs for locking and unlocking
+Lock - Ctrl+L
+Unlock - Ctrl+K
+-->
+
+<!-- Join? Huh?
+Path -> Join - Ctrl+Alt+J
+-->
+
+ <bind gaction="app.path-simplify" keys="&lt;ctrl&gt;&lt;alt&gt;s, &lt;ctrl&gt;&lt;alt&gt;S" />
+
+<!-- Right now simplification of Bezier curves in Inkscape is destructive:
+Path -> Unsmooth - Ctrl+Alt+U
+-->
+
+<!-- Live Curve Editing is conceptually close to wireframe mode, thus using the verb -->
+ <bind gaction="win.canvas-display-mode-cycle" keys="&lt;ctrl&gt;&lt;alt&gt;l"/>
+
+<!-- LAYOUT MENU -->
+
+<!-- Needs checking
+Display -> Size - Shift+F8
+-->
+
+ <bind gaction="win.canvas-show-grid" keys="&lt;shift&gt;F9" />
+
+ <bind gaction="win.canvas-rulers" keys="&lt;shift&gt;F11" />
+
+ <bind gaction="doc.show-all-guides" keys="&lt;shift&gt;F6" />
+
+<!-- EEK! Inkscape has no pages!
+Display -> Page Breaks - F10
+
+But then we don;t need this too :)
+
+Display -> Refresh - F5
+-->
+
+<!-- No named views at this time
+Views -> New... - Ctrl+Alt+N
+-->
+
+ <bind gaction="win.canvas-zoom-in" keys="&lt;shift&gt;&lt;alt&gt;KP_Add"/>
+
+ <bind gaction="win.canvas-zoom-out" keys="&lt;shift&gt;&lt;alt&gt;KP_Subtract"/>
+
+<!-- This is "Home View" in Canvas's terminology -->
+ <bind gaction="win.canvas-zoom-1-1" keys="F3"/>
+
+<!-- Views -> Fit to Window - Shift+F3
+ <bind gaction="win.canvas-zoom-drawing" keys="4, 5, KP_5" />
+-->
+
+<!-- Not implemented
+Views -> Zoom... - Ctrl+/ (переход в статусную строку с клавиатуры для ввода зума ручками)
+-->
+
+<!-- Sending users to Document Properties for defining measure unit used in rulers -->
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="F11, &lt;ctrl&gt;&lt;alt&gt;bracketleft, &lt;ctrl&gt;&lt;shift&gt;F9, &lt;ctrl&gt;&lt;shift&gt;F7" />
+
+
+<!-- EFFECTS MENU -->
+
+<!--Rotate tab in Transformation dialog is the answer -->
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;ctrl&gt;r, &lt;ctrl&gt;R" />
+
+<!--
+ Not sure what to do with this one.
+ Basically it's skew mode of our Selector tool
+
+ Freeform - Ctrl+Alt+F (skew)
+-->
+
+<!-- This is not interactive Blend tool, but something close. Yay for LPE :) -->
+ <bind gaction="org.ekips.filter.interp.ekips" keys="&lt;ctrl&gt;&lt;alt&gt;b, &lt;ctrl&gt;&lt;alt&gt;B" />
+
+<!--
+ "Combine..." dialog (Ctrl+Alt+C) provides boolean ops.
+ There are no shortcuts for them in Canvas
+-->
+
+<!-- This is not interactive Envelope tool, but something close. Yay for LPE :) -->
+ <bind gaction="org.ekips.filter.perspective.ekips" keys="&lt;ctrl&gt;&lt;alt&gt;v, &lt;ctrl&gt;&lt;alt&gt;V" />
+
+<!-- This is not interactive Extrusion tool, but something close. Yay for LPE :) -->
+
+ <bind gaction="org.ekips.filter.motion.ekips" keys="&lt;ctrl&gt;&lt;alt&gt;e, &lt;ctrl&gt;&lt;alt&gt;E" />
+
+<!-- IMAGE MENU -->
+
+<!-- Not implemented in Inkscape:
+Select -> Hide Edges - Ctrl+Shift+E -->
+
+ <bind gaction="win.document-import" keys="&lt;ctrl&gt;&lt;alt&gt;i, &lt;ctrl&gt;&lt;alt&gt;I" />
+
+</keys>
diff --git a/share/keys/adobe-illustrator-cs2.xml b/share/keys/adobe-illustrator-cs2.xml
new file mode 100644
index 0000000..e52428b
--- /dev/null
+++ b/share/keys/adobe-illustrator-cs2.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>
+<keys name="Adobe Illustrator" xmlns:xi="http://www.w3.org/2001/XInclude">
+
+<!-- inherit -->
+<xi:include href="inkscape.xml" />
+
+<!--
+This file contains a profile of keyboard shortcuts for Inkscape in the
+style of Adobe Illustrator CC 2020. If the binding is not specified here, it
+is still the Inkscape default. In case of conflict, these bindings override
+those from the Inkscape defaults.
+
+See default.xml for more information.
+-->
+
+<!-- File -->
+
+ <bind gaction="win.document-dialog-templates" keys="&lt;primary&gt;&lt;shift&gt;n" />
+
+ <!-- Revert -->
+ <bind gaction="win.document-revert" keys="&lt;primary&gt;&lt;alt&gt;z" />
+
+ <!-- Place -->
+ <bind gaction="win.document-import" keys="&lt;primary&gt;&lt;shift&gt;p" />
+
+<!-- Tools -->
+
+ <!-- Selection (arrow) tool + Free Transform Tool -->
+ <bind gaction="win.tool-switch('Select')" keys="v, e" />
+
+ <!-- Direct Selection tool -->
+ <bind gaction="win.tool-switch('Node')" keys="a" />
+
+ <!-- Warp/Pucker/Bloat/Wrinkle tool -->
+ <bind gaction="win.tool-switch('Tweak')" keys="&lt;shift&gt;r" />
+
+ <!-- Pen tool -->
+ <bind gaction="win.tool-switch('Pen')" keys="p" />
+
+ <!-- Type tool -->
+ <bind gaction="win.tool-switch('Text')" keys="t" />
+
+ <!-- Rectangle tool -->
+ <bind gaction="win.tool-switch('Rect')" keys="m" />
+
+ <!-- Ellipse tool -->
+ <bind gaction="win.tool-switch('Arc')" keys="l" />
+
+ <!-- Paintbrush tool -->
+ <bind gaction="win.tool-switch('Caligraphic')" keys="b" />
+
+ <!-- Pencil tool -->
+ <bind gaction="win.tool-switch('Pencil')" keys="n" />
+
+ <!-- Eye-dropper tool -->
+ <bind gaction="win.tool-switch('Dropper')" keys="i" />
+
+ <!-- Live Paint Bucket tool -->
+ <bind gaction="win.tool-switch('PaintBucket')" keys="k" />
+
+ <!-- Symbol Sprayer -->
+ <bind gaction="win.tool-switch('Spray')" keys="&lt;shift&gt;s" />
+
+<!-- Zoom -->
+
+ <!-- Zoom in and Out -->
+ <bind gaction="win.canvas-zoom-in" keys="&lt;primary&gt;plus, &lt;primary&gt;equal, &lt;primary&gt;KP_Add"/>
+ <bind gaction="win.canvas-zoom-out" keys="&lt;primary&gt;minus, &lt;primary&gt;underscore, &lt;primary&gt;KP_Subtract"/>
+
+ <!-- Show Artboard -->
+ <bind gaction="win.canvas-zoom-page" keys="&lt;primary&gt;0, &lt;primary&gt;KP_0"/>
+ <!-- Actual Size -->
+ <bind gaction="win.canvas-zoom-1-1" keys="&lt;primary&gt;1, &lt;primary&gt;KP_1"/>
+
+<!-- View -->
+
+ <!--Show Grid Ctrl+" -->
+ <bind gaction="win.canvas-show-grid" keys="&lt;primary&gt;quotedbl" />
+
+ <!-- Toggle Guides -->
+ <bind gaction="doc.show-all-guides" keys="&lt;primary&gt;semicolon" />
+
+ <!-- Toggle Snap -->
+ <bind gaction="win.snap-global-toggle" keys="&lt;primary&gt;&lt;shift&gt;quotedbl, &lt;primary&gt;&lt;alt&gt;apostrophe"/>
+
+ <!-- Toggle View -->
+ <bind gaction="win.canvas-display-mode-cycle" keys="&lt;primary&gt;y"/>
+
+<!-- Edit -->
+
+ <bind gaction="win.paste-in-place" keys="&lt;primary&gt;&lt;shift&gt;b" />
+ <bind gaction="win.select-none" keys="&lt;primary&gt;&lt;shift&gt;a" />
+
+ <bind gaction="app.selection-top" keys="&lt;primary&gt;&lt;shift&gt;bracketright" />
+ <bind gaction="app.selection-bottom" keys="&lt;primary&gt;&lt;shift&gt;bracketleft" />
+
+ <bind gaction="app.selection-raise" keys="&lt;primary&gt;bracketright" />
+ <bind gaction="app.selection-lower" keys="&lt;primary&gt;bracketleft" />
+
+ <!--Object to Guides -->
+ <bind gaction="app.object-to-guides" keys="&lt;primary&gt;5" />
+
+ <!-- Make and Release Clipping Masks -->
+ <bind gaction="app.object-set-clip" keys="&lt;primary&gt;7" />
+ <bind gaction="app.object-release-clip" keys="&lt;primary&gt;&lt;alt&gt;7" />
+
+ <!-- Add new symbol -->
+ <bind gaction="app.clone" keys="F8" />
+
+<!-- Dialog -->
+
+ <!-- Preferences -->
+ <bind gaction="app.preferences" keys="&lt;primary&gt;k" />
+
+ <!-- Document Setup -->
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;primary&gt;&lt;alt&gt;p" />
+
+ <!-- Panel Shortcuts -->
+ <bind gaction="win.dialog-open('Swatches')" keys="F6" />
+ <bind gaction="win.dialog-open('Layers')" keys="F7" />
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;shift&gt;F7" />
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;shift&gt;F8" />
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;primary&gt;F9" />
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;primary&gt;F10" />
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;primary&gt;&lt;shift&gt;F10" />
+ <bind gaction="win.dialog-open('ObjectProperties')" keys="&lt;primary&gt;F11" />
+ <bind gaction="win.dialog-open('Text')" keys="&lt;primary&gt;t" />
+ <bind gaction="win.dialog-open('Text')" keys="&lt;primary&gt;&lt;alt&gt;t" />
+
+</keys>
diff --git a/share/keys/carbon.xml b/share/keys/carbon.xml
new file mode 100644
index 0000000..6cce735
--- /dev/null
+++ b/share/keys/carbon.xml
@@ -0,0 +1,307 @@
+<?xml version="1.0"?>
+<keys name="Inkscape carbon MacOSX">
+
+<!--
+This file contains the Inkscape keyboard shortcuts for MacOSX.
+
+See "inkscape.xml" for information about file structure.
+-->
+
+<!-- ACTIONS -->
+
+ <!-- Base -->
+ <bind gaction="app.inkscape-version" keys="&lt;Shift&gt;v" />
+
+ <!-- Dialog -->
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;primary&gt;&lt;shift&gt;a, &lt;primary&gt;&lt;shift&gt;A" />
+ <bind gaction="win.dialog-open('Clonetiler')" />
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;primary&gt;&lt;shift&gt;d, &lt;primary&gt;&lt;shift&gt;D" />
+ <bind gaction="win.dialog-open('Export')" keys="&lt;primary&gt;&lt;shift&gt;e, &lt;primary&gt;&lt;shift&gt;E" />
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;primary&gt;&lt;shift&gt;f, &lt;primary&gt;&lt;shift&gt;F" />
+ <bind gaction="win.dialog-open('FilterEffects')" />
+ <bind gaction="win.dialog-open('Find')" keys="&lt;primary&gt;f, &lt;primary&gt;F" />
+ <bind gaction="win.dialog-open('Glyphs')" />
+ <bind gaction="win.dialog-open('IconPreview')" />
+ <bind gaction="win.dialog-open('Input')" />
+ <bind gaction="win.dialog-open('LivePathEffect')" keys="&lt;primary&gt;&lt;shift&gt;ampersand, &lt;primary&gt;&lt;shift&gt;7" />
+ <bind gaction="win.dialog-open('Memory')" />
+ <bind gaction="win.dialog-open('Messages')" />
+ <bind gaction="win.dialog-open('ObjectAttributes')" />
+ <bind gaction="win.dialog-open('ObjectProperties')" keys="&lt;primary&gt;&lt;shift&gt;o, &lt;primary&gt;&lt;shift&gt;O" />
+ <bind gaction="win.dialog-open('Objects')" keys="&lt;primary&gt;&lt;shift&gt;l, &lt;primary&gt;&lt;shift&gt;L" />
+ <bind gaction="win.dialog-open('PaintServers')" />
+ <bind gaction="app.preferences" keys="&lt;primary&gt;&lt;shift&gt;p, &lt;primary&gt;&lt;shift&gt;P" />
+ <bind gaction="win.dialog-open('Selectors')" />
+ <bind gaction="win.dialog-open('Spellcheck')" keys="&lt;primary&gt;&lt;alt&gt;k, &lt;primary&gt;&lt;alt&gt;K" />
+ <bind gaction="win.dialog-open('SVGFonts')" />
+ <bind gaction="win.dialog-open('Swatches')" keys="&lt;primary&gt;&lt;shift&gt;w, &lt;primary&gt;&lt;shift&gt;W" />
+ <bind gaction="win.dialog-open('Symbols')" keys="&lt;primary&gt;&lt;shift&gt;y, &lt;primary&gt;&lt;shift&gt;Y" />
+ <bind gaction="win.dialog-open('Text')" keys="&lt;primary&gt;&lt;shift&gt;t, &lt;primary&gt;&lt;shift&gt;T" />
+ <bind gaction="win.dialog-open('Trace')" keys="&lt;alt&gt;&lt;shift&gt;b, &lt;alt&gt;&lt;shift&gt;B" />
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;primary&gt;&lt;shift&gt;m, &lt;primary&gt;&lt;shift&gt;M" />
+ <bind gaction="win.dialog-open('UndoHistory')" keys="&lt;primary&gt;&lt;shift&gt;h, &lt;primary&gt;&lt;shift&gt;H" />
+ <bind gaction="win.dialog-open('XMLEditor')" keys="&lt;primary&gt;&lt;shift&gt;x, &lt;primary&gt;&lt;shift&gt;X" />
+ <bind gaction="win.dialog-toggle" keys="F12" />
+
+ <!-- Tools -->
+ <bind gaction="win.tool-switch('Select')" keys="F1, s, S" />
+ <bind gaction="win.tool-switch('Node')" keys="F2, n, N" />
+
+ <bind gaction="win.tool-switch('Rect')" keys="F4, r, R" />
+ <bind gaction="win.tool-switch('Arc')" keys="F5, e, E" />
+ <bind gaction="win.tool-switch('Star')" keys="&lt;shift&gt;F9, &lt;shift&gt;asterisk, asterisk, KP_Multiply" />
+ <bind gaction="win.tool-switch('3DBox')" keys="&lt;shift&gt;F4, x, X" />
+ <bind gaction="win.tool-switch('Spiral')" keys="F, i, I" />
+
+ <bind gaction="win.tool-switch('Pencil')" keys="F6, p, P" />
+ <bind gaction="win.tool-switch('Pen')" keys="&lt;shift&gt;F6, b, B" />
+ <bind gaction="win.tool-switch('Caligraphic')" keys="&lt;primary&gt;F6, c, C" />
+ <bind gaction="win.tool-switch('Text')" keys="F8, t, T" />
+
+ <bind gaction="win.tool-switch('Gradient')" keys="&lt;primary&gt;F1, g, G" />
+ <bind gaction="win.tool-switch('Mesh')" keys="" />
+ <bind gaction="win.tool-switch('Dropper')" keys="F7, d, D" />
+ <bind gaction="win.tool-switch('PaintBucket')" keys="&lt;shift&gt;F7, u, U" />
+
+ <bind gaction="win.tool-switch('Tweak')" keys="&lt;shift&gt;F2, w, W" />
+ <bind gaction="win.tool-switch('Spray')" keys="&lt;shift&gt;F3, a, A" />
+ <bind gaction="win.tool-switch('Eraser')" keys="&lt;shift&gt;E" />
+ <bind gaction="win.tool-switch('Connector')" keys="&lt;primary&gt;F2, o, O" />
+ <bind gaction="win.tool-switch('LPETool')" keys=""/>
+
+ <bind gaction="win.tool-switch('Zoom')" keys="F3, z, Z" />
+ <bind gaction="win.tool-switch('Measure')" keys="m, M" />
+
+ <!-- Snapping -->
+ <bind gaction="win.snap-global-toggle" keys="percent, &lt;shift&gt;percent"/>
+
+
+ <!-- ROUGHLY IN MENU ORDER -->
+
+ <!-- File -->
+ <bind gaction="win.document-new" keys="&lt;primary&gt;n, &lt;primary&gt;N" />
+ <bind gaction="win.document-dialog-templates" keys="&lt;primary&gt;&lt;alt&gt;n, &lt;primary&gt;&lt;alt&gt;N" />
+ <bind gaction="win.document-open" keys="&lt;primary&gt;o, &lt;primary&gt;O" />
+ <bind gaction="win.document-revert" />
+ <bind gaction="win.document-save" keys="&lt;primary&gt;s, &lt;primary&gt;S" />
+ <bind gaction="win.document-save-as" keys="&lt;primary&gt;&lt;shift&gt;s, &lt;primary&gt;&lt;shift&gt;S" />
+ <bind gaction="win.document-save-copy" keys="&lt;primary&gt;&lt;shift&gt;&lt;alt&gt;s, &lt;primary&gt;&lt;shift&gt;&lt;alt&gt;S" />
+ <bind gaction="win.document-import" keys="&lt;primary&gt;i, &lt;primary&gt;I" />
+ <bind gaction="win.document-print" keys="&lt;primary&gt;p, &lt;primary&gt;P" />
+ <bind gaction="win.document-cleanup" />
+ <bind gaction="win.document-close" keys="&lt;primary&gt;w, &lt;primary&gt;W" />
+ <bind gaction="app.quit" keys="&lt;primary&gt;q, &lt;primary&gt;Q" />
+
+ <!-- Edit -->
+ <bind gaction="doc.undo" keys="&lt;primary&gt;z, &lt;primary&gt;Z" /> <!--Do not put in Primary,Shift+Y, already used-->
+ <bind gaction="doc.redo" keys="&lt;primary&gt;&lt;shift&gt;z, &lt;primary&gt;&lt;shift&gt;Z, &lt;primary&gt;y, &lt;primary&gt;Y" />
+ <bind gaction="app.cut" keys="&lt;primary&gt;x, &lt;primary&gt;X, &lt;shift&gt;Delete" />
+ <bind gaction="app.copy" keys="&lt;primary&gt;c, &lt;primary&gt;C, &lt;primary&gt;Insert" />
+ <bind gaction="win.paste" keys="&lt;primary&gt;v, &lt;primary&gt;V, &lt;shift&gt;Insert" />
+ <bind gaction="app.paste-style" keys="&lt;primary&gt;&lt;shift&gt;v, &lt;primary&gt;&lt;shift&gt;V" />
+ <bind gaction="win.paste-in-place" keys="&lt;primary&gt;&lt;alt&gt;v, &lt;primary&gt;&lt;alt&gt;V" />
+ <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" />
+ <bind gaction="app.duplicate" keys="&lt;primary&gt;d, &lt;primary&gt;D" />
+ <bind gaction="app.clone" keys="&lt;alt&gt;d, &lt;alt&gt;D" />
+ <bind gaction="app.clone-unlink" keys="&lt;alt&gt;&lt;shift&gt;d, &lt;alt&gt;&lt;shift&gt;D" />
+ <bind gaction="app.clone-unlink-recursively" />
+ <bind gaction="app.clone-link" />
+ <bind gaction="app.clone-link-lpe" />
+ <bind gaction="app.select-original" keys="&lt;shift&gt;d, &lt;shift&gt;D" />
+ <bind gaction="app.selection-make-bitmap-copy" keys="&lt;alt&gt;b, &lt;alt&gt;B" />
+ <bind gaction="app.delete" keys="Delete, KP_Delete, BackSpace" />
+ <bind gaction="app.page-fit-to-selection" keys="&lt;primary&gt;&lt;shift&gt;r, &lt;primary&gt;&lt;shift&gt;R" />
+
+ <!-- Select -->
+ <bind gaction="win.select-all" keys="&lt;primary&gt;a, &lt;primary&gt;A" />
+ <bind gaction="win.select-all-layers" keys="&lt;primary&gt;&lt;alt&gt;a, &lt;primary&gt;&lt;alt&gt;A" />
+ <bind gaction="win.select-same-fill-and-stroke" />
+ <bind gaction="win.select-same-fill"/>
+ <bind gaction="win.select-same-stroke-style" />
+ <bind gaction="win.select-same-object-type" keys="&lt;shift&gt;&lt;alt&gt;a, &lt;shift&gt;&lt;alt&gt;A" />
+ <bind gaction="win.select-invert" keys="exclam, &lt;shift&gt;exclam" />
+ <bind gaction="win.select-none" keys="Escape" />
+
+ <!-- View -->
+ <!-- Canvas Transform -->
+ <bind gaction="win.canvas-zoom-in" keys="&lt;primary&gt;plus, &lt;primary&gt;equal, KP_Add" />
+ <bind gaction="win.canvas-zoom-out" keys="&lt;primary&gt;minus, &lt;primary&gt;underscore, KP_Subtract" />
+ <bind gaction="win.canvas-zoom-1-1" keys="&lt;primary&gt;1, KP_1" />
+ <bind gaction="win.canvas-zoom-1-2" keys="&lt;primary&gt;2, KP_2" />
+ <bind gaction="win.canvas-zoom-2-1" />
+ <bind gaction="win.canvas-zoom-selection" keys="&lt;primary&gt;3, KP_3" />
+ <bind gaction="win.canvas-zoom-drawing" keys="&lt;primary&gt;4, KP_4" />
+ <bind gaction="win.canvas-zoom-page" keys="&lt;primary&gt;5, KP_Begin, KP_5" />
+ <bind gaction="win.canvas-zoom-page-width" keys="&lt;primary&gt;6, &lt;primary&gt;e, KP_6" />
+ <bind gaction="win.canvas-zoom-center-page" />
+ <bind gaction="win.canvas-zoom-prev" keys="&lt;primary&gt;grave, KP_8" /> <!-- ` -->
+ <bind gaction="win.canvas-zoom-next" keys="&lt;shift&gt;grave, &lt;shift&gt;asciitilde, KP_9" /> <!-- ~ -->
+ <bind gaction="win.canvas-rotate-cw" />
+ <bind gaction="win.canvas-rotate-ccw" />
+ <bind gaction="win.canvas-rotate-reset" />
+ <bind gaction="win.canvas-rotate-lock" />
+ <bind gaction="win.canvas-flip-horizontal" />
+ <bind gaction="win.canvas-flip-vertical" />
+ <bind gaction="win.canvas-flip-reset" />
+
+ <!-- Canvas Mode -->
+ <bind gaction="win.canvas-display-mode(0)" /> <!-- Normal -->
+ <bind gaction="win.canvas-display-mode(1)" /> <!-- Outline -->
+ <bind gaction="win.canvas-display-mode(2)" /> <!-- No Filters -->
+ <bind gaction="win.canvas-display-mode(3)" /> <!-- Visible Hairlines -->
+ <bind gaction="win.canvas-display-mode(4)" /> <!-- Outline Overlay -->
+ <bind gaction="win.canvas-display-mode-cycle" keys="&lt;primary&gt;KP_5"/>
+ <bind gaction="win.canvas-display-mode-toggle" />
+ <bind gaction="win.canvas-split-mode(0)" /> <!-- None -->
+ <bind gaction="win.canvas-split-mode(1)" keys="&lt;primary&gt;KP_6"/> <!-- Split -->
+ <bind gaction="win.canvas-split-mode(2)" keys="&lt;alt&gt;KP_6"/> <!-- X-Ray -->
+ <bind gaction="win.canvas-color-mode" keys="&lt;alt&gt;KP_5"/> <!-- Gray Scale -->
+ <bind gaction="win.canvas-color-manage" />
+
+ <!-- View - Other -->
+ <bind gaction="win.canvas-show-grid" keys="&lt;shift&gt;numbersign, numbersign" /> <!-- # -->
+ <bind gaction="doc.show-all-guides" keys="&lt;shift&gt;bar, bar" /> <!-- | -->
+ <bind gaction="win.canvas-commands-bar" />
+ <bind gaction="win.canvas-snap-controls-bar" />
+ <bind gaction="win.canvas-tool-control-bar" />
+ <bind gaction="win.canvas-toolbox" />
+ <bind gaction="win.canvas-rulers" keys="&lt;primary&gt;r, &lt;primary&gt;R" />
+ <bind gaction="win.canvas-scroll-bars" keys="&lt;primary&gt;b, &lt;primary&gt;B" />
+ <bind gaction="win.canvas-palette" keys="&lt;shift&gt;&lt;alt&gt;p, &lt;shift&gt;&lt;alt&gt;P" />
+ <bind gaction="win.canvas-statusbar" />
+ <bind gaction="win.canvas-command-palette" keys="question" />
+ <bind gaction="win.window-previous" keys="&lt;primary&gt;&lt;shift&gt;Tab, &lt;primary&gt;&lt;shift&gt;ISO_Left_Tab" />
+ <bind gaction="win.window-next" keys="&lt;primary&gt;grave, &lt;primary&gt;ISO_Left_Tab" />
+ <bind gaction="win.window-new" />
+ <bind gaction="win.view-fullscreen" keys="F11" />
+
+ <!-- Layers -->
+ <bind gaction="win.layer-new" keys="&lt;primary&gt;&lt;shift&gt;N, &lt;primary&gt;&lt;shift&gt;n" />
+ <bind gaction="win.layer-rename" />
+ <bind gaction="win.layer-hide-toggle" />
+ <bind gaction="win.layer-lock-toggle" />
+ <bind gaction="win.layer-previous" keys="&lt;primary&gt;Page_Up, &lt;primary&gt;KP_Page_Up" />
+ <bind gaction="win.layer-next" keys="&lt;primary&gt;Page_Down, &lt;primary&gt;KP_Page_Down" />
+ <bind gaction="win.selection-move-to-layer-above" keys="&lt;shift&gt;Page_Up, &lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.selection-move-to-layer-below" keys="&lt;shift&gt;Page_Down, &lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.selection-move-to-layer" />
+ <bind gaction="win.layer-top" keys="&lt;primary&gt;&lt;shift&gt;Home, &lt;primary&gt;&lt;shift&gt;KP_Home" />
+ <bind gaction="win.layer-raise" keys="&lt;primary&gt;&lt;shift&gt;Page_Up, &lt;primary&gt;&lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.layer-lower" keys="&lt;primary&gt;&lt;shift&gt;Page_Down, &lt;primary&gt;&lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.layer-bottom" keys="&lt;primary&gt;&lt;shift&gt;End, &lt;primary&gt;&lt;shift&gt;KP_End" />
+ <bind gaction="win.layer-duplicate" />
+ <bind gaction="win.layer-delete" />
+ <bind gaction="win.layer-hide-all" />
+ <bind gaction="win.layer-unhide-all" />
+ <bind gaction="win.layer-hide-toggle" />
+ <bind gaction="win.layer-hide-toggle-others" />
+ <bind gaction="win.layer-lock-all" />
+ <bind gaction="win.layer-unlock-all" />
+ <bind gaction="win.layer-lock-toggle" />
+ <bind gaction="win.layer-lock-toggle-others" />
+
+ <!-- Object -->
+ <bind gaction="app.selection-group" keys="&lt;primary&gt;g, &lt;primary&gt;G, &lt;primary&gt;&lt;shift&gt;u, &lt;primary&gt;&lt;shift&gt;U" />
+ <bind gaction="app.selection-ungroup" keys="&lt;primary&gt;&lt;shift&gt;g, &lt;primary&gt;&lt;shift&gt;G, &lt;primary&gt;u, &lt;primary&gt;U" />
+ <bind gaction="app.selection-ungroup-pop" />
+
+ <bind gaction="app.object-set-clip" />
+ <bind gaction="app.object-set-inverse-clip" />
+ <bind gaction="app.object-release-clip" />
+ <bind gaction="app.object-set-clip-mask" />
+ <bind gaction="app.object-set-inverse-mask" />
+ <bind gaction="app.object-release-clip-mask" />
+
+ <bind gaction="app.object-to-pattern" keys="&lt;alt&gt;i, &lt;alt&gt;I" />
+ <bind gaction="app.pattern-to-object" keys="&lt;alt&gt;&lt;shift&gt;i, &lt;alt&gt;&lt;shift&gt;I" />
+
+ <bind gaction="app.object-to-marker" />
+ <bind gaction="app.object-to-guides" keys="&lt;shift&gt;g, &lt;shift&gt;G" />
+
+ <bind gaction="app.selection-top" keys="Home, KP_Home" />
+ <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-bottom" keys="End, KP_End" />
+
+ <bind gaction="app.object-rotate-90-cw" />
+ <bind gaction="app.object-rotate-90-ccw" />
+ <bind gaction="app.object-flip-horizontal" keys="h, H" />
+ <bind gaction="app.object-flip-vertical" keys="v, V" />
+
+ <bind gaction="app.object-align('hcenter pref')" keys="&lt;primary&gt;&lt;alt&gt;h" />
+ <bind gaction="app.object-align('vcenter pref')" keys="&lt;primary&gt;&lt;alt&gt;t" />
+ <bind gaction="app.object-align('bottom pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_2" />
+ <bind gaction="app.object-align('left pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_4" />
+ <bind gaction="app.object-align('hcenter vcenter pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_5" />
+ <bind gaction="app.object-align('right pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_6" />
+ <bind gaction="app.object-align('top pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_8" />
+
+ <bind gaction="win.unhide-all" />
+ <bind gaction="win.unlock-all" />
+
+ <!-- Path -->
+ <bind gaction="app.object-to-path" keys="&lt;primary&gt;&lt;shift&gt;c, &lt;primary&gt;&lt;shift&gt;C" />
+ <bind gaction="app.object-stroke-to-path" keys="&lt;primary&gt;&lt;alt&gt;c, &lt;primary&gt;&lt;alt&gt;C" />
+ <bind gaction="app.path-union" keys="&lt;primary&gt;plus,
+ &lt;primary&gt;&lt;shift&gt;plus,
+ &lt;primary&gt;KP_Add" />
+ <bind gaction="app.path-difference" keys="&lt;primary&gt;minus,
+ &lt;primary&gt;&lt;shift&gt;minus,
+ &lt;primary&gt;underscore,
+ &lt;primary&gt;&lt;shift&gt;underscore,
+ &lt;primary&gt;KP_Subtract" />
+ <bind gaction="app.path-intersection" keys="&lt;primary&gt;asterisk,
+ &lt;primary&gt;&lt;shift&gt;asterisk,
+ &lt;primary&gt;KP_Multiply" />
+ <bind gaction="app.path-exclusion" keys="&lt;primary&gt;asciicircum,
+ &lt;primary&gt;&lt;shift&gt;asciicircum" /> <!-- ^ -->
+ <bind gaction="app.path-division" keys="&lt;primary&gt;slash,
+ &lt;primary&gt;&lt;shift&gt;slash,
+ &lt;primary&gt;KP_Divide" />
+ <bind gaction="app.path-cut" keys="&lt;primary&gt;&lt;alt&gt;slash,
+ &lt;primary&gt;&lt;alt&gt;&lt;shift&gt;slash" />
+ <bind gaction="app.path-combine" keys="&lt;primary&gt;k, &lt;primary&gt;K" />
+ <bind gaction="app.path-break-apart" keys="&lt;primary&gt;&lt;shift&gt;k, &lt;primary&gt;&lt;shift&gt;K" />
+
+ <bind gaction="win.path-inset" keys="&lt;primary&gt;parenleft,
+ &lt;primary&gt;&lt;shift&gt;parenleft,
+ &lt;primary&gt;9,
+ &lt;primary&gt;&lt;shift&gt;9" />
+ <bind gaction="win.path-offset" keys="&lt;primary&gt;parenright,
+ &lt;primary&gt;&lt;shift&gt;parenright,
+ &lt;primary&gt;0,
+ &lt;primary&gt;&lt;shift&gt;0" />
+ <bind gaction="win.path-inset-screen( 1.0)" keys=" &lt;alt&gt;parenleft" />
+ <bind gaction="win.path-offset-screen( 1.0)" keys=" &lt;alt&gt;parenright" />
+ <bind gaction="win.path-inset-screen(10.0)" keys="&lt;primary&gt;&lt;alt&gt;parenleft" />
+ <bind gaction="win.path-offset-screen(10.0)" keys="&lt;primary&gt;&lt;alt&gt;parenright" />
+ <bind gaction="win.path-offset-dynamic" keys="&lt;primary&gt;j, &lt;primary&gt;J" />
+ <bind gaction="win.path-offset-linked" keys="&lt;primary&gt;&lt;alt&gt;j, &lt;primary&gt;&lt;alt&gt;J" />
+
+ <bind gaction="app.path-simplify" keys="&lt;primary&gt;l, &lt;primary&gt;L" />
+ <bind gaction="win.path-reverse" />
+ <bind gaction="app.paste-path-effect" keys="&lt;primary&gt;ampersand, &lt;primary&gt;7" />
+ <bind gaction="app.remove-path-effect" />
+ <bind gaction="win.path-effect-parameter-next" keys="7"/>
+
+ <!-- Text -->
+ <bind gaction="app.text-flow-into-frame" keys="&lt;alt&gt;w, &lt;alt&gt;W" />
+ <bind gaction="app.text-unflow" keys="&lt;alt&gt;&lt;shift&gt;w, &lt;alt&gt;&lt;shift&gt;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" />
+
+ <!-- Effects -->
+ <bind gaction="app.last-effect" keys="&lt;alt&gt;q, &lt;alt&gt;Q" />
+ <bind gaction="app.last-effect-pref" keys="&lt;shift&gt;&lt;alt&gt;q, &lt;shift&gt;&lt;alt&gt;Q" />
+
+ <!-- Help -->
+ <bind gaction="app.about" />
+
+</keys>
diff --git a/share/keys/corel-draw-x4.xml b/share/keys/corel-draw-x4.xml
new file mode 100644
index 0000000..9cb049c
--- /dev/null
+++ b/share/keys/corel-draw-x4.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0"?>
+<keys name="Corel DRAW">
+
+<!--
+This file contains a profile of keyboard shortcuts for Inkscape
+in the style of Corel DRAW.
+
+See default.xml for more information.
+-->
+
+<!-- Tools -->
+
+<!-- Shaper -->
+
+ <bind gaction="win.tool-switch('Node')" keys="F10" />
+
+<!-- Pen -->
+
+ <bind gaction="win.tool-switch('Pen')" keys="F12" />
+
+<!-- Type tool -->
+
+ <bind gaction="win.tool-switch('Text')" keys="F8" />
+
+<!-- Rectangle -->
+
+ <bind gaction="win.tool-switch('Rect')" keys="F6" />
+
+<!-- Ellipse -->
+
+ <bind gaction="win.tool-switch('Arc')" keys="F7" />
+
+<!-- Freehand -->
+
+ <bind gaction="win.tool-switch('Pencil')" keys="F5" />
+
+<!-- Warp/Pucker/Bloat/Wrinkle tool - not in corel
+
+ <bind gaction="win.tool-switch('Tweak')" keys="&lt;shift&gt;R, &lt;shift&gt;r" /> -->
+
+<!-- Fountain Fill - Corel's gradient tool -->
+
+ <bind gaction="win.tool-switch('Gradient')" keys="F11" />
+
+<!-- Eyedropper - no default shortcut yet
+
+ <bind gaction="win.tool-switch('Dropper')" keys="I, i" /> -->
+
+<!-- Paintbucket - no default shortcut yet
+
+ <bind gaction="win.tool-switch('PaintBucket')" keys="M, m" /> -->
+
+<!-- Zoom -->
+
+ <bind gaction="win.tool-switch('Zoom')" keys="Z, z" />
+
+<!-- Spiral -->
+
+ <bind gaction="win.tool-switch('Spiral')" keys="A, a" />
+
+<!-- File actions -->
+
+ <bind gaction="win.document-new" keys="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+ <bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+ <bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+ <bind gaction="win.document-save-as" keys="&lt;ctrl&gt;&lt;shift&gt;s, &lt;ctrl&gt;&lt;shift&gt;S" />
+ <bind gaction="win.document-import" keys="&lt;ctrl&gt;i, &lt;ctrl&gt;I" />
+ <bind gaction="win.dialog-open('Export')" keys="&lt;ctrl&gt;e, &lt;ctrl&gt;E" />
+ <bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+
+<!-- Options dialog - make sure it's correct one -->
+
+ <bind gaction="app.preferences" keys="&lt;ctrl&gt;j, &lt;ctrl&gt;J" />
+
+<!-- Options dialog - make sure it's correct one -->
+
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;alt&gt;Return" />
+
+<!-- Edit actions -->
+
+ <bind gaction="doc.undo" keys="&lt;ctrl&gt;z, &lt;ctrl&gt;Z, &lt;alt&gt;BackSpace" />
+ <bind gaction="doc.redo" keys="&lt;ctrl&gt;&lt;shift&gt;z, &lt;ctrl&gt;&lt;shift&gt;Z" />
+ <bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X, &lt;shift&gt;Delete" />
+ <bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C, &lt;ctrl&gt;Insert" />
+ <bind gaction="win.paste" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V, &lt;shift&gt;Insert" />
+ <bind gaction="app.delete" keys="Delete" />
+ <bind gaction="app.duplicate" keys="&lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+ <bind gaction="win.select-all-layers" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+
+
+<!-- View actions -->
+
+<!--
+ <bind gaction="win.canvas-zoom-in" keys="F2" />
+-->
+
+ <bind gaction="win.canvas-zoom-out" keys="F3" />
+ <bind gaction="win.canvas-zoom-drawing" keys="F4"/>
+ <bind gaction="win.canvas-zoom-page" keys="&lt;shift&gt;F4"/>
+ <bind gaction="win.canvas-zoom-selection" keys="&lt;shift&gt;F2"/>
+
+<!-- Not implemented in Corel? !!!!!!!!!!!!
+
+ <bind gaction="win.canvas-rulers" keys="&lt;ctrl&gt;r, &lt;ctrl&gt;R" />
+ <bind gaction="win.canvas-scroll-bars" keys="&lt;ctrl&gt;b, &lt;ctrl&gt;B" />
+ <bind gaction="doc.show-all-guides" keys="&lt;shift&gt;bar, bar" />
+ <bind gaction="win.canvas-show-grid" keys="&lt;shift&gt;numbersign, numbersign" /> -->
+
+<!-- Toggle View -->
+
+ <bind gaction="win.canvas-display-mode-cycle" keys="&lt;shift&gt;F9"/>
+
+<!-- Path actions -->
+
+ <bind gaction="app.object-to-path" keys="&lt;ctrl&gt;q" />
+ <bind gaction="app.object-to-path" keys="&lt;ctrl&gt;Q" />
+
+ <bind gaction="app.path-combine" keys="&lt;ctrl&gt;l" />
+ <bind gaction="app.path-combine" keys="&lt;ctrl&gt;L" />
+
+ <bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;k" />
+ <bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;K" />
+
+<!-- Not available in Corel? !!!!!!!!!!!!
+
+ <bind gaction="app.path-union" keys="&lt;ctrl&gt;plus, &lt;ctrl&gt;KP_Add, &lt;ctrl&gt;&lt;shift&gt;plus" />
+ <bind gaction="app.path-intersection" keys="&lt;ctrl&gt;asterisk, &lt;ctrl&gt;KP_Multiply, &lt;ctrl&gt;&lt;shift&gt;asterisk" />
+ <bind gaction="app.path-difference" keys="&lt;ctrl&gt;minus, &lt;ctrl&gt;underscore, &lt;ctrl&gt;&lt;shift&gt;underscore, &lt;ctrl&gt;KP_Subtract, &lt;ctrl&gt;&lt;shift&gt;minus" />
+ <bind gaction="app.path-exclusion" keys="&lt;ctrl&gt;asciicircum, &lt;ctrl&gt;&lt;shift&gt;asciicircum" />
+ <bind gaction="app.path-cut" keys="&lt;ctrl&gt;&lt;alt&gt;slash, &lt;ctrl&gt;&lt;alt&gt;&lt;shift&gt;slash" />
+ <bind gaction="app.path-division" keys="&lt;ctrl&gt;slash, &lt;ctrl&gt;&lt;shift&gt;slash" />
+
+-->
+
+<!-- Object actions -->
+
+<!-- Check if it's correct !!!!!!!!!!!!
+
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;ctrl&gt;&lt;shift&gt;f, &lt;ctrl&gt;&lt;shift&gt;F" />
+ <bind gaction="win.dialog-open('Swatches')" keys="&lt;ctrl&gt;&lt;shift&gt;w, &lt;ctrl&gt;&lt;shift&gt;W" />
+
+Shift+F11 Color
+
+-->
+
+ <bind gaction="app.selection-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G" />
+ <bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+
+<!--
+
+Following functionality is available in Inkscapee, but is not accessible via verbs:
+
+Down Nudge Down
+Left Nudge Left
+Right Nudge Right
+Up Nudge Up
+
+Shft+Down Super Nudge Down
+Shft+Left Super Nudge Left
+Shft+Right Super Nudge Right
+Shft+Up Super Nudge Up
+
+Ctrl+Down Micro Nudge Down
+Ctrl+Left Micro Nudge Left
+Ctrl+Right Micro Nudge Right
+Ctrl+Up Micro Nudge Up
+-->
+
+<!-- Needs checking !!!!!!!!!!!!!!
+
+Shft+PageDown To Back of Layer
+Ctrl+End To Back of Page
+Shft+PageUp To Front of Layer
+Ctrl+Home To Front of Page
+
+SelectionToFront: Raise selection to top
+SelectionToBack: Lower selection to bottom
+SelectionRaise: Raise selection one step
+SelectionLower: Lower selection one step
+
+ <bind gaction="app.selection-top" keys="Home, KP_Home" />
+ <bind gaction="app.selection-bottom" keys="End, KP_End" />
+ <bind gaction="app.selection-raise" keys="Pag, KP_Page_Up" />
+ <bind gaction="app.selection-lower" keys="Page_Down, KP_Page_Down" />
+
+-->
+
+<!-- Text actions -->
+
+ <bind gaction="win.dialog-open('Text')" keys="&lt;ctrl&gt;&lt;shift&gt;t, &lt;ctrl&gt;&lt;shift&gt;T" />
+
+</keys>
diff --git a/share/keys/corel-draw-x8.xml b/share/keys/corel-draw-x8.xml
new file mode 100644
index 0000000..f76f4e5
--- /dev/null
+++ b/share/keys/corel-draw-x8.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<keys name="Corel DRAW X8">
+<!--
+This file contains a profile of keyboard shortcuts for Inkscape
+in the style of Corel DRAW X8. See default.xml for more information.
+-->
+
+<!-- File -->
+<bind gaction="win.document-import" keys="&lt;ctrl&gt;i, &lt;ctrl&gt;I" />
+<bind gaction="win.document-new" keys="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+<bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+<bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+<bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+<bind gaction="win.document-save-as" keys="&lt;ctrl&gt;&lt;shift&gt;s, &lt;ctrl&gt;&lt;shift&gt;S" />
+
+<!-- Edit -->
+<bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C" />
+<bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X" />
+<bind gaction="app.delete" keys="Delete" />
+<bind gaction="app.duplicate" keys="&lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+<bind gaction="win.paste-in-place" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V" />
+<bind gaction="doc.redo" keys="&lt;ctrl&gt;&lt;shift&gt;z, &lt;ctrl&gt;&lt;shift&gt;Z" />
+<bind gaction="win.select-all-layers" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+<bind gaction="doc.undo" keys="&lt;ctrl&gt;z, &lt;ctrl&gt;Z" />
+
+<!-- Selection -->
+<bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;k, &lt;ctrl&gt;K" />
+<bind gaction="app.path-combine" keys="&lt;ctrl&gt;l, &lt;ctrl&gt;L" />
+<bind gaction="app.selection-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G" />
+<bind gaction="app.selection-lower" keys="&lt;ctrl&gt;Page_Down" />
+<bind gaction="app.selection-raise" keys="&lt;ctrl&gt;Page_Up" />
+<bind gaction="app.selection-bottom" keys="&lt;ctrl&gt;End" />
+<bind gaction="app.selection-top" keys="&lt;ctrl&gt;Home" />
+<bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+<bind gaction="app.object-stroke-to-path" keys="&lt;ctrl&gt;&lt;shift&gt;q, &lt;ctrl&gt;&lt;shift&gt;Q" />
+
+<!-- Layer -->
+
+
+
+<!-- Object -->
+
+<bind gaction="app.object-to-path" keys="&lt;ctrl&gt;q, &lt;ctrl&gt;Q" />
+
+<!-- Context -->
+
+<bind gaction="app.object-align('hcenter pref')" keys="c, C" />
+<bind gaction="app.object-align('vcenter pref')" keys="e, E" />
+<bind gaction="app.object-align('bottom pref')" keys="b, B" />
+<bind gaction="app.object-align('left pref')" keys="l, L" />
+<bind gaction="app.object-align('right pref')" keys="r, R" />
+<bind gaction="app.object-align('top pref')" keys="t, T" />
+
+<bind gaction="win.tool-switch('Arc')" keys="F7" />
+<bind gaction="win.tool-switch('Eraser')" keys="x, X" />
+<bind gaction="win.tool-switch('Mesh')" keys="m, M" />
+<bind gaction="win.tool-switch('Node')" keys="F10" />
+<bind gaction="win.tool-switch('Pen')" keys="F12" />
+<bind gaction="win.tool-switch('Pencil')" keys="F5" />
+<bind gaction="win.tool-switch('Rect')" keys="F6" />
+<bind gaction="win.tool-switch('Spiral')" keys="A, a" />
+<bind gaction="win.tool-switch('Text')" keys="F8" />
+<bind gaction="win.tool-switch('Zoom')" keys="z, Z" />
+
+<!-- View -->
+
+<bind key="F9" action="FullScreenFocus" display="true" />
+
+<bind gaction="win.canvas-display-mode-cycle" keys="&lt;shift&gt;F9"/>
+<bind gaction="win.canvas-zoom-drawing" keys="F4"/>
+<bind gaction="win.canvas-zoom-in" keys="F2" />
+<bind gaction="win.canvas-zoom-out" keys="F3" />
+<bind gaction="win.canvas-zoom-page" keys="&lt;shift&gt;F4"/>
+<bind gaction="win.canvas-zoom-selection" keys="&lt;shift&gt;F2"/>
+
+<!-- Dialog -->
+
+<bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;alt&gt;Return" />
+<bind gaction="win.dialog-open('Export')" keys="&lt;ctrl&gt;e, &lt;ctrl&gt;E" />
+<bind gaction="win.dialog-open('FillStroke')" keys="F11" />
+<bind gaction="win.dialog-ope('Find')" keys="&lt;ctrl&gt;f, &lt;ctrl&gt;F" />
+<bind gaction="app.preferences" keys="&lt;ctrl&gt;j, &lt;ctrl&gt;J" />
+<bind gaction="win.dialog-open('Text')" keys="&lt;ctrl&gt;&lt;shift&gt;t, &lt;ctrl&gt;&lt;shift&gt;T" />
+<bind gaction="win.dialog-open('Transform')" keys="&lt;alt&gt;F8" />
+
+<!-- Extensions -->
+
+<bind gaction="org.inkscape.help.manual" keys="F1"/>
+
+</keys>
diff --git a/share/keys/inkscape.xml b/share/keys/inkscape.xml
new file mode 100644
index 0000000..d5f4fb6
--- /dev/null
+++ b/share/keys/inkscape.xml
@@ -0,0 +1,358 @@
+<?xml version="1.0"?>
+<keys name="Inkscape default">
+
+<!--
+This file contains the default Inkscape keyboard shortcuts.
+
+========== Actions ==========
+
+- The "keys" attribute contains a comma separated list of shortcuts which can include the
+ modifiers <primary>, <shift>, and/or <alt>. As this is an XML file, '<' and '>' must be
+ replaced by &lt; and &gt;, respectively. The first entry will be listed in menus.
+
+- The "gaction" atribute contains the full action name, including the map name (typically
+ 'app' or 'win').
+
+=========== Notes ===========
+
+This file is inkscape.xml, and in the original installation it is also copied as
+default.xml. The latter is the file that Inkscape reads on startup. If you overwrite
+default.xml with some other keymap file (e.g. xara.xml), you can always restore the
+default keybindings by copying inkscape.xml to default.xml again.
+
+In case of conflict, those bindings that come later override those before them. This
+file resides in the share/keys directory of your Inkscape installation, but you may also
+have a default.xml in your personal Inkscape profile directory (e.g. ~/.config/inkscape
+on Unix). The bindings in that personal file are added to (or, if there's a conflict,
+override) the bindings in the main default.xml.
+-->
+
+ <modifier action="canvas-pan-y" modifiers=""/>
+ <modifier action="canvas-pan-x" modifiers="Shift"/>
+ <modifier action="canvas-zoom" modifiers="Ctrl"/>
+ <modifier action="canvas-rotate" modifiers="Shift,Ctrl"/>
+
+ <modifier action="select-add-to" modifiers="Shift"/>
+ <modifier action="select-in-groups" modifiers="Ctrl"/>
+ <modifier action="select-touch-path" modifiers="Alt"/>
+ <modifier action="select-always-box" modifiers="Shift"/>
+ <modifier action="select-first-hit" modifiers="Ctrl"/>
+ <modifier action="select-force-drag" modifiers="Alt"/>
+ <modifier action="select-cycle" modifiers="Alt"/>
+
+ <modifier action="move-confine" modifiers="Ctrl"/>
+ <modifier action="move-increment" modifiers="Alt"/>
+ <modifier action="trans-confine" modifiers="Ctrl"/>
+ <modifier action="trans-increment" modifiers="Alt"/>
+ <modifier action="trans-off-center" modifiers="Shift"/>
+ <modifier action="trans-snapping" modifiers="Shift"/>
+
+<!-- ACTIONS -->
+
+ <!-- Base -->
+ <bind gaction="app.inkscape-version" keys="&lt;Shift&gt;v" />
+
+ <!-- Dialog -->
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;primary&gt;&lt;shift&gt;a" />
+ <bind gaction="win.dialog-open('Clonetiler')"/>
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;primary&gt;&lt;shift&gt;d" />
+ <bind gaction="win.dialog-open('Export')" keys="&lt;primary&gt;&lt;shift&gt;e" />
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;primary&gt;&lt;shift&gt;f" />
+ <bind gaction="win.dialog-open('FilterEffects')" />
+ <bind gaction="win.dialog-open('Find')" keys="&lt;primary&gt;f" />
+ <bind gaction="win.dialog-open('Glyphs')" />
+ <bind gaction="win.dialog-open('IconPreview')" />
+ <bind gaction="win.dialog-open('Input')" />
+ <bind gaction="win.dialog-open('LivePathEffect')" keys="&lt;primary&gt;ampersand, &lt;primary&gt;&lt;shift&gt;7" />
+ <bind gaction="win.dialog-open('Memory')" />
+ <bind gaction="win.dialog-open('Messages')" />
+ <bind gaction="win.dialog-open('ObjectAttributes')" />
+ <bind gaction="win.dialog-open('ObjectProperties')" keys="&lt;primary&gt;&lt;shift&gt;o" />
+ <bind gaction="win.dialog-open('Objects')" keys="&lt;primary&gt;&lt;shift&gt;l" />
+ <bind gaction="win.dialog-open('PaintServers')" />
+ <bind gaction="app.preferences" keys="&lt;primary&gt;&lt;shift&gt;p, &lt;Meta&gt;comma" />
+ <bind gaction="win.dialog-open('Selectors')" keys="&lt;primary&gt;&lt;shift&gt;q" />
+ <bind gaction="win.dialog-open('Spellcheck')" keys="&lt;primary&gt;&lt;alt&gt;k"/>
+ <bind gaction="win.dialog-open('SVGFonts')" />
+ <bind gaction="win.dialog-open('Swatches')" keys="&lt;primary&gt;&lt;shift&gt;w" />
+ <bind gaction="win.dialog-open('Symbols')" keys="&lt;primary&gt;&lt;shift&gt;y" />
+ <bind gaction="win.dialog-open('Text')" keys="&lt;primary&gt;&lt;shift&gt;t"/>
+ <bind gaction="win.dialog-open('Trace')" keys="&lt;alt&gt;&lt;shift&gt;b"/>
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;primary&gt;&lt;shift&gt;m" />
+ <bind gaction="win.dialog-open('UndoHistory')" keys="&lt;primary&gt;&lt;shift&gt;h" />
+ <bind gaction="win.dialog-open('XMLEditor')" keys="&lt;primary&gt;&lt;shift&gt;x" />
+ <bind gaction="win.dialog-toggle" keys="F12"/>
+
+ <!-- Tools -->
+ <bind gaction="win.tool-switch('Select')" keys="s, F1"/>
+ <bind gaction="win.tool-switch('Node')" keys="n, F2"/>
+
+ <bind gaction="win.tool-switch('Rect')" keys="r, F4"/>
+ <bind gaction="win.tool-switch('Arc')" keys="e, F5"/>
+ <bind gaction="win.tool-switch('Star')" keys="asterisk, &lt;shift&gt;F9, KP_Multiply"/>
+ <bind gaction="win.tool-switch('3DBox')" keys="x, &lt;shift&gt;F4"/>
+ <bind gaction="win.tool-switch('Spiral')" keys="i, F9"/>
+
+ <bind gaction="win.tool-switch('Pencil')" keys="p, F6"/>
+ <bind gaction="win.tool-switch('Pen')" keys="b, &lt;shift&gt;F6"/>
+ <bind gaction="win.tool-switch('Calligraphic')" keys="c, &lt;primary&gt;F6"/>
+ <bind gaction="win.tool-switch('Text')" keys="t, F8"/>
+
+ <bind gaction="win.tool-switch('Gradient')" keys="g, &lt;primary&gt;F1"/>
+ <bind gaction="win.tool-switch('Mesh')" keys=""/>
+ <bind gaction="win.tool-switch('Dropper')" keys="d, F7"/>
+ <bind gaction="win.tool-switch('PaintBucket')" keys="u, &lt;shift&gt;F7"/>
+
+ <bind gaction="win.tool-switch('Tweak')" keys="w, &lt;shift&gt;F2"/>
+ <bind gaction="win.tool-switch('Spray')" keys="a, &lt;shift&gt;F3"/>
+ <bind gaction="win.tool-switch('Eraser')" keys=" &lt;shift&gt;e"/>
+ <bind gaction="win.tool-switch('Connector')" keys="o, &lt;primary&gt;F2"/>
+ <bind gaction="win.tool-switch('LPETool')" keys=""/>
+
+ <bind gaction="win.tool-switch('Zoom')" keys="z, F3"/>
+ <bind gaction="win.tool-switch('Measure')" keys="m"/>
+
+ <!-- Snapping -->
+ <bind gaction="win.snap-global-toggle" keys="percent"/>
+
+
+ <!-- ROUGHLY IN MENU ORDER -->
+
+ <!-- File -->
+ <bind gaction="win.document-new" keys="&lt;primary&gt;n" />
+ <bind gaction="win.document-dialog-templates" keys="&lt;primary&gt;&lt;alt&gt;n" />
+ <bind gaction="win.document-open" keys="&lt;primary&gt;o" />
+ <bind gaction="win.document-revert" />
+ <bind gaction="win.document-save" keys="&lt;primary&gt;s" />
+ <bind gaction="win.document-save-as" keys="&lt;primary&gt;&lt;shift&gt;s" />
+ <bind gaction="win.document-save-copy" keys="&lt;primary&gt;&lt;shift&gt;&lt;alt&gt;s" />
+ <bind gaction="win.document-import" keys="&lt;primary&gt;i" />
+ <bind gaction="win.document-print" keys="&lt;primary&gt;p" />
+ <bind gaction="win.document-cleanup" />
+ <bind gaction="win.document-close" keys="&lt;primary&gt;w" />
+ <bind gaction="app.quit" keys="&lt;primary&gt;q" />
+
+ <!-- Edit -->
+ <bind gaction="doc.undo" keys="&lt;primary&gt;z" />
+ <bind gaction="doc.redo" keys="&lt;primary&gt;&lt;shift&gt;z, &lt;primary&gt;y" />
+ <bind gaction="app.cut" keys="&lt;primary&gt;x, &lt;shift&gt;Delete" />
+ <bind gaction="app.copy" keys="&lt;primary&gt;c, &lt;primary&gt;Insert"/>
+ <bind gaction="win.paste" keys="&lt;primary&gt;v, &lt;shift&gt;Insert"/>
+ <bind gaction="app.paste-style" keys="&lt;primary&gt;&lt;shift&gt;v" />
+ <bind gaction="win.paste-in-place" keys="&lt;primary&gt;&lt;alt&gt;v"/>
+ <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" />
+ <bind gaction="app.duplicate" keys="&lt;primary&gt;d"/>
+ <bind gaction="app.clone" keys="&lt;alt&gt;d" />
+ <bind gaction="app.clone-unlink" keys="&lt;alt&gt;&lt;shift&gt;d" />
+ <bind gaction="app.clone-unlink-recursively" />
+ <bind gaction="app.clone-link" />
+ <bind gaction="app.clone-link-lpe" />
+ <bind gaction="app.select-original" keys="&lt;shift&gt;d" />
+ <bind gaction="app.selection-make-bitmap-copy" keys="&lt;alt&gt;b" />
+ <bind gaction="app.delete" keys="Delete, KP_Delete, BackSpace" />
+ <bind gaction="app.page-fit-to-selection" keys="&lt;primary&gt;&lt;shift&gt;r" />
+
+ <!-- Select -->
+ <bind gaction="win.select-all" keys="&lt;primary&gt;a" />
+ <bind gaction="win.select-all-layers" keys="&lt;primary&gt;&lt;alt&gt;a" />
+ <bind gaction="win.select-same-fill-and-stroke" />
+ <bind gaction="win.select-same-fill" />
+ <bind gaction="win.select-same-stroke-style" />
+ <bind gaction="win.select-same-object-type" keys="&lt;shift&gt;&lt;alt&gt;a" />
+ <bind gaction="win.select-invert" keys="exclam ,&lt;shift&gt;exclam"/>
+ <bind gaction="win.select-none" keys="Escape"/>
+
+ <!-- View -->
+ <!-- Canvas Transform -->
+ <bind gaction="win.canvas-zoom-in" keys="plus, equal, KP_Add" />
+ <bind gaction="win.canvas-zoom-out" keys="minus, underscore, KP_Subtract" />
+ <bind gaction="win.canvas-zoom-1-1" keys="1, KP_1"/>
+ <bind gaction="win.canvas-zoom-1-2" keys="2, KP_2"/>
+ <bind gaction="win.canvas-zoom-2-1" />
+ <bind gaction="win.canvas-zoom-selection" keys="3, KP_3"/>
+ <bind gaction="win.canvas-zoom-drawing" keys="4, KP_4"/>
+ <bind gaction="win.canvas-zoom-page" keys="5, KP_5"/>
+ <bind gaction="win.canvas-zoom-page-width" keys="6, &lt;primary&gt;e, KP_6"/>
+ <bind gaction="win.canvas-zoom-center-page" keys="&lt;primary&gt;4, &lt;primary&gt;KP_4"/>
+ <bind gaction="win.canvas-zoom-prev" keys="grave, KP_8"/> <!-- ` -->
+ <bind gaction="win.canvas-zoom-next" keys="asciitilde, KP_9"/> <!-- ~ -->
+ <bind gaction="win.canvas-rotate-cw" />
+ <bind gaction="win.canvas-rotate-ccw" />
+ <bind gaction="win.canvas-rotate-reset" />
+ <bind gaction="win.canvas-rotate-lock" />
+ <bind gaction="win.canvas-flip-horizontal" />
+ <bind gaction="win.canvas-flip-vertical" />
+ <bind gaction="win.canvas-flip-reset" />
+
+ <!-- Canvas Mode -->
+ <bind gaction="win.canvas-display-mode(0)" /> <!-- Normal -->
+ <bind gaction="win.canvas-display-mode(1)" /> <!-- Outline -->
+ <bind gaction="win.canvas-display-mode(2)" /> <!-- No Filters -->
+ <bind gaction="win.canvas-display-mode(3)" /> <!-- Visible Hairlines -->
+ <bind gaction="win.canvas-display-mode(4)" /> <!-- Outline Overlay -->
+ <bind gaction="win.canvas-display-mode-cycle" keys="&lt;primary&gt;5, &lt;primary&gt;KP_5"/>
+ <bind gaction="win.canvas-display-mode-toggle" />
+ <bind gaction="win.canvas-split-mode(0)" /> <!-- None -->
+ <bind gaction="win.canvas-split-mode(1)" keys="&lt;primary&gt;6, &lt;primary&gt;KP_6"/> <!-- Split -->
+ <bind gaction="win.canvas-split-mode(2)" keys="&lt;alt&gt;6, &lt;alt&gt;KP_6"/> <!-- X-Ray -->
+ <bind gaction="win.canvas-color-mode" keys="&lt;alt&gt;5, &lt;alt&gt;KP_5"/> <!-- Gray Scale -->
+ <bind gaction="win.canvas-color-manage" />
+
+ <!-- View - Other -->
+ <bind gaction="win.canvas-show-grid" keys="&lt;shift&gt;numbersign, numbersign" /> <!-- # -->
+ <bind gaction="doc.show-all-guides" keys="&lt;shift&gt;bar, bar" /> <!-- | -->
+ <bind gaction="win.canvas-commands-bar" />
+ <bind gaction="win.canvas-snap-controls-bar" />
+ <bind gaction="win.canvas-tool-control-bar" />
+ <bind gaction="win.canvas-toolbox" />
+ <bind gaction="win.canvas-rulers" keys="&lt;primary&gt;r" />
+ <bind gaction="win.canvas-scroll-bars" keys="&lt;primary&gt;b" />
+ <bind gaction="win.canvas-palette" keys="&lt;shift&gt;&lt;alt&gt;p" />
+ <bind gaction="win.canvas-statusbar" />
+ <bind gaction="win.canvas-command-palette" keys="question" />
+ <bind gaction="win.window-previous" keys="&lt;ctrl&gt;ISO_Left_Tab" />
+ <bind gaction="win.window-next" keys="&lt;ctrl&gt;Tab, &lt;meta&gt;grave" />
+ <bind gaction="win.window-new" />
+ <bind gaction="win.view-fullscreen" keys="F11, &lt;ctrl&gt;&lt;meta&gt;f" />
+ <bind gaction="win.view-full-screen-focus" keys="&lt;primary&gt;F11" />
+ <bind gaction="win.view-focus-toggle" keys="&lt;shift&gt;F11" />
+
+ <!-- Layers -->
+ <bind gaction="win.layer-new" keys="&lt;primary&gt;&lt;shift&gt;n" />
+ <bind gaction="win.layer-rename" />
+ <bind gaction="win.layer-hide-toggle" />
+ <bind gaction="win.layer-lock-toggle" />
+ <bind gaction="win.layer-previous" keys="&lt;primary&gt;Page_Up, &lt;primary&gt;KP_Page_Up" />
+ <bind gaction="win.layer-next" keys="&lt;primary&gt;Page_Down, &lt;primary&gt;KP_Page_Down" />
+ <bind gaction="win.selection-move-to-layer-above" keys="&lt;shift&gt;Page_Up, &lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.selection-move-to-layer-below" keys="&lt;shift&gt;Page_Down, &lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.selection-move-to-layer" />
+ <bind gaction="win.layer-top" keys="&lt;primary&gt;&lt;shift&gt;Home, &lt;primary&gt;&lt;shift&gt;KP_Home" />
+ <bind gaction="win.layer-raise" keys="&lt;primary&gt;&lt;shift&gt;Page_Up, &lt;primary&gt;&lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.layer-lower" keys="&lt;primary&gt;&lt;shift&gt;Page_Down, &lt;primary&gt;&lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.layer-bottom" keys="&lt;primary&gt;&lt;shift&gt;End, &lt;primary&gt;&lt;shift&gt;KP_End" />
+ <bind gaction="win.layer-duplicate" />
+ <bind gaction="win.layer-delete" />
+ <bind gaction="win.layer-hide-all" />
+ <bind gaction="win.layer-unhide-all" />
+ <bind gaction="win.layer-hide-toggle" />
+ <bind gaction="win.layer-hide-toggle-others" />
+ <bind gaction="win.layer-lock-all" />
+ <bind gaction="win.layer-unlock-all" />
+ <bind gaction="win.layer-lock-toggle" />
+ <bind gaction="win.layer-lock-toggle-others" />
+
+ <!-- Object -->
+ <bind gaction="app.selection-group" keys="&lt;primary&gt;g, &lt;primary&gt;&lt;shift&gt;u" />
+ <bind gaction="app.selection-ungroup" keys="&lt;primary&gt;&lt;shift&gt;g, &lt;primary&gt;u" />
+ <bind gaction="app.selection-ungroup-pop" />
+
+ <bind gaction="app.object-set-clip" />
+ <bind gaction="app.object-set-inverse-clip" />
+ <bind gaction="app.object-release-clip" />
+ <bind gaction="app.object-set-mask" />
+ <bind gaction="app.object-set-inverse-mask" />
+ <bind gaction="app.object-release-mask" />
+
+ <bind gaction="app.object-to-pattern" keys="&lt;alt&gt;i" />
+ <bind gaction="app.pattern-to-object" keys="&lt;alt&gt;&lt;shift&gt;i" />
+
+ <bind gaction="app.object-to-marker" />
+ <bind gaction="app.object-to-guides" keys="&lt;shift&gt;g" />
+
+ <bind gaction="app.selection-top" keys="Home, KP_Home" />
+ <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-bottom" keys="End, KP_End" />
+
+ <bind gaction="app.object-rotate-90-cw" keys="&lt;primary&gt;bracketright" />
+ <bind gaction="app.object-rotate-90-ccw" keys="&lt;primary&gt;bracketleft" />
+ <bind gaction="app.object-flip-horizontal" keys="h" />
+ <bind gaction="app.object-flip-vertical" keys="v" />
+
+ <bind gaction="app.object-align('hcenter pref')" keys="&lt;primary&gt;&lt;alt&gt;h" />
+ <bind gaction="app.object-align('vcenter pref')" keys="&lt;primary&gt;&lt;alt&gt;t" />
+ <bind gaction="app.object-align('bottom pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_2" />
+ <bind gaction="app.object-align('left pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_4" />
+ <bind gaction="app.object-align('hcenter vcenter pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_5" />
+ <bind gaction="app.object-align('right pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_6" />
+ <bind gaction="app.object-align('top pref')" keys="&lt;primary&gt;&lt;alt&gt;KP_8" />
+
+ <!-- Object Transform -->
+ <bind gaction="app.transform-remove" keys="&lt;shift&gt;&lt;alt&gt;t" />
+ <bind gaction="app.transform-scale(2.0)" keys="&lt;primary&gt;period, &lt;primary&gt;greater" />
+ <bind gaction="app.transform-grow-step(1.0)" keys=" period, greater" /> <!-- uses preference step value -->
+ <bind gaction="app.transform-grow-screen(2.0)" keys=" &lt;alt&gt;period, &lt;alt&gt;greater" />
+ <bind gaction="app.transform-scale(0.5)" keys="&lt;primary&gt;comma, &lt;primary&gt;less" />
+ <bind gaction="app.transform-grow-step(-1.0)" keys=" comma, less" /> <!-- shrink -->
+ <bind gaction="app.transform-grow-screen(-2.0)" keys=" &lt;alt&gt;comma, &lt;alt&gt;less" /> <!-- shrink -->
+
+ <bind gaction="win.unhide-all" />
+ <bind gaction="win.unlock-all" />
+
+ <!-- Path -->
+ <bind gaction="app.object-to-path" keys="&lt;primary&gt;&lt;shift&gt;c" />
+ <bind gaction="app.object-stroke-to-path" keys="&lt;primary&gt;&lt;alt&gt;c" />
+ <bind gaction="app.path-union" keys="&lt;primary&gt;plus,
+ &lt;primary&gt;&lt;shift&gt;plus,
+ &lt;primary&gt;KP_Add" />
+ <bind gaction="app.path-difference" keys="&lt;primary&gt;minus,
+ &lt;primary&gt;&lt;shift&gt;minus,
+ &lt;primary&gt;underscore,
+ &lt;primary&gt;&lt;shift&gt;underscore,
+ &lt;primary&gt;KP_Subtract" />
+ <bind gaction="app.path-intersection" keys="&lt;primary&gt;asterisk,
+ &lt;primary&gt;&lt;shift&gt;asterisk,
+ &lt;primary&gt;KP_Multiply" />
+ <bind gaction="app.path-exclusion" keys="&lt;primary&gt;asciicircum,
+ &lt;primary&gt;&lt;shift&gt;asciicircum" /> <!-- ^ -->
+ <bind gaction="app.path-division" keys="&lt;primary&gt;slash,
+ &lt;primary&gt;&lt;shift&gt;slash,
+ &lt;primary&gt;KP_Divide" />
+ <bind gaction="app.path-cut" keys="&lt;primary&gt;&lt;alt&gt;slash,
+ &lt;primary&gt;&lt;alt&gt;&lt;shift&gt;slash" />
+ <bind gaction="app.path-combine" keys="&lt;primary&gt;k" />
+ <bind gaction="app.path-break-apart" keys="&lt;primary&gt;&lt;shift&gt;k" />
+
+ <bind gaction="win.path-inset" keys="&lt;primary&gt;parenleft,
+ &lt;primary&gt;&lt;shift&gt;parenleft,
+ &lt;primary&gt;9,
+ &lt;primary&gt;&lt;shift&gt;9" />
+ <bind gaction="win.path-offset" keys="&lt;primary&gt;parenright,
+ &lt;primary&gt;&lt;shift&gt;parenright,
+ &lt;primary&gt;0,
+ &lt;primary&gt;&lt;shift&gt;0" />
+ <bind gaction="win.path-inset-screen( 1.0)" keys=" &lt;alt&gt;parenleft" />
+ <bind gaction="win.path-offset-screen( 1.0)" keys=" &lt;alt&gt;parenright" />
+ <bind gaction="win.path-inset-screen(10.0)" keys="&lt;primary&gt;&lt;alt&gt;parenleft" />
+ <bind gaction="win.path-offset-screen(10.0)" keys="&lt;primary&gt;&lt;alt&gt;parenright" />
+ <bind gaction="win.path-offset-dynamic" keys="&lt;primary&gt;j"/>
+ <bind gaction="win.path-offset-linked" keys="&lt;primary&gt;&lt;alt&gt;j" />
+
+ <bind gaction="app.path-simplify" keys="&lt;primary&gt;l" />
+ <bind gaction="win.path-reverse"/>
+ <bind gaction="app.paste-path-effect" keys="ampersand, &lt;primary&gt;7" />
+ <bind gaction="app.remove-path-effect"/>
+ <bind gaction="win.path-effect-parameter-next" keys="7"/>
+
+ <!-- Text -->
+ <bind gaction="app.text-flow-into-frame" keys="&lt;alt&gt;w" />
+ <bind gaction="app.text-unflow" keys="&lt;alt&gt;&lt;shift&gt;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" />
+
+ <!-- Effects -->
+ <bind gaction="app.last-effect" keys="&lt;alt&gt;q" />
+ <bind gaction="app.last-effect-pref" keys="&lt;shift&gt;&lt;alt&gt;q" />
+
+ <!-- Help -->
+ <bind gaction="app.about" />
+
+</keys>
diff --git a/share/keys/macromedia-freehand-mx.xml b/share/keys/macromedia-freehand-mx.xml
new file mode 100644
index 0000000..d240def
--- /dev/null
+++ b/share/keys/macromedia-freehand-mx.xml
@@ -0,0 +1,282 @@
+<?xml version="1.0"?>
+<keys name="Macromedia Freehand">
+
+<!--
+This is an alternative set of keyboard shortcuts for Inkscape,
+in the style of Macromedia Freehand.
+This set is intended to help experienced Freehand users get
+started with Inkscape. It is not intended for long term use.
+
+Users are encouraged to learn how to use Inkscape which has more
+comprehensive keyboard shortcuts for all kind of features. Also
+users advised to get directly involved and provide feedback to
+developers on how best to improve the default settings for all users.
+
+Use the Preferences dialog to choose these shortcuts or
+if it doesn't exist yet be sure to check the request tracker and
+encourage the developers to add the option to the user interface.
+In the meantime to manually enable these keyboard shortcuts replace the file
+inkscape/share/keys/default.xml with this file.
+-->
+
+<!--
+Macromedia Freehand MX toplevel menus:
+File, Edit, View, Modify, Text, Xtras, Window, Help.
+-->
+
+<!-- Tools -->
+
+ <!-- Selector (Inkscape). Pointer (Freehand). -->
+ <bind gaction="win.tool-switch('Select')" keys="&lt;shift&gt;F10" />
+ <!-- Holding down the Control (Ctrl) key also toggles back to the Pointer -->
+
+ <!-- Node (Inkscape). Subselect (Freehand). No key shortcut. -->
+ <bind gaction="win.tool-switch('Node')" />
+
+ <bind gaction="win.tool-switch('Rect')" keys="&lt;shift&gt;F1" />
+
+ <!-- Freehand has separate tools for Ellipse and Arc unlike Inkscape. -->
+ <bind gaction="win.tool-switch('Arc')" keys="&lt;shift&gt;F3" />
+
+ <!-- Star (Inkscape). Polygon (Freehand) includes star options. -->
+ <bind gaction="win.tool-switch('Star')" keys="&lt;shift&gt;F8" />
+
+ <!-- Freehand does not use a keybinding for the Spiral tool.
+ Freehand uses F9 for the Reflect Tool. Including anyway for now. -->
+ <bind gaction="win.tool-switch('Spiral')" keys="F9" />
+
+ <bind gaction="win.tool-switch('Pencil')" keys="&lt;shift&gt;F5" />
+
+ <bind gaction="win.tool-switch('Pen')" keys="&lt;shift&gt;F6" />
+ <!-- Freehand does not use a keybinding for the Calligraphic Pen tool.
+ The Calligraphic Pen is hidden under the Pencil tool -->
+
+ <bind gaction="win.tool-switch('Text')" keys="&lt;ctrl&gt;&lt;shift&gt;F9" />
+
+ <!-- Freehand does not include equivalent tool. Fireworks oddly enough
+ has a more advanced gradient tool similar to Inkscape. -->
+ <bind gaction="win.tool-switch('Gradient')" keys="g, G" />
+
+ <!-- Freehand includes a Connector tool but no keybinding for it. -->
+ <bind gaction="win.tool-switch('Connector')" />
+
+ <!-- Freehand includes an Eyedropper tool but no keybinding for it. -->
+ <bind gaction="win.tool-switch('Dropper')" />
+
+<!-- File -->
+
+ <bind gaction="win.document-new" keys="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+
+ <bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+ <bind gaction="win.document-close" keys="&lt;ctrl&gt;w, &lt;ctrl&gt;W" />
+ <bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+ <bind gaction="win.document-save-as" keys="&lt;ctrl&gt;&lt;shift&gt;s, &lt;ctrl&gt;&lt;shift&gt;S" />
+ <bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+ <bind gaction="win.document-import" keys="&lt;ctrl&gt;r, &lt;ctrl&gt;R" />
+ <bind gaction="win.dialog-open('Export')" keys="&lt;ctrl&gt;&lt;shift&gt;r, &lt;ctrl&gt;&lt;shift&gt;R" />
+ <bind gaction="app.quit" keys="&lt;ctrl&gt;q, &lt;ctrl&gt;Q" />
+ <bind gaction="win.document-revert" />
+ <!-- Alt+F4 included, do not assume the Window Manager provides it. -->
+ <bind gaction="app.quit" keys="&lt;alt&gt;F4" />
+
+<!-- Zoom (Inkscape). View, Magnification (Freehand). -->
+
+ <!-- Not included in Freehand but including here anyway for sanity.
+ Fireworks does use Ctrl+= for Zoom In and Ctrl+- for Zoom Out. -->
+ <bind gaction="win.canvas-zoom-in" keys="plus, equal, KP_Add, &lt;shift&gt;plus" />
+
+ <bind gaction="win.canvas-zoom-out" keys="minus, underscore, KP_Subtract" />
+
+ <!-- Fit Selection Ctrl+Alt+0 -->
+ <bind gaction="win.canvas-zoom-selection" keys="&lt;primary&gt;&lt;alt&gt;0"/>
+ <!-- Fit to Page Ctrl+Shift+W -->
+ <bind gaction="win.canvas-zoom-page" keys="&lt;primary&gt;&lt;shift&gt;w"/>
+ <!-- Fit All Ctrl+0 -->
+ <bind gaction="win.canvas-zoom-drawing" keys="&lt;primary&gt;0"/>
+
+ <!-- Magnification 50% Ctrl+5-->
+ <bind gaction="win.canvas-zoom-1-2" keys="&lt;primary&gt;5"/>
+ <!-- Magnification 100% Ctrl+1 -->
+ <bind gaction="win.canvas-zoom-1-1" keys="&lt;primary&gt;1"/>
+ <!-- Magnification 200% Ctrl+2 -->
+ <!-- Magnification 400% Ctrl+4 -->
+ <!-- Magnification 800% Ctrl+8 -->
+
+<!-- View -->
+
+ <!-- Freehand has no direct equivalent. F11 used by Library palette. -->
+ <bind gaction="win.view-fullscreen" />
+
+ <!-- Freehand has a menu item "Toolbars Ctrl+Alt+T" to hide all Toolbars -->
+ <bind gaction="win.canvas-toolbox" keys="&lt;ctrl&gt;&lt;alt&gt;t, &lt;ctrl&gt;&lt;alt&gt;T" />
+
+ <!-- Freehand "View, Panels F4" also Ctrl+Shift+H
+ Fireworks uses "Window, Hide Panels F4" to hide both Panels and Toolbox -->
+ <bind gaction="win.dialog-toggle" keys="F4, &lt;ctrl&gt;&lt;shift&gt;h, &lt;ctrl&gt;&lt;shift&gt;H" />
+
+ <!-- No menu items in Freehand but these do cycle through Windows as expected -->
+ <bind gaction="win.window-next" keys="&lt;ctrl&gt;Tab, &lt;ctrl&gt;&lt;shift&gt;ISO_Left_Tab" />
+ <bind gaction="win.window-previous" keys="&lt;ctrl&gt;&lt;shift&gt;Tab, &lt;ctrl&gt;ISO_Left_Tab" />
+
+ <!-- Rulers off by default. Looks better and cleaner that way, less busy. -->
+ <bind gaction="win.canvas-rulers" keys="&lt;ctrl&gt;&lt;alt&gt;r, &lt;ctrl&gt;&lt;alt&gt;R" />
+
+ <!-- No keybinding or option to toggle Scrollbars. Ctrl+B used for Bold text. -->
+ <bind gaction="win.canvas-scroll-bars" />
+
+ <!-- TODO: Freehand "View, Guides, Show Ctrl+;" -->
+ <!-- <bind gaction="doc.show-all-guides" keys="&lt;ctrl&gt;;" /> -->
+
+ <!-- View, Grid, Show Ctrl+Alt+G. -->
+ <bind gaction="win.canvas-show-grid" keys="&lt;ctrl&gt;&lt;alt&gt;g, &lt;ctrl&gt;&lt;alt&gt;G" />
+ <!-- TODO: View, Grid, Snap to Grid Ctrl+Alt+Shift+G. -->
+
+ <!-- New View in Inkscape is equivalent to New Window in Freehand. -->
+ <bind gaction="win.window-new" keys="&lt;shift&gt;&lt;alt&gt;n, &lt;shift&gt;&lt;alt&gt;N" />
+
+ <bind gaction="win.dialog-open('IconPreview')"/>
+
+ <!-- Freehand also has a Fast Mode Ctrl+Shift+K
+ which can be used in combination with Keyline. -->
+
+<!-- Edit -->
+
+ <bind gaction="doc.undo" keys="&lt;ctrl&gt;z, &lt;ctrl&gt;Z" />
+ <bind gaction="doc.redo" keys="&lt;ctrl&gt;&lt;shift&gt;z, &lt;ctrl&gt;&lt;shift&gt;Z, &lt;ctrl&gt;y, &lt;ctrl&gt;Y" />
+ <bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X" />
+ <bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C" />
+ <bind gaction="win.paste" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V" />
+
+ <!-- TODO -->
+ <!-- Special: Paste Attributes Ctrl+Alt+Shift+V -->
+ <!-- Cut Contents Ctrl+shift+X -->
+ <!-- Paste Contents Ctrl+shift+V -->
+
+ <bind gaction="app.delete" keys="Delete, KP_Delete, BackSpace" />
+ <bind gaction="app.duplicate" keys="&lt;ctrl&gt;&lt;alt&gt;d, &lt;ctrl&gt;&lt;alt&gt;D" />
+ <bind gaction="app.clone" keys="&lt;ctrl&gt;&lt;shift&gt;d, &lt;ctrl&gt;&lt;shift&gt;D" />
+ <bind gaction="win.select-all" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+
+ <!-- Freehand "Edit, Select None Ctrl+D" -->
+ <bind gaction="win.select-none" keys="&lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+
+ <!-- Freehand "Edit, Select All in Document None Ctrl+Shift+A" -->
+ <bind gaction="win.select-all-layers" keys="&lt;ctrl&gt;&lt;shift&gt;a, &lt;ctrl&gt;&lt;shift&gt;A" />
+
+ <bind gaction="win.select-invert" />
+
+<!-- Objects/selection -->
+
+ <bind gaction="app.object-flip-horizontal" keys="h, H" />
+ <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-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G" />
+ <bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;&lt;shift&gt;g, &lt;ctrl&gt;&lt;shift&gt;G" />
+ <bind gaction="app.selection-make-bitmap-copy" keys="&lt;alt&gt;b, &lt;alt&gt;B" />
+ <bind gaction="win.dialog-open('Trace')" keys="&lt;alt&gt;&lt;shift&gt;b, &lt;alt&gt;&lt;shift&gt;B" />
+ <bind gaction="app.object-to-pattern" keys="&lt;alt&gt;i, &lt;alt&gt;I" />
+ <bind gaction="app.pattern-to-object" keys="&lt;alt&gt;&lt;shift&gt;i, &lt;alt&gt;&lt;shift&gt;I" />
+ <bind gaction="app.object-set-clip-mask" />
+ <bind gaction="app.object-release-clip-mask" />
+ <bind gaction="app.object-set-clip" />
+ <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="&lt;ctrl&gt;&lt;shift&gt;c, &lt;ctrl&gt;&lt;shift&gt;C" />
+ <bind gaction="app.object-stroke-to-path" keys="&lt;ctrl&gt;&lt;alt&gt;c, &lt;ctrl&gt;&lt;alt&gt;C" />
+ <bind gaction="app.path-combine" keys="&lt;ctrl&gt;k, &lt;ctrl&gt;K" />
+ <bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;&lt;shift&gt;k, &lt;ctrl&gt;&lt;shift&gt;K" />
+ <bind gaction="app.path-union" keys="&lt;ctrl&gt;plus, &lt;ctrl&gt;KP_Add, &lt;ctrl&gt;&lt;shift&gt;plus" />
+ <bind gaction="app.path-intersection" keys="&lt;ctrl&gt;asterisk, &lt;ctrl&gt;KP_Multiply, &lt;ctrl&gt;&lt;shift&gt;asterisk" />
+ <bind gaction="app.path-difference" keys="&lt;ctrl&gt;minus, &lt;ctrl&gt;underscore, &lt;ctrl&gt;&lt;shift&gt;underscore, &lt;ctrl&gt;KP_Subtract, &lt;ctrl&gt;&lt;shift&gt;minus" />
+ <bind gaction="app.path-exclusion" keys="&lt;ctrl&gt;asciicircum, &lt;ctrl&gt;&lt;shift&gt;asciicircum" /> <!-- ^ -->
+ <bind gaction="app.path-cut" keys="&lt;ctrl&gt;&lt;alt&gt;slash, &lt;ctrl&gt;&lt;alt&gt;&lt;shift&gt;slash" />
+ <bind gaction="app.path-division" keys="&lt;ctrl&gt;slash, &lt;ctrl&gt;&lt;shift&gt;slash" />
+ <bind gaction="win.path-outset" keys="&lt;ctrl&gt;parenright, &lt;ctrl&gt;&lt;shift&gt;parenright, &lt;ctrl&gt;&lt;shift&gt;0" />
+ <bind gaction="win.path-inset" keys="&lt;ctrl&gt;parenleft, &lt;ctrl&gt;&lt;shift&gt;parenleft, &lt;ctrl&gt;&lt;shift&gt;9" />
+ <bind gaction="win.path-offset-dynamic" keys="&lt;ctrl&gt;j, &lt;ctrl&gt;J" />
+ <bind gaction="win.path-offset-linked" keys="&lt;ctrl&gt;&lt;alt&gt;j, &lt;ctrl&gt;&lt;alt&gt;J" />
+ <bind gaction="app.path-simplify" keys="&lt;ctrl&gt;l, &lt;ctrl&gt;L" />
+ <bind gaction="win.path-reverse" />
+
+<!-- Text -->
+
+ <!-- Text, Font, Size, Smaller key="comma" modifiers="Ctrl,Shift" -->
+ <!-- Text, Font, Size, Larger key="period" modifiers="Ctrl,Shift" -->
+
+ <bind gaction="app.text-flow-into-frame" keys="&lt;alt&gt;w, &lt;alt&gt;W" />
+ <bind gaction="app.text-unflow" keys="&lt;alt&gt;&lt;shift&gt;w, &lt;alt&gt;&lt;shift&gt;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 -->
+
+ <!-- Freehand provides only a limited a Layers palette,
+ no menus, no keybindings. -->
+ <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" />
+ <bind gaction="win.layer-raise" />
+ <bind gaction="win.layer-lower" />
+ <bind gaction="win.layer-top" />
+ <bind gaction="win.layer-bottom" />
+ <bind gaction="win.selection-move-to-layer-above" />
+ <bind gaction="win.selection-move-to-layer-below" />
+
+<!-- Dialogs. Freehand has a Window menu listing the various palettes/panels. -->
+
+ <!-- Nothing even remotely equivalent -->
+ <bind gaction="win.dialog-open('XMLEditor')" />
+ <!-- Equivalent exists but no key binding -->
+ <bind gaction="win.dialog-open('DocumentProperties')" />
+
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;ctrl&gt;&lt;alt&gt;a, &lt;ctrl&gt;&lt;alt&gt;A" />
+
+ <!-- No equivalent. Various dialogs.
+ Inkscape will probably move this to Tool options bar anyway. -->
+ <bind gaction="win.dialog-open('Text')" />
+
+ <bind gaction="app.preferences" keys="&lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+
+ <!-- Object Panel is the closest equivalent in Freehand -->
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;ctrl&gt;F3" />
+ <bind gaction="win.dialog-open('ObjectProperties')" />
+
+ <!-- Freehand has a separate find and replace for Text and Graphics -->
+ <!-- Edit, Find And Replace, Graphics Ctrl+F -->
+ <bind gaction="win.dialog-ope('Find')" keys="&lt;ctrl&gt;f, &lt;ctrl&gt;F" />
+ <!-- Edit, Find And Replace, Text Ctrl+Shift+F -->
+ <bind gaction="win.dialog-ope('Find')" keys="&lt;ctrl&gt;&lt;shift&gt;f, &lt;ctrl&gt;&lt;shift&gt;F" />
+
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;ctrl&gt;m, &lt;ctrl&gt;M" />
+
+ <!-- Swatches in Freehand is a sub-tab of the Assets Panel. -->
+ <bind gaction="win.dialog-open('Swatches')" keys="&lt;ctrl&gt;F9" />
+
+ <!-- DialogsToggle (Hide Panels), see above in the View menu section -->
+
+<!-- Help -->
+
+ <!-- This is a useful help section section to link to but it might be
+ better to later link to an introductory beginners guide. -->
+ <bind gaction="win.help-url-keys" keys="F1" />
+
+<!-- Effects (Inkscape). Xtras (Freehand) -->
+
+ <!-- Freehand repeats the last Effect without any prompting. -->
+ <bind gaction="app.last-effect" keys="&lt;ctrl&gt;&lt;shift&gt;equal" />
+ <bind gaction="app.last-effect-pref" />
+
+</keys>
diff --git a/share/keys/right-handed-illustration.xml b/share/keys/right-handed-illustration.xml
new file mode 100644
index 0000000..63e56cf
--- /dev/null
+++ b/share/keys/right-handed-illustration.xml
@@ -0,0 +1,257 @@
+<?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="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+ <bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+ <bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+ <bind gaction="win.document-save-as" keys="&lt;ctrl&gt;&lt;shift&gt;s, &lt;ctrl&gt;&lt;shift&gt;S" />
+ <bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+ <bind gaction="win.document-import" keys="&lt;ctrl&gt;i, &lt;ctrl&gt;I" />
+ <bind gaction="win.dialog-open('Export')" keys="&lt;ctrl&gt;&lt;shift&gt;e, &lt;ctrl&gt;&lt;shift&gt;E" />
+ <bind gaction="win.document-close" keys="&lt;ctrl&gt;w, &lt;ctrl&gt;W" />
+ <bind gaction="app.quit" keys="&lt;ctrl&gt;q, &lt;ctrl&gt;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="&lt;shift&gt;F4" />
+ <bind gaction="win.tool-switch('Arc')" keys="F5" />
+ <bind gaction="win.tool-switch('Star')" keys="&lt;shift&gt;F9, &lt;shift&gt;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, &lt;ctrl&gt;2" />
+ <bind gaction="win.tool-switch('Pen')" keys="&lt;shift&gt;F6, b, B, 2" />
+ <bind gaction="win.tool-switch('Caligraphic')" keys="&lt;ctrl&gt;F6" />
+ <bind gaction="win.tool-switch('Caligraphic')" keys="&lt;shift&gt;at, at" />
+ <bind gaction="win.tool-switch('Text')" keys="F8, t, T" />
+ <bind gaction="win.tool-switch('Gradient')" keys="&lt;ctrl&gt;F1" />
+ <bind gaction="win.tool-switch('Connector')" keys="&lt;ctrl&gt;F2, o, O" />
+ <bind gaction="win.tool-switch('Dropper')" keys="F7, 3, g, G" />
+
+<!-- Zoom -->
+
+ <bind gaction="win.canvas-zoom-in" keys="plus, &lt;shift&gt;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="&lt;shift&gt;asciitilde, &lt;shift&gt;grave"/> <!-- ~ -->
+ <bind gaction="win.canvas-zoom-prev" keys="grave"/> <!-- ` -->
+
+ <!-- View -->
+
+ <bind gaction="win.view-fullscreen" keys="F11" />
+ <bind gaction="win.window-next" keys="&lt;ctrl&gt;Tab, &lt;ctrl&gt;&lt;shift&gt;ISO_Left_Tab" />
+ <bind gaction="win.window-previous" keys="&lt;ctrl&gt;&lt;shift&gt;Tab, &lt;ctrl&gt;ISO_Left_Tab" />
+ <bind gaction="win.canvas-rulers" keys="&lt;ctrl&gt;r, &lt;ctrl&gt;R" />
+ <bind gaction="win.canvas-scroll-bars" keys="&lt;ctrl&gt;b, &lt;ctrl&gt;B" />
+ <bind gaction="doc.show-all-guides" keys="&lt;shift&gt;bar, bar" /> <!-- | -->
+ <bind gaction="win.canvas-show-grid" keys="&lt;shift&gt;numbersign, numbersign" /> <!-- # -->
+ <bind gaction="win.canvas-display-mode-cycle" keys="&lt;primary&gt;KP_5, &lt;primary&gt;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="&lt;ctrl&gt;z, &lt;ctrl&gt;Z, &lt;ctrl&gt;&lt;shift&gt;y, &lt;ctrl&gt;&lt;shift&gt;Y" />
+ <bind gaction="doc.undo" keys="d, D" />
+ <bind gaction="win.redo" keys="&lt;ctrl&gt;&lt;shift&gt;z, &lt;ctrl&gt;&lt;shift&gt;Z, &lt;ctrl&gt;y, &lt;ctrl&gt;Y" />
+ <bind gaction="win.redo" keys="f, F" />
+ <bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X" />
+ <bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C" />
+ <bind gaction="win.paste" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V" />
+ <bind gaction="app.paste-style" keys="&lt;ctrl&gt;&lt;shift&gt;v, &lt;ctrl&gt;&lt;shift&gt;V" />
+ <bind gaction="win.paste-in-place" keys="&lt;ctrl&gt;&lt;alt&gt;v, &lt;ctrl&gt;&lt;alt&gt;V" />
+ <bind gaction="app.delete" keys="Delete, KP_Delete, BackSpace" />
+ <bind gaction="app.duplicate" keys="&lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+ <bind gaction="app.clone" keys="&lt;alt&gt;d, &lt;alt&gt;D" />
+ <bind gaction="app.clone-unlink" keys="&lt;alt&gt;&lt;shift&gt;d, &lt;alt&gt;&lt;shift&gt;D" />
+ <bind gaction="app.select-original" keys="&lt;shift&gt;d, &lt;shift&gt;D" />
+ <bind gaction="win.select-all" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+ <bind gaction="win.select-all-layers" keys="&lt;ctrl&gt;&lt;alt&gt;a, &lt;ctrl&gt;&lt;alt&gt;A" />
+ <bind gaction="win.select-invert" keys="exclam, &lt;shift&gt;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="&lt;shift&gt;a, &lt;shift&gt;A" />
+ <bind gaction="app.selection-bottom" keys="&lt;shift&gt;s, &lt;shift&gt;S" />
+ <bind gaction="app.selection-raise" keys="a" />
+ <bind gaction="app.selection-lower" keys="s" />
+ <bind gaction="app.selection-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G, &lt;ctrl&gt;&lt;shift&gt;u, &lt;ctrl&gt;&lt;shift&gt;U" />
+ <bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;&lt;shift&gt;g, &lt;ctrl&gt;&lt;shift&gt;G, &lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+ <bind gaction="app.selection-make-bitmap-copy" keys="&lt;alt&gt;b, &lt;alt&gt;B" />
+ <bind gaction="win.dialog-open('Trace')" keys="&lt;alt&gt;&lt;shift&gt;b, &lt;alt&gt;&lt;shift&gt;B" />
+ <bind gaction="app.object-to-pattern" keys="&lt;alt&gt;i, &lt;alt&gt;I" />
+ <bind gaction="app.pattern-to-object" keys="&lt;alt&gt;&lt;shift&gt;i, &lt;alt&gt;&lt;shift&gt;I" />
+ <bind gaction="app.object-set-clip" keys="&lt;ctrl&gt;&lt;alt&gt;&lt;shift&gt;Q, &lt;ctrl&gt;&lt;alt&gt;&lt;shift&gt;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="&lt;ctrl&gt;&lt;shift&gt;c, &lt;ctrl&gt;&lt;shift&gt;C" />
+ <bind gaction="app.object-stroke-to-path" keys="&lt;ctrl&gt;&lt;alt&gt;c, &lt;ctrl&gt;&lt;alt&gt;C" />
+ <bind gaction="app.path-combine" keys="&lt;ctrl&gt;k, &lt;ctrl&gt;K" />
+ <bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;&lt;shift&gt;k, &lt;ctrl&gt;&lt;shift&gt;K" />
+ <bind gaction="app.path-union" keys="&lt;ctrl&gt;plus, &lt;ctrl&gt;KP_Add, &lt;ctrl&gt;&lt;shift&gt;plus" />
+ <bind gaction="app.path-union" keys="q, Q" />
+ <bind gaction="app.path-intersection" keys="&lt;ctrl&gt;asterisk, &lt;ctrl&gt;KP_Multiply, &lt;ctrl&gt;&lt;shift&gt;asterisk" />
+ <bind gaction="app.path-difference" keys="&lt;ctrl&gt;minus, &lt;ctrl&gt;underscore, &lt;ctrl&gt;&lt;shift&gt;underscore, &lt;ctrl&gt;KP_Subtract, &lt;ctrl&gt;&lt;shift&gt;minus" />
+ <bind gaction="app.path-difference" keys="w, W" />
+ <bind gaction="app.path-exclusion" keys="&lt;ctrl&gt;asciicircum, &lt;ctrl&gt;&lt;shift&gt;asciicircum" /> <!-- ^ -->
+ <bind gaction="app.path-cut" keys="&lt;ctrl&gt;&lt;alt&gt;slash, &lt;ctrl&gt;&lt;alt&gt;&lt;shift&gt;slash" />
+ <bind gaction="app.path-division" keys="&lt;ctrl&gt;slash, &lt;ctrl&gt;&lt;shift&gt;slash" />
+ <bind gaction="win.path-outset" keys="&lt;ctrl&gt;parenright, &lt;ctrl&gt;&lt;shift&gt;parenright, &lt;ctrl&gt;&lt;shift&gt;0" />
+ <bind gaction="win.path-inset" keys="&lt;ctrl&gt;parenleft, &lt;ctrl&gt;&lt;shift&gt;parenleft, &lt;ctrl&gt;&lt;shift&gt;9" />
+ <bind gaction="win.path-offset-dynamic" keys="&lt;ctrl&gt;j, &lt;ctrl&gt;J" />
+ <bind gaction="win.path-offset-linked" keys="&lt;ctrl&gt;&lt;alt&gt;j, &lt;ctrl&gt;&lt;alt&gt;J" />
+ <bind gaction="app.path-simplify" keys="&lt;ctrl&gt;l, &lt;ctrl&gt;L, e, E" />
+ <bind gaction="win.path-reverse" />
+
+<!-- Text -->
+
+ <bind gaction="app.text-flow-into-frame" keys="&lt;alt&gt;w, &lt;alt&gt;W" />
+ <bind gaction="app.text-unflow" keys="&lt;alt&gt;&lt;shift&gt;w, &lt;alt&gt;&lt;shift&gt;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="&lt;ctrl&gt;&lt;shift&gt;Page_Up, &lt;ctrl&gt;&lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.layer-lower" keys="&lt;ctrl&gt;&lt;shift&gt;Page_Down, &lt;ctrl&gt;&lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.layer-top" keys="&lt;ctrl&gt;&lt;shift&gt;Home, &lt;ctrl&gt;&lt;shift&gt;KP_Home" />
+ <bind gaction="win.layer-bottom" keys="&lt;ctrl&gt;&lt;shift&gt;End, &lt;ctrl&gt;&lt;shift&gt;KP_End" />
+ <bind gaction="win.selection-move-to-layer-above" keys="&lt;shift&gt;Page_Up, &lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.selection-move-to-layer-below" keys="&lt;shift&gt;Page_Down, &lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.dialog-open('Layers')" keys="&lt;ctrl&gt;&lt;shift&gt;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="&lt;shift&gt;&lt;primary&gt;f" />
+ <bind gaction="win.dialog-open('ObjectProperties')" keys="&lt;shift&gt;&lt;primary&gt;o" />
+ <bind gaction="win.dialog-open('Symbols')" keys="&lt;shift&gt;&lt;primary&gt;y" />
+ <bind gaction="win.dialog-open('Selectors')" keys="&lt;shift&gt;&lt;primary&gt;q" />
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;shift&gt;&lt;primary&gt;m" />
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;shift&gt;&lt;primary&gt;a" />
+ <bind gaction="win.dialog-open('UndoHistory')" keys="&lt;primary&gt;&lt;shift&gt;h" />
+ <bind gaction="win.dialog-open('Find')" keys="&lt;primary&gt;f" />
+ <bind gaction="win.dialog-open('Clonetiler')"/>
+ <bind gaction="win.dialog-open('XMLEditor')" keys="&lt;primary&gt;&lt;shift&gt;x" />
+ <bind gaction="win.dialog-open('Input')" />
+ <bind gaction="app.preferences" keys="&lt;primary&gt;&lt;shift&gt;p, &lt;Meta&gt;comma" />
+ <bind gaction="win.dialog-open('LivePathEffect')" keys="&lt;primary&gt;ampersand, &lt;primary&gt;&lt;shift&gt;7" />
+ <bind gaction="win.dialog-open('Trace')" keys="&lt;alt&gt;&lt;shift&gt;b"/>
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;primary&gt;&lt;shift&gt;d" />
+ <bind gaction="win.dialog-open('Swatches')" keys="&lt;primary&gt;&lt;shift&gt;w" />
+ <bind gaction="win.dialog-open('Messages')" />
+ <bind gaction="win.dialog-open('Layers')" keys="&lt;primary&gt;&lt;shift&gt;l" />
+ <bind gaction="win.dialog-open('Text')" keys="&lt;primary&gt;&lt;shift&gt;t"/>
+ <bind gaction="win.dialog-open('Spellcheck')" keys="&lt;primary&gt;&lt;alt&gt;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>
diff --git a/share/keys/xara.xml b/share/keys/xara.xml
new file mode 100644
index 0000000..a0826ab
--- /dev/null
+++ b/share/keys/xara.xml
@@ -0,0 +1,253 @@
+<?xml version="1.0"?>
+<keys name="Xara">
+
+<!--
+This is the alternative Inkscape keymap designed to match as close as possible the
+shortcuts of Xara X/Xara Xtreme/Xara LX. See inkscape.xml for a description of the
+format.
+
+Those actions/keys that are missing or not used in Xara are left as they are in the
+default Inkscape keymap, so Inkscape users won't feel too much transition pain if they
+decide to use this keymap (generally, Inkscape has considerably more keyboard shortcuts
+than Xara). Conversely, some of the Xara keys are not included because Inkscape does not
+yet have the corresponding actions or they are not yet configurable through verbs.
+
+To enable this keymap, copy this file over to default.xml.
+-->
+
+<!--
+Here are the Xara shortcuts we're missing, either because we don't have the
+command/tool/dialog, or because our corresponding function is not yet configurable
+through verbs:
+
+Shadow Tool CTRL+F2
+Bevel Tool CTRL+F3
+Contour Tool CTRL+F7
+Blend Tool F7
+Mold Tool SHIFT+F6
+Live Effects Tool CTRL+F5
+Push Tool SHIFT+F8 or ALT+X
+
+Clipart Gallery SHIFT+F10
+Fill Gallery SHIFT+F11
+Frame Gallery SHIFT+F12
+Bitmap Gallery F11
+Line Gallery F12 // stroke style?
+Name Gallery CTRL+SHIFT+F9
+
+Import graphics from Web CTRL+W *
+
+Time a document redraw CTRL+SHIFT+T
+
+Snap to grid '.' on the numeric keypad
+Snap to guides 2 on the numeric keypad
+Snap to objects ' * ' on the numeric keypad
+
+Duplicate object with offset CTRL+D
+
+Export sliced image CTRL+I *
+
+Web Address CTRL+SHIFT+W
+
+New Animated document CTRL+SHIFT+N
+
+Text tool:
+CTRL+L Selects all characters in the line containing the text cursor.
+CTRL+W Swap the case of the character to the right of the text cursor.
+
+CTRL+equals/plus key Increase kerning/tracking.
+CTRL+underline/minus key Decrease kerning/tracking.
+
+Feather tool:
+You can control the feather slider with your mouse and keyboard. When the feather text box or slider are selected:
+Mousewheel up/down-increases or decrease feathering
+Mousewheel up/down while holding the CTRL key-increases or decrease in larger increments
+Arrow up/down keys-increases or decrease feathering
+Page up/page down keys-increases or decrease in larger increments
+Hom/end keys-select minimum or maximum feather values
+-->
+
+
+<!-- File -->
+
+ <bind gaction="win.document-new" keys="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+ <bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+ <bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+ <bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+ <bind gaction="win.document-import" keys="&lt;ctrl&gt;&lt;shift&gt;I, &lt;ctrl&gt;&lt;shift&gt;i" />
+ <bind gaction="win.dialog-open('Export')" keys="&lt;ctrl&gt;&lt;shift&gt;e, &lt;ctrl&gt;&lt;shift&gt;E" />
+ <bind gaction="win.document-close" keys="&lt;ctrl&gt;w, &lt;ctrl&gt;W" />
+ <bind gaction="app.quit" keys="&lt;ctrl&gt;q, &lt;ctrl&gt;Q" />
+ <bind gaction="win.document-revert" />
+ <bind gaction="win.document-save-as" />
+ <bind gaction="win.document-cleanup" />
+
+<!-- Tools -->
+
+ <bind gaction="win.tool-switch('Select')" keys="F2, &lt;alt&gt;s, &lt;alt&gt;S" />
+ <bind gaction="win.tool-switch('Node')" keys="F4, n, N" />
+ <bind gaction="win.tool-switch('Zoom')" keys="&lt;shift&gt;F7, &lt;alt&gt;z, &lt;alt&gt;Z" /><!-- FIXME: this is stolen by the zoom field in statusbar -->
+ <bind gaction="win.tool-switch('Rect')" keys="&lt;shift&gt;F3, r, R" />
+ <bind gaction="win.tool-switch('Arc')" keys="&lt;shift&gt;F4, e, E" />
+ <bind gaction="win.tool-switch('Star')" keys="&lt;shift&gt;F2, &lt;shift&gt;asterisk, asterisk, KP_Multiply" />
+ <bind gaction="win.tool-switch('Spiral')" keys="F9, i, I" />
+ <bind gaction="win.tool-switch('Pencil')" keys="F3, p, P" />
+ <bind gaction="win.tool-switch('Pen')" keys="&lt;shift&gt;F5, b, B" />
+ <bind gaction="win.tool-switch('Caligraphic')" keys="&lt;ctrl&gt;F6, c, C" />
+ <bind gaction="win.tool-switch('Text')" keys="F8, t, T" />
+ <!--In Xara, F5 is Fill tool, F6 is Transparency tool; our Gradient tool is an incomplete analog of both-->
+ <bind gaction="win.tool-switch('Gradient')" keys="F5, F6, g, G" />
+ <bind gaction="win.tool-switch('Connector')" keys="&lt;ctrl&gt;F2, o, O" />
+ <bind gaction="win.tool-switch('Dropper')" keys="F7, d, D" />
+
+<!-- Zoom -->
+
+ <bind gaction="win.canvas-zoom-in" keys="plus, equal, KP_Add, &lt;shift&gt;plus, &lt;primary&gt;KP_Add" />
+ <bind gaction="win.canvas-zoom-out" keys="minus, KP_Subtract, &lt;primary&gt;KP_Subtract" />
+ <bind gaction="win.canvas-zoom-1-1" keys="1"/>
+ <bind gaction="win.canvas-zoom-1-2" keys="2"/>
+ <bind gaction="win.canvas-zoom-selection" keys="&lt;primary&gt;&lt;shift&gt;z, 3"/>
+ <bind gaction="win.canvas-zoom-drawing" keys="&lt;primary&gt;&lt;shift&gt;j, 4"/>
+ <bind gaction="win.canvas-zoom-page" keys="&lt;primary&gt;&lt;shift&gt;p, 5, KP_5"/>
+ <bind gaction="win.canvas-zoom-page-width" keys="6"/>
+ <bind gaction="win.canvas-zoom-prev" keys="&lt;primary&gt;r, grave"/> <!-- ` -->
+ <bind gaction="win.canvas-zoom-next" keys="&lt;shift&gt;grave, &lt;shift&gt;asciitilde"/> <!-- ~ -->
+
+<!-- View -->
+
+ <bind gaction="win.view-fullscreen" keys="KP_8, F11" />
+ <bind gaction="win.window-next" keys="&lt;ctrl&gt;Tab, &lt;ctrl&gt;&lt;shift&gt;ISO_Left_Tab" />
+ <bind gaction="win.window-previous" keys="&lt;ctrl&gt;&lt;shift&gt;Tab, &lt;ctrl&gt;ISO_Left_Tab" />
+ <bind gaction="win.canvas-rulers" keys="&lt;ctrl&gt;L, &lt;ctrl&gt;l" />
+ <bind gaction="doc.show-all-guides" keys="&lt;shift&gt;bar, bar, KP_1" /><!-- | -->
+ <bind gaction="win.canvas-show-grid" keys="&lt;shift&gt;numbersign, numbersign" /> <!-- # -->
+ <bind gaction="win.canvas-scroll-bars" />
+ <bind gaction="win.window-new"/>
+ <bind gaction="win.dialog-open('IconPreview')"/>
+ <bind gaction="win.dialog-toggle" keys="F12" />
+
+<!-- Edit -->
+
+ <bind gaction="doc.undo" keys="&lt;ctrl&gt;z, &lt;ctrl&gt;Z, &lt;ctrl&gt;&lt;shift&gt;y, &lt;ctrl&gt;&lt;shift&gt;Y, &lt;ctrl&gt;less, &lt;ctrl&gt;comma" />
+ <bind gaction="doc.redo" keys="&lt;ctrl&gt;y, &lt;ctrl&gt;Y, &lt;ctrl&gt;greater, &lt;ctrl&gt;period" />
+ <bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X" />
+ <bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C" />
+ <bind gaction="win.paste" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V" />
+ <bind gaction="app.paste-style" keys="&lt;ctrl&gt;&lt;shift&gt;A, &lt;ctrl&gt;&lt;shift&gt;a" />
+ <bind gaction="win.paste-in-place" keys="&lt;ctrl&gt;&lt;shift&gt;v, &lt;ctrl&gt;&lt;shift&gt;V" />
+ <bind gaction="app.delete" keys="Delete, KP_Delete, BackSpace" />
+ <bind gaction="app.duplicate" keys="&lt;ctrl&gt;K, &lt;ctrl&gt;k, &lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+ <bind gaction="app.clone" keys="&lt;alt&gt;d, &lt;alt&gt;D" />
+ <bind gaction="app.clone-unlink" keys="&lt;alt&gt;&lt;shift&gt;d, &lt;alt&gt;&lt;shift&gt;D" />
+ <bind gaction="app.select-original" keys="&lt;shift&gt;d, &lt;shift&gt;D" />
+ <bind gaction="win.select-all" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+ <bind gaction="win.select-all-layers" keys="&lt;ctrl&gt;&lt;alt&gt;a, &lt;ctrl&gt;&lt;alt&gt;A" />
+ <bind gaction="win.select-invert" keys="exclam, &lt;shift&gt;exclam" />
+ <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" />
+ <bind gaction="win.select-none" />
+
+
+<!-- Objects/selection -->
+
+ <bind gaction="app.object-flip-horizontal" keys="h, H" />
+ <bind gaction="app.object-flip-vertical" keys="v, V" />
+ <bind gaction="app.selection-top" keys="&lt;ctrl&gt;F, &lt;ctrl&gt;f, Home, KP_Home" />
+ <bind gaction="app.selection-bottom" keys="&lt;ctrl&gt;B, &lt;ctrl&gt;b, End, KP_End" />
+ <bind gaction="app.selection-raise" keys="&lt;ctrl&gt;&lt;shift&gt;F, &lt;ctrl&gt;&lt;shift&gt;f, Page_Up, KP_Page_Up" />
+ <bind gaction="app.selection-lower" keys="&lt;ctrl&gt;&lt;shift&gt;B, &lt;ctrl&gt;&lt;shift&gt;b, Page_Down, KP_Page_Down" />
+ <bind gaction="app.selection-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G" />
+ <bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;&lt;shift&gt;g, &lt;ctrl&gt;&lt;shift&gt;G, &lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+ <bind gaction="app.selection-make-bitmap-copy" keys="&lt;ctrl&gt;&lt;shift&gt;C, &lt;ctrl&gt;&lt;shift&gt;c" />
+ <bind gaction="win.dialog-open('Trace')" keys="&lt;alt&gt;&lt;shift&gt;b, &lt;alt&gt;&lt;shift&gt;B" />
+ <bind gaction="app.object-to-pattern" keys="&lt;alt&gt;i, &lt;alt&gt;I" />
+ <bind gaction="app.pattern-to-object" keys="&lt;alt&gt;&lt;shift&gt;i, &lt;alt&gt;&lt;shift&gt;I" />
+ <bind gaction="app.object-set-clip-mask" />
+ <bind gaction="app.object-release-clip-mask" />
+ <bind gaction="app.object-set-clip" />
+ <bind gaction="app.object-release-clip" />
+ <bind gaction="app.object-rotate-90-cw" keys="&lt;primary&gt;bracketright" />
+ <bind gaction="app.object-rotate-90-ccw" keys="&lt;primary&gt;bracketleft" />
+
+<!-- Path -->
+
+ <bind gaction="app.object-to-path" keys="&lt;ctrl&gt;&lt;shift&gt;S, &lt;ctrl&gt;&lt;shift&gt;s" />
+ <bind gaction="app.object-stroke-to-path" keys="&lt;ctrl&gt;&lt;alt&gt;c, &lt;ctrl&gt;&lt;alt&gt;C" />
+ <bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;&lt;shift&gt;k, &lt;ctrl&gt;&lt;shift&gt;K" />
+ <bind gaction="app.path-union" keys="&lt;ctrl&gt;1, &lt;ctrl&gt;plus, &lt;ctrl&gt;&lt;shift&gt;plus" />
+ <bind gaction="app.path-intersection" keys="&lt;ctrl&gt;3, &lt;ctrl&gt;asterisk, &lt;ctrl&gt;KP_Multiply, &lt;ctrl&gt;&lt;shift&gt;asterisk" />
+ <bind gaction="app.path-difference" keys="&lt;ctrl&gt;2, &lt;ctrl&gt;minus, &lt;ctrl&gt;underscore, &lt;ctrl&gt;&lt;shift&gt;underscore, &lt;ctrl&gt;&lt;shift&gt;minus" />
+ <bind gaction="app.path-exclusion" keys="&lt;ctrl&gt;asciicircum, &lt;ctrl&gt;&lt;shift&gt;asciicircum" /> <!-- ^ -->
+ <bind gaction="app.path-cut" keys="&lt;ctrl&gt;&lt;alt&gt;slash, &lt;ctrl&gt;&lt;alt&gt;&lt;shift&gt;slash" />
+ <bind gaction="app.path-division" keys="&lt;ctrl&gt;4, &lt;ctrl&gt;slash, &lt;ctrl&gt;&lt;shift&gt;slash" />
+ <bind gaction="win.path-outset" keys="&lt;ctrl&gt;parenright, &lt;ctrl&gt;&lt;shift&gt;parenright, &lt;ctrl&gt;&lt;shift&gt;0" />
+ <bind gaction="win.path-inset" keys="&lt;ctrl&gt;parenleft, &lt;ctrl&gt;&lt;shift&gt;parenleft, &lt;ctrl&gt;&lt;shift&gt;9" />
+ <bind gaction="win.path-offset-dynamic" keys="&lt;ctrl&gt;j, &lt;ctrl&gt;J" />
+ <bind gaction="win.path-offset-linked" keys="&lt;ctrl&gt;&lt;alt&gt;j, &lt;ctrl&gt;&lt;alt&gt;J" />
+ <bind gaction="app.path-combine" />
+ <bind gaction="app.path-simplify" />
+ <bind gaction="win.path-reverse" />
+
+<!-- Text -->
+
+ <bind gaction="app.text-flow-into-frame" keys="&lt;alt&gt;w, &lt;alt&gt;W" />
+ <bind gaction="app.text-unflow" keys="&lt;alt&gt;&lt;shift&gt;w, &lt;alt&gt;&lt;shift&gt;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="&lt;ctrl&gt;&lt;shift&gt;Page_Up, &lt;ctrl&gt;&lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.layer-lower" keys="&lt;ctrl&gt;&lt;shift&gt;Page_Down, &lt;ctrl&gt;&lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.layer-top" keys="&lt;ctrl&gt;&lt;shift&gt;Home, &lt;ctrl&gt;&lt;shift&gt;KP_Home" />
+ <bind gaction="win.layer-bottom" keys="&lt;ctrl&gt;&lt;shift&gt;End, &lt;ctrl&gt;&lt;shift&gt;KP_End" />
+ <bind gaction="win.selection-move-to-layer-above" keys="&lt;ctrl&gt;&lt;shift&gt;U, &lt;ctrl&gt;&lt;shift&gt;u, &lt;shift&gt;Page_Up, &lt;shift&gt;KP_Page_Up" />
+ <bind gaction="win.selection-move-to-layer-below" keys="&lt;ctrl&gt;&lt;shift&gt;D, &lt;ctrl&gt;&lt;shift&gt;d, &lt;shift&gt;Page_Down, &lt;shift&gt;KP_Page_Down" />
+ <bind gaction="win.dialog-open('Layers')" keys="F10" />
+ <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-ope('XMLEditor')" keys="&lt;ctrl&gt;&lt;shift&gt;x, &lt;ctrl&gt;&lt;shift&gt;X" />
+ <bind gaction="app.preferences" keys="&lt;ctrl&gt;&lt;shift&gt;q, &lt;ctrl&gt;&lt;shift&gt;Q" />
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;ctrl&gt;&lt;shift&gt;L, &lt;ctrl&gt;&lt;shift&gt;l" />
+ <bind gaction="win.dialog-open('Text')" keys="&lt;shift&gt;F9, &lt;ctrl&gt;&lt;shift&gt;t, &lt;ctrl&gt;&lt;shift&gt;T" />
+ <bind gaction="app.preferences" keys="&lt;ctrl&gt;&lt;shift&gt;O, &lt;ctrl&gt;&lt;shift&gt;o" />
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;ctrl&gt;E, &lt;ctrl&gt;e" />
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;ctrl&gt;&lt;shift&gt;m, &lt;ctrl&gt;&lt;shift&gt;M" />
+ <bind gaction="win.dialog-open('Swatches')" keys="F9, &lt;ctrl&gt;&lt;shift&gt;w, &lt;ctrl&gt;&lt;shift&gt;W" />
+ <bind gaction="win.dialog-toggle" keys="F12" />
+ <bind gaction="win.dialog-open('DocumentProperties')" />
+ <bind gaction="win.dialog-ope('Find')" />
+ <bind gaction="win.dialog-open('ObjectProperties')" />
+ <bind gaction="win.dialog-open('Clonetiler')" />
+ <bind gaction="win.dialog-open('Arrange')" />
+ <bind gaction="win.dialog-open('Messages')" />
+ <bind gaction="win.dialog-open('Input')" />
+
+<!-- Help -->
+
+ <bind gaction="win.dialog-open('Memory')" />
+ <bind gaction="app.about" />
+
+<!-- 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>
+
+
diff --git a/share/keys/zoner-draw.xml b/share/keys/zoner-draw.xml
new file mode 100644
index 0000000..e0f4a59
--- /dev/null
+++ b/share/keys/zoner-draw.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0"?>
+<keys name="Zoner Draw">
+
+<!--
+This file contains a profile of keyboard shortcuts for Inkscape
+in the style of Zoner Draw 5.
+
+See default.xml for more information.
+-->
+
+<!-- Tools -->
+
+<!-- Shape tool - does what our Selector does -->
+
+ <bind gaction="win.tool-switch('Select')" keys="2" />
+
+<!-- Nodes tool - not in Zoner?
+
+ <bind gaction="win.tool-switch('Node')" keys="A, a" /> -->
+
+<!-- Pen
+
+ <bind gaction="win.tool-switch('Pen')" keys="F12" /> -->
+
+<!-- Text tool is most closer to our text tool -->
+
+ <bind gaction="win.tool-switch('Text')" keys="&lt;ctrl&gt;t, &lt;ctrl&gt;T" />
+
+<!-- Freehand - not in Zoner?
+
+ <bind gaction="win.tool-switch('Pencil')" keys="F5" /> -->
+
+<!-- Zoom -->
+
+ <bind gaction="win.tool-switch('Zoom')" keys="&lt;ctrl&gt;space" />
+
+
+<!-- File actions -->
+
+ <bind gaction="win.document-new" keys="&lt;ctrl&gt;n, &lt;ctrl&gt;N" />
+
+<!-- New from Template... (Shift l+Ctrl+N) does not exist in Inkscape -->
+
+ <bind gaction="win.document-open" keys="&lt;ctrl&gt;o, &lt;ctrl&gt;O" />
+ <bind gaction="win.document-save" keys="&lt;ctrl&gt;s, &lt;ctrl&gt;S" />
+
+<!--
+ <bind gaction="win.document-save-as" keys="&lt;ctrl&gt;&lt;shift&gt;s, &lt;ctrl&gt;&lt;shift&gt;t,S" /> -->
+
+ <bind gaction="win.document-import" keys="&lt;ctrl&gt;&lt;shift&gt;t,i, &lt;ctrl&gt;&lt;shift&gt;t,I" />
+
+<!-- <bindgaction="win.dialog-open('Export')" keys="&lt;ctrl&gtr,e, &lt;ctrl&gt;E" /> -->
+
+ <bind gaction="win.document-print" keys="&lt;ctrl&gt;p, &lt;ctrl&gt;P" />
+
+<!-- Export to PDF (CTRL+SHIFT+P) - doesn't not exist in Inkscape directly -->
+
+<!-- Options dialog - make sure it's correct one -->
+
+ <bind gaction="app.preferences" keys="&lt;ctrl&gt;m, &lt;ctrl&gt;M" />
+
+<!-- Options dialog - make sure it's correct one
+
+ <bind gaction="win.dialog-open('DocumentProperties')" keys="&lt;alt&gt;Return" /> -->
+
+<!-- Edit actions -->
+
+ <bind gaction="doc.undo" keys="&lt;ctrl&gt;z, &lt;ctrl&gt;Z, &lt;alt&gt;BackSpace" />
+ <bind gaction="doc.redo" keys="&lt;ctrl&gt;y, &lt;ctrl&gt;Y" />
+ <bind gaction="app.cut" keys="&lt;ctrl&gt;x, &lt;ctrl&gt;X" />
+<!-- <bind gaction="app.cut" keys="&lt;shift&gt;Delete"/> -->
+ <bind gaction="app.copy" keys="&lt;ctrl&gt;c, &lt;ctrl&gt;C, &lt;ctrl&gt;Insert" />
+ <bind gaction="win.paste" keys="&lt;ctrl&gt;v, &lt;ctrl&gt;V, &lt;shift&gt;t,Insert" />
+<!-- <bind gaction="app.delete" keys="Delete"/> -->
+ <bind gaction="app.duplicate" keys="&lt;ctrl&gt;d, &lt;ctrl&gt;D" />
+ <bind gaction="win.select-all" keys="&lt;ctrl&gt;a, &lt;ctrl&gt;A" />
+
+<!-- View actions -->
+
+<!-- Zoom in or 1:1 ? !!!!!!!!!!!!
+F2 Zoom One-Shot
+Zoom1:0: Zoom to 1:1
+ZoomIn: Zoom in
+
+ <bind gaction="win.canvas-zoom-in" keys="plus, &lt;Shift&gt;plus, equal, &lt;Shift&gt;equal, KP_Add" />
+ <bind gaction=win.canvas-zoom-1-1" keys="1"/>
+
+-->
+
+<!-- <bindgaction="win.canvas-zoom-out"keys="F3"/> -->
+
+<!-- Zoom to Object - in Zoner's terminology -->
+ <bind gaction="win.canvas-zoom-drawing" keys="a" />
+ <bind gaction="win.canvas-zoom-page" keys="e"/>
+ <bind gaction="win.canvas-zoom-selection" keys="s"/>
+
+<!-- Implemented in Zoner Draw, but does it have hotkeys?
+
+win.canvas-zoom-next: Next zoom (from the history of zooms)
+win.canvas-zoom-prev: Previous zoom (from the history of zooms)
+win.canvas-zoom-page-width: Zoom to fit page width in window
+
+-->
+
+ <bind gaction="doc.show-all-guides" keys="l, L" />
+ <bind gaction="win.canvas-show-grid" keys="g, G" />
+
+<!-- Not implemented in Zoner Draw? !!!!!!!!!!!!
+
+ <bind gaction="win.canvas-rulers" keys="&lt;ctrl&gt;r, &lt;ctrl&gt;R" />
+ <bind gaction="win.canvas-scroll-bars" keys="&lt;ctrl&gt;b,B" />
+
+-->
+
+ <bind gaction="win.view-fullscreen" keys="F9" />
+
+<!-- Path actions -->
+
+ <bind gaction="app.path-combine" keys="&lt;ctrl&gt;k, &lt;ctrl&gt;K" />
+ <bind gaction="app.path-break-apart" keys="&lt;ctrl&gt;&lt;shift&gt;t,k, &lt;ctrl&gt;&lt;shift&gt;t,K" />
+
+<!-- Object actions -->
+
+ <bind gaction="app.selection-group" keys="&lt;ctrl&gt;g, &lt;ctrl&gt;G" />
+ <bind gaction="app.selection-ungroup" keys="&lt;ctrl&gt;u, &lt;ctrl&gt;U" />
+
+<!-- Blend is our Interpolate extension's advanced equivalent, so using it -->
+
+ <bind key="b" modifiers="Ctrl,Shift" action="org.ekips.filter.interp.noprefs" display="true"/>
+ <bind key="B" modifiers="Ctrl,Shift" action="org.ekips.filter.interp.noprefs" />
+
+<!-- 'Tools -> Rasterize...' is our Create Bitmap's advanced equivalent, so using it -->
+
+ <bind gaction="app.selection-make-bitmap-copy" keys="&lt;ctrl&gt;&lt;shift&gt;t,r, &lt;ctrl&gt;&lt;shift&gt;t,R" />
+ <bind gaction="app.selection-top" keys="&lt;ctrl&gt;Page_Up, &lt;ctrl&gt;KP_Page_Up" />
+ <bind gaction="app.selection-bottom" keys="&lt;ctrl&gt;Page_Down, &lt;ctrl&gt;KP_Page_Down" />
+ <bind gaction="app.selection-raise" keys="Page_Up, KP_Page_Up" />
+ <bind gaction="app.selection-lower" keys="Page_Down, KP_Page_Down" />
+
+<!-- Transformations gallery -->
+
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;ctrl&gt;6" />
+
+<!-- Align Objects gallery. Distribute Objects gallery is a separate tab of same dialog there :) -->
+
+ <bind gaction="win.dialog-open('AlignDistribute')" keys="&lt;ctrl&gt;7, &lt;ctrl&gt;8" />
+
+<!-- Unify Objects gallery - Scale tab?! -->
+
+ <bind gaction="win.dialog-open('Transform')" keys="&lt;ctrl&gt;9" />
+
+<!-- Colors gallery is way closer to Swatches than to Fill'n'Stroke-->
+
+ <bind gaction="win.dialog-open('Swatches')" keys="&lt;ctrl&gt;5" />
+
+<!-- Pen gallery - 'Stroke style' tab analog -->
+
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;ctrl&gt;2" />
+
+<!-- Fill Style gallery -->
+
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;ctrl&gt;1" />
+
+<!-- Transparency gallery -->
+
+ <bind gaction="win.dialog-open('FillStroke')" keys="&lt;ctrl&gt;3" />
+
+<!-- Styles gallery (Shift+Ctrl+6) does not have an analog in Inkscape -->
+
+<!-- Clip Art gallery (Shift+Ctrl+7) does not have an analog in Inkscape -->
+
+</keys>