summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2017-07-10 08:19:49 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2017-07-10 08:19:49 +0000
commit9bb10ed9ea07d21c926f3ab1ca5db8027be29378 (patch)
treece610e17ab62bb84f01bbb4d8cef50fed685382a
parentUpdate popup menu usage (diff)
parentShortcuts: Fix for 7d248fbba5b0c24d9a24cda8c3f2e79f96395553 (is_user_set was ... (diff)
downloadinkscape-9bb10ed9ea07d21c926f3ab1ca5db8027be29378.tar.gz
inkscape-9bb10ed9ea07d21c926f3ab1ca5db8027be29378.zip
Merge branch 'master' of gitlab.com:inkscape/inkscape
-rw-r--r--CMakeScripts/inkscape-version.cmake2
-rw-r--r--share/keys/CMakeLists.txt7
-rw-r--r--share/keys/default.xml715
-rw-r--r--share/keys/inkscape.xml371
-rw-r--r--src/inkscape.cpp14
-rw-r--r--src/io/resource.cpp13
-rw-r--r--src/shortcuts.cpp69
7 files changed, 260 insertions, 931 deletions
diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake
index 9ffa7f8c7..40c1c4364 100644
--- a/CMakeScripts/inkscape-version.cmake
+++ b/CMakeScripts/inkscape-version.cmake
@@ -11,7 +11,7 @@
set(INKSCAPE_REVISION "unknown")
set(INKSCAPE_CUSTOM "custom")
-if(EXISTS ${INKSCAPE_SOURCE_DIR}/.git/)
+if(EXISTS ${INKSCAPE_SOURCE_DIR}/.git)
execute_process(COMMAND git describe
WORKING_DIRECTORY ${INKSCAPE_SOURCE_DIR}
diff --git a/share/keys/CMakeLists.txt b/share/keys/CMakeLists.txt
index c3a745ae8..34b83a509 100644
--- a/share/keys/CMakeLists.txt
+++ b/share/keys/CMakeLists.txt
@@ -1,2 +1,9 @@
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/default.xml b/share/keys/default.xml
deleted file mode 100644
index 9a072d9da..000000000
--- a/share/keys/default.xml
+++ /dev/null
@@ -1,715 +0,0 @@
-<?xml version="1.0"?>
-<keys name="Inkscape default">
-
-<!--
-This file contains the default Inkscape 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", "Meta", "Super", "Hyper", or "Primary".
-
-"Primary" means Meta on Apple and Primary everywhere else, it's recommended over the use of Ctrl.
-
-- The "action" attribute contains the name of the action. The complete list of actions
-(called "verbs") is in the file src/verbs.cpp in Inkscape source; there you can see
-brief descriptions of what each action does. The same action may have multiple key
-bindings.
-
-- The "display" attribute controls whether this binding will be displayed in the menu
-and tooltips. Only one binding for each action may have this attribute.
-
-Note that the current file lists ALL Inkscape actions, even those that do not have any
-keys in the default mapping (those don't have "key" or "modifiers" attributes). You can
-assign any keys to these actions by adding "key" and "modifiers" attributes to
-them. Developers: Please add here any new verbs you create!
-
-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.
--->
-
-
-<!-- File -->
-
- <bind key="n" modifiers="Primary" action="FileNew" display="true" />
- <bind key="N" modifiers="Primary" action="FileNew" />
-
- <bind key="n" modifiers="Primary,Alt" action="FileTemplates" display="true" />
- <bind key="N" modifiers="Primary,Alt" action="FileTemplates" />
-
- <bind key="o" modifiers="Primary" action="FileOpen" display="true" />
- <bind key="O" modifiers="Primary" action="FileOpen" />
-
- <bind action="FileRevert" />
-
- <bind key="s" modifiers="Primary" action="FileSave" display="true" />
- <bind key="S" modifiers="Primary" action="FileSave" />
-
- <bind key="s" modifiers="Primary,Shift" action="FileSaveAs" display="true" />
- <bind key="S" modifiers="Primary,Shift" action="FileSaveAs" />
-
- <bind key="s" modifiers="Primary,Shift,Alt" action="FileSaveACopy" display="true" />
- <bind key="S" modifiers="Primary,Shift,Alt" action="FileSaveACopy" />
-
- <bind key="p" modifiers="Primary" action="FilePrint" display="true" />
- <bind key="P" modifiers="Primary" action="FilePrint" />
-
- <bind key="i" modifiers="Primary" action="FileImport" display="true" />
- <bind key="I" modifiers="Primary" action="FileImport" />
-
- <bind key="e" modifiers="Primary,Shift" action="DialogExport" display="true" />
- <bind key="E" modifiers="Primary,Shift" action="DialogExport" />
-
- <bind action="FileVacuum" />
-
- <bind key="w" modifiers="Primary" action="FileClose" display="true" />
- <bind key="W" modifiers="Primary" action="FileClose" />
-
- <bind key="q" modifiers="Primary" action="FileQuit" display="true" />
- <bind key="Q" modifiers="Primary" action="FileQuit" />
-
-<!-- Tools -->
-
- <bind key="F1" action="ToolSelector" display="true" />
- <bind key="s" action="ToolSelector" />
- <bind key="S" action="ToolSelector" />
-
- <bind action="SelectPrefs" />
-
- <bind key="F2" action="ToolNode" display="true" />
- <bind key="n" action="ToolNode" />
- <bind key="N" action="ToolNode" />
-
- <bind action="NodePrefs" />
-
- <bind key="F2" modifiers="Shift" action="ToolTweak" display="true" />
- <bind key="w" action="ToolTweak" />
- <bind key="W" action="ToolTweak" />
-
- <bind action="TweakPrefs" />
-
- <bind key="F3" action="ToolZoom" display="true" />
- <bind key="z" action="ToolZoom" />
- <bind key="Z" action="ToolZoom" />
-
- <bind action="ZoomPrefs" />
-
- <bind key="F4" action="ToolRect" display="true" />
- <bind key="r" action="ToolRect" />
- <bind key="R" action="ToolRect" />
-
- <bind action="RectPrefs" />
-
- <bind key="F4" modifiers="Shift" action="Tool3DBox" display="true" />
- <bind key="x" action="Tool3DBox" />
- <bind key="X" action="Tool3DBox" />
-
- <bind action="3DBoxPrefs" />
-
- <bind key="F5" action="ToolArc" display="true" />
- <bind key="e" action="ToolArc" />
- <bind key="E" action="ToolArc" />
-
- <bind action="ArcPrefs" />
-
- <bind key="m" action="ToolMeasure" />
- <bind key="M" action="ToolMeasure" display="true" />
-
- <bind action="MeasurePrefs" />
-
- <bind key="F9" modifiers="Shift" action="ToolStar" />
- <bind key="asterisk" modifiers="Shift" action="ToolStar" />
- <bind key="asterisk" action="ToolStar" />
- <bind key="KP_Multiply" action="ToolStar" display="true" />
-
- <bind action="StarPrefs" />
-
- <bind key="F9" action="ToolSpiral" display="true" />
- <bind key="i" action="ToolSpiral" />
- <bind key="I" action="ToolSpiral" />
-
- <bind action="SpiralPrefs" />
-
- <bind key="F6" action="ToolPencil" display="true" />
- <bind key="p" action="ToolPencil" />
- <bind key="P" action="ToolPencil" />
-
- <bind action="PencilPrefs" />
-
- <bind key="F6" modifiers="Shift" action="ToolPen" display="true" />
- <bind key="b" action="ToolPen" />
- <bind key="B" action="ToolPen" />
-
- <bind action="PenPrefs" />
-
- <bind key="F6" modifiers="Primary" action="ToolCalligraphic" display="true" />
- <bind key="c" action="ToolCalligraphic" />
- <bind key="C" action="ToolCalligraphic" />
-
- <bind action="CalligraphicPrefs" />
-
- <bind key="E" modifiers="Shift" action="ToolEraser" display="true" />
-
- <bind action="EraserPrefs" />
-
- <bind key="F7" modifiers="Shift" action="ToolPaintBucket" display="true" />
- <bind key="u" action="ToolPaintBucket" />
- <bind key="U" action="ToolPaintBucket" />
-
- <bind action="PaintBucketPrefs" />
-
- <bind key="F8" action="ToolText" display="true" />
- <bind key="t" action="ToolText" />
- <bind key="T" action="ToolText" />
-
- <bind action="TextPrefs" />
-
- <bind key="F1" modifiers="Primary" action="ToolGradient" display="true" />
- <bind key="g" action="ToolGradient" />
- <bind key="G" action="ToolGradient" />
-
- <bind action="GradientPrefs" />
-
- <bind key="F2" modifiers="Primary" action="ToolConnector" display="true" />
- <bind key="o" action="ToolConnector" />
- <bind key="O" action="ToolConnector" />
-
- <bind action="ConnectorPrefs" />
-
- <bind key="F7" action="ToolDropper" display="true" />
- <bind key="d" action="ToolDropper" />
- <bind key="D" action="ToolDropper" />
-
- <bind action="DropperPrefs" />
-
- <bind key="F3" modifiers="Shift" action="ToolSpray" display="true" />
- <bind key="a" action="ToolSpray" />
- <bind key="A" action="ToolSpray" />
-
- <bind action="SprayPrefs" />
-
-<!-- Zoom -->
-
- <bind key="plus" action="ZoomIn" display="true" />
- <bind key="plus" modifiers="Shift" action="ZoomIn" />
- <bind key="equal" action="ZoomIn" />
- <bind key="equal" modifiers="Shift" action="ZoomIn" />
- <bind key="KP_Add" action="ZoomIn" />
-
- <bind key="minus" action="ZoomOut" display="true" />
- <bind key="minus" modifiers="Shift" action="ZoomOut" />
- <bind key="underscore" action="ZoomOut" />
- <bind key="underscore" modifiers="Shift" action="ZoomOut" />
- <bind key="KP_Subtract" action="ZoomOut" />
-
- <bind key="1" action="Zoom1:0" display="true" />
- <bind key="1" modifiers="Shift" action="Zoom1:0" />
- <bind key="KP_1" action="Zoom1:0" />
- <bind key="2" action="Zoom1:2" display="true" />
- <bind key="2" modifiers="Shift" action="Zoom1:2" />
- <bind key="KP_2" action="Zoom1:2" />
- <bind key="3" action="ZoomSelection" display="true" />
- <bind key="3" modifiers="Shift" action="ZoomSelection" />
- <bind key="KP_3" action="ZoomSelection" />
- <bind key="4" action="ZoomDrawing" display="true" />
- <bind key="4" modifiers="Shift" action="ZoomDrawing" />
- <bind key="KP_4" action="ZoomDrawing" />
- <bind key="5" action="ZoomPage" display="true" />
- <bind key="5" modifiers="Shift" action="ZoomPage" />
- <bind key="KP_5" action="ZoomPage" />
- <bind key="KP_Begin" action="ZoomPage" />
- <bind key="6" action="ZoomPageWidth" display="true" />
- <bind key="6" modifiers="Shift" action="ZoomPageWidth" />
- <bind key="KP_6" action="ZoomPageWidth" />
-
- <bind key="e" modifiers="Primary" action="ZoomPageWidth" />
- <bind key="E" modifiers="Primary" action="ZoomPageWidth" />
-
- <bind key="grave" modifiers="Shift" action="ZoomNext" display="true" /> <!-- ` -->
- <bind key="asciitilde" modifiers="Shift" action="ZoomNext" /> <!-- ~ -->
- <bind key="KP_9" action="ZoomNext" />
- <bind key="grave" action="ZoomPrev" display="true" /> <!-- ` -->
- <bind key="KP_8" action="ZoomPrev" />
-
-<!-- View -->
-
- <bind key="F11" action="FullScreen" display="true" />
- <bind key="F11" action="FocusToggle" modifiers="Shift" display="true" />
- <bind key="F11" action="FullScreenFocus" modifiers="Primary" display="true" />
-
- <bind key="Tab" modifiers="Primary" action="NextWindow" display="true" />
- <bind key="ISO_Left_Tab" modifiers="Primary" action="NextWindow" />
- <bind key="Tab" modifiers="Primary,Shift" action="PrevWindow" display="true" />
- <bind key="ISO_Left_Tab" modifiers="Primary,Shift" action="PrevWindow" />
-
- <bind key="numbersign" modifiers="Shift" action="ToggleGrid" /> <!-- # -->
- <bind key="numbersign" action="ToggleGrid" display="true" />
-
- <bind key="bar" modifiers="Shift" action="ToggleGuides" /> <!-- | -->
- <bind key="bar" action="ToggleGuides" display="true" />
-
- <bind key="percent" action="ToggleSnapGlobal" display="true" /> <!-- % -->
- <bind key="percent" modifiers="Shift" action="ToggleSnapGlobal" />
-
- <bind action="ToggleCommandsToolbar" />
- <bind action="ToggleSnapToolbar" />
- <bind action="ToggleToolToolbar" />
- <bind action="ToggleToolbox" />
-
- <bind key="r" modifiers="Primary" action="ToggleRulers" display="true" />
- <bind key="R" modifiers="Primary" action="ToggleRulers" />
-
- <bind key="b" modifiers="Primary" action="ToggleScrollbars" display="true" />
- <bind key="B" modifiers="Primary" action="ToggleScrollbars" />
-
- <bind key="p" modifiers="Shift,Alt" action="TogglePalette" display="true" />
- <bind key="P" modifiers="Shift,Alt" action="TogglePalette" />
-
- <bind action="ToggleStatusbar" />
-
- <bind action="ViewNew" />
- <bind action="ViewNewPreview" />
- <bind action="ViewIconPreview" />
-
- <bind key="KP_5" modifiers="Primary" action="ViewModeToggle" display="true" />
- <bind key="KP_Begin" modifiers="Primary" action="ViewModeToggle" />
-
- <bind action="ViewModeNormal" />
- <bind action="ViewModeNoFilters" />
- <bind action="ViewModeOutline" />
-
- <bind key="KP_5" modifiers="Shift" action="ViewColorModeToggle" display="true" />
-
- <bind action="ViewColorModeNormal" />
- <bind action="ViewColorModeGrayscale" />
-
-<!-- Edit -->
-
- <bind key="z" modifiers="Primary" action="EditUndo" display="true" />
- <bind key="Z" modifiers="Primary" action="EditUndo" />
- <!--Do not put in Primary,Shift+Y, already used-->
-
- <bind key="z" modifiers="Primary,Shift" action="EditRedo" display="true" />
- <bind key="Z" modifiers="Primary,Shift" action="EditRedo" />
- <bind key="y" modifiers="Primary" action="EditRedo" />
- <bind key="Y" modifiers="Primary" action="EditRedo" />
-
- <bind key="h" modifiers="Primary,Shift" action="DialogUndoHistory" display="true" />
- <bind key="H" modifiers="Primary,Shift" action="DialogUndoHistory" />
-
- <bind key="x" modifiers="Primary" action="EditCut" display="true" />
- <bind key="X" modifiers="Primary" action="EditCut" />
- <bind key="Delete" modifiers="Shift" action="EditCut"/>
-
- <bind key="c" modifiers="Primary" action="EditCopy" display="true" />
- <bind key="C" modifiers="Primary" action="EditCopy" />
- <bind key="Insert" modifiers="Primary" action="EditCopy"/>
-
- <bind key="v" modifiers="Primary" action="EditPaste" display="true" />
- <bind key="V" modifiers="Primary" action="EditPaste" />
- <bind key="Insert" modifiers="Shift" action="EditPaste"/>
-
- <bind key="v" modifiers="Primary,Shift" action="EditPasteStyle" display="true" />
- <bind key="V" modifiers="Primary,Shift" action="EditPasteStyle" />
-
- <bind key="v" modifiers="Primary,Alt" action="EditPasteInPlace" display="true" />
- <bind key="V" modifiers="Primary,Alt" action="EditPasteInPlace" />
-
- <bind action="EditPasteSize" />
- <bind action="EditPasteWidth" />
- <bind action="EditPasteHeight" />
- <bind action="EditPasteSizeSeparately" />
- <bind action="EditPasteWidthSeparately" />
- <bind action="EditPasteHeightSeparately" />
-
- <bind key="Delete" action="EditDelete" display="true" />
- <bind key="KP_Delete" action="EditDelete" />
- <bind key="BackSpace" action="EditDelete" />
-
- <bind key="d" modifiers="Primary" action="EditDuplicate" display="true" />
- <bind key="D" modifiers="Primary" action="EditDuplicate" />
-
- <bind key="d" modifiers="Alt" action="EditClone" display="true" />
- <bind key="D" modifiers="Alt" action="EditClone" />
-
- <bind key="d" modifiers="Alt,Shift" action="EditUnlinkClone" display="true" />
- <bind key="D" modifiers="Alt,Shift" action="EditUnlinkClone" />
-
- <bind action="EditRelinkClone" />
-
- <bind key="d" modifiers="Shift" action="EditCloneSelectOriginal" display="true" />
- <bind key="D" modifiers="Shift" action="EditCloneSelectOriginal" />
-
- <bind action="EditCloneOriginalPathLPE" />
-
- <bind key="a" modifiers="Primary" action="EditSelectAll" display="true" />
- <bind key="A" modifiers="Primary" action="EditSelectAll" />
-
- <bind action="EditClearAll" />
-
- <bind key="a" modifiers="Primary,Alt" action="EditSelectAllInAllLayers" display="true" />
- <bind key="A" modifiers="Primary,Alt" action="EditSelectAllInAllLayers" />
-
- <bind action="EditSelectSameFillStroke" />
- <bind action="EditSelectSameFillColor" />
- <bind action="EditSelectSameStrokeColor" />
- <bind action="EditSelectSameStrokeStyle" />
-
- <bind key="a" modifiers="Shift,Alt" action="EditSelectSameObjectType" display="true" />
- <bind key="A" modifiers="Shift,Alt" action="EditSelectSameObjectType" />
-
- <bind key="exclam" action="EditInvert" display="true" />
- <bind key="exclam" modifiers="Shift" action="EditInvert" />
-
- <bind key="exclam" modifiers="Alt" action="EditInvertInAllLayers" display="true" />
- <bind key="exclam" modifiers="Alt,Shift" action="EditInvertInAllLayers" />
-
- <bind key="Tab" action="EditSelectNext" display="true" />
- <bind key="ISO_Left_Tab" action="EditSelectNext" />
- <bind key="Tab" modifiers="Shift" action="EditSelectPrev" display="true" />
- <bind key="ISO_Left_Tab" modifiers="Shift" action="EditSelectPrev" />
-
- <bind key="Escape" action="EditDeselect" />
-
- <bind key="7" action="EditNextPathEffectParameter" display="true" />
-
- <bind action="EditSwapFillStroke" display="true" />
-
- <bind key="r" modifiers="Primary,Shift" action="FitCanvasToSelectionOrDrawing" display="true" />
- <bind key="R" modifiers="Primary,Shift" action="FitCanvasToSelectionOrDrawing" display="true" />
-
- <!-- Objects/selection -->
-
- <bind key="h" action="ObjectFlipHorizontally" display="true" />
- <bind key="H" action="ObjectFlipHorizontally" />
-
- <bind key="v" action="ObjectFlipVertically" display="true" />
- <bind key="V" action="ObjectFlipVertically" />
-
- <bind key="Home" action="SelectionToFront" display="true" />
- <bind key="KP_Home" action="SelectionToFront" />
-
- <bind key="End" action="SelectionToBack" display="true" />
- <bind key="KP_End" action="SelectionToBack" />
-
- <bind key="Page_Up" action="SelectionRaise" display="true" />
- <bind key="KP_Page_Up" action="SelectionRaise" />
-
- <bind key="Page_Down" action="SelectionLower" display="true" />
- <bind key="KP_Page_Down" action="SelectionLower" />
-
- <bind key="comma" action="SelectionShrink" display="true" />
- <bind key="less" action="SelectionShrink" />
-
- <bind key="comma" modifiers="Alt" action="SelectionShrinkScreen" />
- <bind key="less" modifiers="Alt" action="SelectionShrinkScreen" />
-
- <bind key="comma" modifiers="Primary" action="SelectionShrinkHalve" />
- <bind key="less" modifiers="Primary" action="SelectionShrinkHalve" />
-
- <bind key="period" action="SelectionGrow" display="true" />
- <bind key="greater" action="SelectionGrow" />
-
- <bind key="period" modifiers="Alt" action="SelectionGrowScreen" />
- <bind key="greater" modifiers="Alt" action="SelectionGrowScreen" />
-
- <bind key="period" modifiers="Primary" action="SelectionGrowDouble" />
- <bind key="greater" modifiers="Primary" action="SelectionGrowDouble" />
-
- <bind key="g" modifiers="Primary" action="SelectionGroup" display="true" />
- <bind key="G" modifiers="Primary" action="SelectionGroup" />
- <bind key="u" modifiers="Primary,Shift" action="SelectionGroup" />
- <bind key="U" modifiers="Primary,Shift" action="SelectionGroup" />
-
- <bind key="g" modifiers="Primary,Shift" action="SelectionUnGroup" display="true" />
- <bind key="G" modifiers="Primary,Shift" action="SelectionUnGroup" />
- <bind key="u" modifiers="Primary" action="SelectionUnGroup" />
- <bind key="U" modifiers="Primary" action="SelectionUnGroup" />
-
- <bind key="b" modifiers="Alt" action="SelectionCreateBitmap" display="true" />
- <bind key="B" modifiers="Alt" action="SelectionCreateBitmap" />
-
- <bind key="b" modifiers="Alt,Shift" action="SelectionTrace" display="true" />
- <bind key="B" modifiers="Alt,Shift" action="SelectionTrace" />
-
- <bind action="SelectionPixelArt" />
-
- <bind key="i" modifiers="Alt" action="ObjectsToPattern" display="true" />
- <bind key="I" modifiers="Alt" action="ObjectsToPattern" />
-
- <bind key="i" modifiers="Alt,Shift" action="ObjectsFromPattern" display="true" />
- <bind key="I" modifiers="Alt,Shift" action="ObjectsFromPattern" />
-
- <bind key="g" modifiers="Shift" action="ObjectsToGuides" display="true" />
- <bind key="G" modifiers="Shift" action="ObjectsToGuides" />
-
- <bind action="ObjectSetMask" />
- <bind action="ObjectUnSetMask" />
-
- <bind action="ObjectSetClipPath" />
- <bind action="ObjectUnSetClipPath" />
-
- <!-- FIXME: currently these bypass the verbs, so the verbs are not bound to ctrl+[] as they should be -->
- <bind action="ObjectRotate90" />
- <bind action="ObjectRotate90CCW" />
-
- <bind action="ObjectRemoveTransform" />
-
- <bind action="FitCanvasToSelection" />
- <bind action="FitCanvasToDrawing" />
- <bind action="FitCanvasToSelectionOrDrawing" />
-
-<!-- Path -->
-
- <bind key="c" modifiers="Primary,Shift" action="ObjectToPath" display="true" />
- <bind key="C" modifiers="Primary,Shift" action="ObjectToPath" />
-
- <bind key="c" modifiers="Primary,Alt" action="StrokeToPath" display="true" />
- <bind key="C" modifiers="Primary,Alt" action="StrokeToPath" />
-
- <bind key="k" modifiers="Primary" action="SelectionCombine" display="true" />
- <bind key="K" modifiers="Primary" action="SelectionCombine" />
-
- <bind key="k" modifiers="Primary,Shift" action="SelectionBreakApart" display="true" />
- <bind key="K" modifiers="Primary,Shift" action="SelectionBreakApart" />
-
- <bind key="plus" modifiers="Primary" action="SelectionUnion" display="true" />
- <bind key="KP_Add" modifiers="Primary" action="SelectionUnion" />
- <bind key="plus" modifiers="Primary,Shift" action="SelectionUnion" />
-
- <bind key="asterisk" modifiers="Primary" action="SelectionIntersect" display="true" />
- <bind key="KP_Multiply" modifiers="Primary" action="SelectionIntersect" />
- <bind key="asterisk" modifiers="Primary,Shift" action="SelectionIntersect" />
-
- <bind key="minus" modifiers="Primary" action="SelectionDiff" display="true" />
- <bind key="underscore" modifiers="Primary" action="SelectionDiff" />
- <bind key="underscore" modifiers="Primary,Shift" action="SelectionDiff" />
- <bind key="KP_Subtract" modifiers="Primary" action="SelectionDiff" />
- <bind key="minus" modifiers="Primary,Shift" action="SelectionDiff" />
-
- <bind key="asciicircum" modifiers="Primary" action="SelectionSymDiff" display="true" /> <!-- ^ -->
- <bind key="asciicircum" modifiers="Primary,Shift" action="SelectionSymDiff" />
-
- <bind key="slash" modifiers="Primary,Alt" action="SelectionCutPath" display="true" />
- <bind key="slash" modifiers="Primary,Alt,Shift" action="SelectionCutPath" />
-
- <bind key="slash" modifiers="Primary" action="SelectionDivide" display="true" />
- <bind key="KP_Divide" modifiers="Primary" action="SelectionDivide" />
- <bind key="slash" modifiers="Primary,Shift" action="SelectionDivide" />
-
- <bind key="parenright" modifiers="Primary" action="SelectionOffset" display="true" />
- <bind key="parenright" modifiers="Primary,Shift" action="SelectionOffset" />
- <bind key="0" modifiers="Primary,Shift" action="SelectionOffset" />
- <bind key="0" modifiers="Primary" action="SelectionOffset" />
-
- <bind key="parenright" modifiers="Alt" action="SelectionOffsetScreen" display="true" />
- <bind key="0" modifiers="Alt" action="SelectionOffsetScreen" />
-
- <bind key="parenright" modifiers="Alt,Shift" action="SelectionOffsetScreen10" display="true" />
- <bind key="0" modifiers="Alt,Shift" action="SelectionOffsetScreen10" />
-
- <bind key="parenleft" modifiers="Primary" action="SelectionInset" display="true" />
- <bind key="parenleft" modifiers="Primary,Shift" action="SelectionInset" />
- <bind key="9" modifiers="Primary,Shift" action="SelectionInset" />
- <bind key="9" modifiers="Primary" action="SelectionInset" />
-
- <bind key="parenleft" modifiers="Alt" action="SelectionInsetScreen" display="true" />
- <bind key="9" modifiers="Alt" action="SelectionInsetScreen" />
-
- <bind key="parenleft" modifiers="Alt,Shift" action="SelectionInsetScreen10" display="true" />
- <bind key="9" modifiers="Alt,Shift" action="SelectionInsetScreen10" />
-
- <bind key="j" modifiers="Primary" action="SelectionDynOffset" display="true" />
- <bind key="J" modifiers="Primary" action="SelectionDynOffset" />
-
- <bind key="j" modifiers="Primary,Alt" action="SelectionLinkedOffset" display="true" />
- <bind key="J" modifiers="Primary,Alt" action="SelectionLinkedOffset" />
-
- <bind key="l" modifiers="Primary" action="SelectionSimplify" display="true" />
- <bind key="L" modifiers="Primary" action="SelectionSimplify" />
-
- <bind action="SelectionReverse" />
-
-<!-- Text -->
-
- <bind key="w" modifiers="Alt" action="ObjectFlowText" display="true" />
- <bind key="W" modifiers="Alt" action="ObjectFlowText" />
-
- <bind key="w" modifiers="Alt,Shift" action="ObjectUnFlowText" display="true" />
- <bind key="W" modifiers="Alt,Shift" action="ObjectUnFlowText" />
-
- <bind action="SelectionTextToPath" />
- <bind action="SelectionTextFromPath" />
-
- <bind action="ObjectFlowtextToText" />
- <bind action="SelectionTextRemoveKerns" />
-
- <bind key="k" modifiers="Primary,Alt" action="DialogSpellcheck" display="true" />
- <bind key="K" modifiers="Primary,Alt" action="DialogSpellcheck" />
-
-<!-- Layers -->
-
- <bind key="N" modifiers="Primary,Shift" action="LayerNew" display="true" />
- <bind key="n" modifiers="Primary,Shift" action="LayerNew" />
-
- <bind action="LayerRename" />
- <bind key="Page_Up" modifiers="Primary" action="LayerNext" display="true" />
- <bind key="KP_Page_Up" modifiers="Primary" action="LayerNext" />
- <bind key="Page_Down" modifiers="Primary" action="LayerPrev" display="true" />
- <bind key="KP_Page_Down" modifiers="Primary" action="LayerPrev" />
- <bind action="LayerDelete" />
-
- <bind key="Page_Up" modifiers="Primary,Shift" action="LayerRaise" display="true" />
- <bind key="KP_Page_Up" modifiers="Primary,Shift" action="LayerRaise" />
-
- <bind key="Page_Down" modifiers="Primary,Shift" action="LayerLower" display="true" />
- <bind key="KP_Page_Down" modifiers="Primary,Shift" action="LayerLower" />
-
- <bind key="Home" modifiers="Primary,Shift" action="LayerToTop" display="true" />
- <bind key="KP_Home" modifiers="Primary,Shift" action="LayerToTop" />
-
- <bind key="End" modifiers="Primary,Shift" action="LayerToBottom" display="true" />
- <bind key="KP_End" modifiers="Primary,Shift" action="LayerToBottom" />
-
- <bind key="Page_Up" modifiers="Shift" action="LayerMoveToNext" display="true" />
- <bind key="KP_Page_Up" modifiers="Shift" action="LayerMoveToNext" />
-
- <bind key="Page_Down" modifiers="Shift" action="LayerMoveToPrev" display="true" />
- <bind key="KP_Page_Down" modifiers="Shift" action="LayerMoveToPrev" />
-
- <bind action="LayerMoveTo" />
-
- <bind key="l" modifiers="Primary,Shift" action="DialogLayers" display="true" />
- <bind key="L" modifiers="Primary,Shift" action="DialogLayers" />
-
- <bind action="LayerDuplicate" />
- <bind action="LayerDelete" />
-
- <bind action="LayerHideAll" />
- <bind action="LayerSolo" />
- <bind action="LayerShowAll" />
-
- <bind action="LayerLockAll" />
- <bind action="LayerLockOthers" />
- <bind action="LayerUnlockAll" />
-
- <bind action="LayerToggleHide" />
- <bind action="LayerToggleLock" />
-
-<!-- Dialogs -->
-
- <bind key="x" modifiers="Primary,Shift" action="DialogXMLEditor" display="true" />
- <bind key="X" modifiers="Primary,Shift" action="DialogXMLEditor" />
-
- <bind key="d" modifiers="Primary,Shift" action="DialogDocumentProperties" display="true" />
- <bind key="D" modifiers="Primary,Shift" action="DialogDocumentProperties" />
-
- <bind key="a" modifiers="Primary,Shift" action="DialogAlignDistribute" display="true" />
- <bind key="A" modifiers="Primary,Shift" action="DialogAlignDistribute" />
-
- <bind key="t" modifiers="Primary,Shift" action="DialogText" display="true" />
- <bind key="T" modifiers="Primary,Shift" action="DialogText" />
-
- <bind key="p" modifiers="Primary,Shift" action="DialogPreferences" display="true" />
- <bind key="P" modifiers="Primary,Shift" action="DialogPreferences" />
-
- <bind key="f" modifiers="Primary,Shift" action="DialogFillStroke" display="true" />
- <bind key="F" modifiers="Primary,Shift" action="DialogFillStroke" />
-
- <bind key="f" modifiers="Primary" action="DialogFind" display="true" />
- <bind key="F" modifiers="Primary" action="DialogFind" />
-
- <bind key="m" modifiers="Primary,Shift" action="DialogTransform" display="true" />
- <bind key="M" modifiers="Primary,Shift" action="DialogTransform" />
-
- <bind key="o" modifiers="Primary,Shift" action="DialogObjectProperties" display="true" />
- <bind key="O" modifiers="Primary,Shift" action="DialogObjectProperties" />
-
- <bind action="DialogObjectAttributes" />
-
- <bind key="w" modifiers="Primary,Shift" action="DialogSwatches" display="true" />
- <bind key="W" modifiers="Primary,Shift" action="DialogSwatches" />
-
- <bind key="y" modifiers="Primary,Shift" action="DialogSymbols" display="true" />
- <bind key="Y" modifiers="Primary,Shift" action="DialogSymbols" />
-
- <bind key="ampersand" modifiers="Primary,Shift" action="DialogLivePathEffect" />
- <bind key="7" modifiers="Primary,Shift" action="DialogLivePathEffect" display="true" />
-
- <bind key="ampersand" modifiers="Primary" action="PasteLivePathEffect" />
- <bind key="7" modifiers="Primary" action="PasteLivePathEffect" display="true" />
-
- <bind action="RemoveLivePathEffect" />
-
- <bind action="DialogMetadata" />
- <bind action="DialogClonetiler" />
- <bind action="DialogArrange" />
- <bind action="DialogDebug" />
- <bind action="DialogInput" />
-
- <bind key="F12" action="DialogsToggle" display="true" />
-
- <bind key="h" modifiers="Primary,Alt" action="AlignHorizontalCenter" display="true" />
- <bind key="H" modifiers="Primary,Alt" action="AlignHorizontalCenter" />
-
- <bind key="t" modifiers="Primary,Alt" action="AlignVerticalCenter" display="true" />
- <bind key="T" modifiers="Primary,Alt" action="AlignVerticalCenter" />
-
- <bind key="KP_2" modifiers="Primary,Alt" action="AlignVerticalBottom" display="true" />
- <bind key="KP_2" modifiers="Primary,Alt" action="AlignVerticalBottom" />
-
- <bind key="KP_4" modifiers="Primary,Alt" action="AlignHorizontalLeft" display="true" />
- <bind key="KP_4" modifiers="Primary,Alt" action="AlignHorizontalLeft" />
-
- <bind key="KP_5" modifiers="Primary,Alt" action="AlignVerticalHorizontalCenter" display="true" />
- <bind key="KP_5" modifiers="Primary,Alt" action="AlignVerticalHorizontalCenter" />
-
- <bind key="KP_6" modifiers="Primary,Alt" action="AlignHorizontalRight" display="true" />
- <bind key="KP_6" modifiers="Primary,Alt" action="AlignHorizontalRight" />
-
- <bind key="KP_8" modifiers="Primary,Alt" action="AlignVerticalTop" display="true" />
- <bind key="KP_8" modifiers="Primary,Alt" action="AlignVerticalTop" />
-
-<!-- Help -->
-
- <bind action="HelpAboutExtensions" />
- <bind action="HelpAboutMemory" />
- <bind action="HelpAbout" />
- <!-- There are also verbs for tutorials, if you really need them -->
- <!-- Other commands in Help are implemented as extensions, with ids of org.inkscape.help.* -->
-
-<!-- Effects -->
-
- <bind key="q" modifiers="Alt" action="EffectLast" display="true" />
- <bind key="Q" modifiers="Alt" action="EffectLast" />
- <bind key="q" modifiers="Shift,Alt" action="EffectLastPref" display="true" />
- <bind key="Q" modifiers="Shift,Alt" action="EffectLastPref" />
-
- <!-- 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. -->
-
- <bind key="g" modifiers="Primary,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/>
- <bind key="G" modifiers="Primary,Alt" action="org.inkscape.typography.newglyphlayer"/>
-
-<!--
- <bind key="h" modifiers="Primary,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/>
- <bind key="H" modifiers="Primary,Alt" action="org.inkscape.typography.previousglyphlayer"/>
- -->
-
- <bind key="j" modifiers="Primary,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/>
- <bind key="J" modifiers="Primary,Alt" action="org.inkscape.typography.nextglyphlayer"/>
-
-</keys>
diff --git a/share/keys/inkscape.xml b/share/keys/inkscape.xml
index b56e1d957..88694e6be 100644
--- a/share/keys/inkscape.xml
+++ b/share/keys/inkscape.xml
@@ -11,7 +11,9 @@ 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".
+one or more of: "Ctrl", "Shift", "Alt", "Meta", "Super", "Hyper", or "Primary".
+
+"Primary" means Meta on Apple and Ctrl everywhere else, it's recommended over the use of Ctrl.
- The "action" attribute contains the name of the action. The complete list of actions
(called "verbs") is in the file src/verbs.cpp in Inkscape source; there you can see
@@ -41,44 +43,42 @@ override) the bindings in the main default.xml.
<!-- File -->
- <bind key="n" modifiers="Ctrl" action="FileNew" display="true" />
- <bind key="N" modifiers="Ctrl" action="FileNew" />
+ <bind key="n" modifiers="Primary" action="FileNew" display="true" />
+ <bind key="N" modifiers="Primary" action="FileNew" />
- <bind key="n" modifiers="Ctrl,Alt" action="FileTemplates" display="true" />
- <bind key="N" modifiers="Ctrl,Alt" action="FileTemplates" />
+ <bind key="n" modifiers="Primary,Alt" action="FileTemplates" display="true" />
+ <bind key="N" modifiers="Primary,Alt" action="FileTemplates" />
- <bind key="o" modifiers="Ctrl" action="FileOpen" display="true" />
- <bind key="O" modifiers="Ctrl" action="FileOpen" />
+ <bind key="o" modifiers="Primary" action="FileOpen" display="true" />
+ <bind key="O" modifiers="Primary" action="FileOpen" />
<bind action="FileRevert" />
- <bind key="s" modifiers="Ctrl" action="FileSave" display="true" />
- <bind key="S" modifiers="Ctrl" action="FileSave" />
-
- <bind key="s" modifiers="Ctrl,Shift" action="FileSaveAs" display="true" />
- <bind key="S" modifiers="Ctrl,Shift" action="FileSaveAs" />
+ <bind key="s" modifiers="Primary" action="FileSave" display="true" />
+ <bind key="S" modifiers="Primary" action="FileSave" />
- <bind key="s" modifiers="Ctrl,Shift,Alt" action="FileSaveACopy" display="true" />
- <bind key="S" modifiers="Ctrl,Shift,Alt" action="FileSaveACopy" />
+ <bind key="s" modifiers="Primary,Shift" action="FileSaveAs" display="true" />
+ <bind key="S" modifiers="Primary,Shift" action="FileSaveAs" />
- <bind action="FileSaveTemplate" />
+ <bind key="s" modifiers="Primary,Shift,Alt" action="FileSaveACopy" display="true" />
+ <bind key="S" modifiers="Primary,Shift,Alt" action="FileSaveACopy" />
- <bind key="p" modifiers="Ctrl" action="FilePrint" display="true" />
- <bind key="P" modifiers="Ctrl" action="FilePrint" />
+ <bind key="p" modifiers="Primary" action="FilePrint" display="true" />
+ <bind key="P" modifiers="Primary" action="FilePrint" />
- <bind key="i" modifiers="Ctrl" action="FileImport" display="true" />
- <bind key="I" modifiers="Ctrl" action="FileImport" />
+ <bind key="i" modifiers="Primary" action="FileImport" display="true" />
+ <bind key="I" modifiers="Primary" action="FileImport" />
- <bind key="e" modifiers="Ctrl,Shift" action="DialogExport" display="true" />
- <bind key="E" modifiers="Ctrl,Shift" action="DialogExport" />
+ <bind key="e" modifiers="Primary,Shift" action="DialogExport" display="true" />
+ <bind key="E" modifiers="Primary,Shift" action="DialogExport" />
<bind action="FileVacuum" />
- <bind key="w" modifiers="Ctrl" action="FileClose" display="true" />
- <bind key="W" modifiers="Ctrl" action="FileClose" />
+ <bind key="w" modifiers="Primary" action="FileClose" display="true" />
+ <bind key="W" modifiers="Primary" action="FileClose" />
- <bind key="q" modifiers="Ctrl" action="FileQuit" display="true" />
- <bind key="Q" modifiers="Ctrl" action="FileQuit" />
+ <bind key="q" modifiers="Primary" action="FileQuit" display="true" />
+ <bind key="Q" modifiers="Primary" action="FileQuit" />
<!-- Tools -->
@@ -154,7 +154,7 @@ override) the bindings in the main default.xml.
<bind action="PenPrefs" />
- <bind key="F6" modifiers="Ctrl" action="ToolCalligraphic" display="true" />
+ <bind key="F6" modifiers="Primary" action="ToolCalligraphic" display="true" />
<bind key="c" action="ToolCalligraphic" />
<bind key="C" action="ToolCalligraphic" />
@@ -176,13 +176,13 @@ override) the bindings in the main default.xml.
<bind action="TextPrefs" />
- <bind key="F1" modifiers="Ctrl" action="ToolGradient" display="true" />
+ <bind key="F1" modifiers="Primary" action="ToolGradient" display="true" />
<bind key="g" action="ToolGradient" />
<bind key="G" action="ToolGradient" />
<bind action="GradientPrefs" />
- <bind key="F2" modifiers="Ctrl" action="ToolConnector" display="true" />
+ <bind key="F2" modifiers="Primary" action="ToolConnector" display="true" />
<bind key="o" action="ToolConnector" />
<bind key="O" action="ToolConnector" />
@@ -234,8 +234,8 @@ override) the bindings in the main default.xml.
<bind key="6" modifiers="Shift" action="ZoomPageWidth" />
<bind key="KP_6" action="ZoomPageWidth" />
- <bind key="e" modifiers="Ctrl" action="ZoomPageWidth" />
- <bind key="E" modifiers="Ctrl" action="ZoomPageWidth" />
+ <bind key="e" modifiers="Primary" action="ZoomPageWidth" />
+ <bind key="E" modifiers="Primary" action="ZoomPageWidth" />
<bind key="grave" modifiers="Shift" action="ZoomNext" display="true" /> <!-- ` -->
<bind key="asciitilde" modifiers="Shift" action="ZoomNext" /> <!-- ~ -->
@@ -247,12 +247,12 @@ override) the bindings in the main default.xml.
<bind key="F11" action="FullScreen" display="true" />
<bind key="F11" action="FocusToggle" modifiers="Shift" display="true" />
- <bind key="F11" action="FullScreenFocus" modifiers="Ctrl" display="true" />
+ <bind key="F11" action="FullScreenFocus" modifiers="Primary" display="true" />
- <bind key="Tab" modifiers="Ctrl" action="NextWindow" display="true" />
- <bind key="ISO_Left_Tab" modifiers="Ctrl" action="NextWindow" />
- <bind key="Tab" modifiers="Ctrl,Shift" action="PrevWindow" display="true" />
- <bind key="ISO_Left_Tab" modifiers="Ctrl,Shift" action="PrevWindow" />
+ <bind key="Tab" modifiers="Primary" action="NextWindow" display="true" />
+ <bind key="ISO_Left_Tab" modifiers="Primary" action="NextWindow" />
+ <bind key="Tab" modifiers="Primary,Shift" action="PrevWindow" display="true" />
+ <bind key="ISO_Left_Tab" modifiers="Primary,Shift" action="PrevWindow" />
<bind key="numbersign" modifiers="Shift" action="ToggleGrid" /> <!-- # -->
<bind key="numbersign" action="ToggleGrid" display="true" />
@@ -268,11 +268,11 @@ override) the bindings in the main default.xml.
<bind action="ToggleToolToolbar" />
<bind action="ToggleToolbox" />
- <bind key="r" modifiers="Ctrl" action="ToggleRulers" display="true" />
- <bind key="R" modifiers="Ctrl" action="ToggleRulers" />
+ <bind key="r" modifiers="Primary" action="ToggleRulers" display="true" />
+ <bind key="R" modifiers="Primary" action="ToggleRulers" />
- <bind key="b" modifiers="Ctrl" action="ToggleScrollbars" display="true" />
- <bind key="B" modifiers="Ctrl" action="ToggleScrollbars" />
+ <bind key="b" modifiers="Primary" action="ToggleScrollbars" display="true" />
+ <bind key="B" modifiers="Primary" action="ToggleScrollbars" />
<bind key="p" modifiers="Shift,Alt" action="TogglePalette" display="true" />
<bind key="P" modifiers="Shift,Alt" action="TogglePalette" />
@@ -283,8 +283,8 @@ override) the bindings in the main default.xml.
<bind action="ViewNewPreview" />
<bind action="ViewIconPreview" />
- <bind key="KP_5" modifiers="Ctrl" action="ViewModeToggle" display="true" />
- <bind key="KP_Begin" modifiers="Ctrl" action="ViewModeToggle" />
+ <bind key="KP_5" modifiers="Primary" action="ViewModeToggle" display="true" />
+ <bind key="KP_Begin" modifiers="Primary" action="ViewModeToggle" />
<bind action="ViewModeNormal" />
<bind action="ViewModeNoFilters" />
@@ -297,35 +297,35 @@ override) the bindings in the main default.xml.
<!-- Edit -->
- <bind key="z" modifiers="Ctrl" action="EditUndo" display="true" />
- <bind key="Z" modifiers="Ctrl" action="EditUndo" />
- <!--Do not put in Ctrl,Shift+Y, already used-->
+ <bind key="z" modifiers="Primary" action="EditUndo" display="true" />
+ <bind key="Z" modifiers="Primary" action="EditUndo" />
+ <!--Do not put in Primary,Shift+Y, already used-->
- <bind key="z" modifiers="Ctrl,Shift" action="EditRedo" display="true" />
- <bind key="Z" modifiers="Ctrl,Shift" action="EditRedo" />
- <bind key="y" modifiers="Ctrl" action="EditRedo" />
- <bind key="Y" modifiers="Ctrl" action="EditRedo" />
+ <bind key="z" modifiers="Primary,Shift" action="EditRedo" display="true" />
+ <bind key="Z" modifiers="Primary,Shift" action="EditRedo" />
+ <bind key="y" modifiers="Primary" action="EditRedo" />
+ <bind key="Y" modifiers="Primary" action="EditRedo" />
- <bind key="h" modifiers="Ctrl,Shift" action="DialogUndoHistory" display="true" />
- <bind key="H" modifiers="Ctrl,Shift" action="DialogUndoHistory" />
+ <bind key="h" modifiers="Primary,Shift" action="DialogUndoHistory" display="true" />
+ <bind key="H" modifiers="Primary,Shift" action="DialogUndoHistory" />
- <bind key="x" modifiers="Ctrl" action="EditCut" display="true" />
- <bind key="X" modifiers="Ctrl" action="EditCut" />
+ <bind key="x" modifiers="Primary" action="EditCut" display="true" />
+ <bind key="X" modifiers="Primary" action="EditCut" />
<bind key="Delete" modifiers="Shift" action="EditCut"/>
- <bind key="c" modifiers="Ctrl" action="EditCopy" display="true" />
- <bind key="C" modifiers="Ctrl" action="EditCopy" />
- <bind key="Insert" modifiers="Ctrl" action="EditCopy"/>
+ <bind key="c" modifiers="Primary" action="EditCopy" display="true" />
+ <bind key="C" modifiers="Primary" action="EditCopy" />
+ <bind key="Insert" modifiers="Primary" action="EditCopy"/>
- <bind key="v" modifiers="Ctrl" action="EditPaste" display="true" />
- <bind key="V" modifiers="Ctrl" action="EditPaste" />
+ <bind key="v" modifiers="Primary" action="EditPaste" display="true" />
+ <bind key="V" modifiers="Primary" action="EditPaste" />
<bind key="Insert" modifiers="Shift" action="EditPaste"/>
- <bind key="v" modifiers="Ctrl,Shift" action="EditPasteStyle" display="true" />
- <bind key="V" modifiers="Ctrl,Shift" action="EditPasteStyle" />
+ <bind key="v" modifiers="Primary,Shift" action="EditPasteStyle" display="true" />
+ <bind key="V" modifiers="Primary,Shift" action="EditPasteStyle" />
- <bind key="v" modifiers="Ctrl,Alt" action="EditPasteInPlace" display="true" />
- <bind key="V" modifiers="Ctrl,Alt" action="EditPasteInPlace" />
+ <bind key="v" modifiers="Primary,Alt" action="EditPasteInPlace" display="true" />
+ <bind key="V" modifiers="Primary,Alt" action="EditPasteInPlace" />
<bind action="EditPasteSize" />
<bind action="EditPasteWidth" />
@@ -338,8 +338,8 @@ override) the bindings in the main default.xml.
<bind key="KP_Delete" action="EditDelete" />
<bind key="BackSpace" action="EditDelete" />
- <bind key="d" modifiers="Ctrl" action="EditDuplicate" display="true" />
- <bind key="D" modifiers="Ctrl" action="EditDuplicate" />
+ <bind key="d" modifiers="Primary" action="EditDuplicate" display="true" />
+ <bind key="D" modifiers="Primary" action="EditDuplicate" />
<bind key="d" modifiers="Alt" action="EditClone" display="true" />
<bind key="D" modifiers="Alt" action="EditClone" />
@@ -354,13 +354,13 @@ override) the bindings in the main default.xml.
<bind action="EditCloneOriginalPathLPE" />
- <bind key="a" modifiers="Ctrl" action="EditSelectAll" display="true" />
- <bind key="A" modifiers="Ctrl" action="EditSelectAll" />
+ <bind key="a" modifiers="Primary" action="EditSelectAll" display="true" />
+ <bind key="A" modifiers="Primary" action="EditSelectAll" />
<bind action="EditClearAll" />
- <bind key="a" modifiers="Ctrl,Alt" action="EditSelectAllInAllLayers" display="true" />
- <bind key="A" modifiers="Ctrl,Alt" action="EditSelectAllInAllLayers" />
+ <bind key="a" modifiers="Primary,Alt" action="EditSelectAllInAllLayers" display="true" />
+ <bind key="A" modifiers="Primary,Alt" action="EditSelectAllInAllLayers" />
<bind action="EditSelectSameFillStroke" />
<bind action="EditSelectSameFillColor" />
@@ -384,10 +384,11 @@ override) the bindings in the main default.xml.
<bind key="Escape" action="EditDeselect" />
<bind key="7" action="EditNextPathEffectParameter" display="true" />
+
<bind action="EditSwapFillStroke" display="true" />
- <bind key="r" modifiers="Ctrl,Shift" action="FitCanvasToSelectionOrDrawing" display="true" />
- <bind key="R" modifiers="Ctrl,Shift" action="FitCanvasToSelectionOrDrawing" display="true" />
+ <bind key="r" modifiers="Primary,Shift" action="FitCanvasToSelectionOrDrawing" display="true" />
+ <bind key="R" modifiers="Primary,Shift" action="FitCanvasToSelectionOrDrawing" display="true" />
<!-- Objects/selection -->
@@ -415,8 +416,8 @@ override) the bindings in the main default.xml.
<bind key="comma" modifiers="Alt" action="SelectionShrinkScreen" />
<bind key="less" modifiers="Alt" action="SelectionShrinkScreen" />
- <bind key="comma" modifiers="Ctrl" action="SelectionShrinkHalve" />
- <bind key="less" modifiers="Ctrl" action="SelectionShrinkHalve" />
+ <bind key="comma" modifiers="Primary" action="SelectionShrinkHalve" />
+ <bind key="less" modifiers="Primary" action="SelectionShrinkHalve" />
<bind key="period" action="SelectionGrow" display="true" />
<bind key="greater" action="SelectionGrow" />
@@ -424,18 +425,18 @@ override) the bindings in the main default.xml.
<bind key="period" modifiers="Alt" action="SelectionGrowScreen" />
<bind key="greater" modifiers="Alt" action="SelectionGrowScreen" />
- <bind key="period" modifiers="Ctrl" action="SelectionGrowDouble" />
- <bind key="greater" modifiers="Ctrl" action="SelectionGrowDouble" />
+ <bind key="period" modifiers="Primary" action="SelectionGrowDouble" />
+ <bind key="greater" modifiers="Primary" action="SelectionGrowDouble" />
- <bind key="g" modifiers="Ctrl" action="SelectionGroup" display="true" />
- <bind key="G" modifiers="Ctrl" action="SelectionGroup" />
- <bind key="u" modifiers="Ctrl,Shift" action="SelectionGroup" />
- <bind key="U" modifiers="Ctrl,Shift" action="SelectionGroup" />
+ <bind key="g" modifiers="Primary" action="SelectionGroup" display="true" />
+ <bind key="G" modifiers="Primary" action="SelectionGroup" />
+ <bind key="u" modifiers="Primary,Shift" action="SelectionGroup" />
+ <bind key="U" modifiers="Primary,Shift" action="SelectionGroup" />
- <bind key="g" modifiers="Ctrl,Shift" action="SelectionUnGroup" display="true" />
- <bind key="G" modifiers="Ctrl,Shift" action="SelectionUnGroup" />
- <bind key="u" modifiers="Ctrl" action="SelectionUnGroup" />
- <bind key="U" modifiers="Ctrl" action="SelectionUnGroup" />
+ <bind key="g" modifiers="Primary,Shift" action="SelectionUnGroup" display="true" />
+ <bind key="G" modifiers="Primary,Shift" action="SelectionUnGroup" />
+ <bind key="u" modifiers="Primary" action="SelectionUnGroup" />
+ <bind key="U" modifiers="Primary" action="SelectionUnGroup" />
<bind key="b" modifiers="Alt" action="SelectionCreateBitmap" display="true" />
<bind key="B" modifiers="Alt" action="SelectionCreateBitmap" />
@@ -472,46 +473,46 @@ override) the bindings in the main default.xml.
<!-- Path -->
- <bind key="c" modifiers="Ctrl,Shift" action="ObjectToPath" display="true" />
- <bind key="C" modifiers="Ctrl,Shift" action="ObjectToPath" />
+ <bind key="c" modifiers="Primary,Shift" action="ObjectToPath" display="true" />
+ <bind key="C" modifiers="Primary,Shift" action="ObjectToPath" />
- <bind key="c" modifiers="Ctrl,Alt" action="StrokeToPath" display="true" />
- <bind key="C" modifiers="Ctrl,Alt" action="StrokeToPath" />
+ <bind key="c" modifiers="Primary,Alt" action="StrokeToPath" display="true" />
+ <bind key="C" modifiers="Primary,Alt" action="StrokeToPath" />
- <bind key="k" modifiers="Ctrl" action="SelectionCombine" display="true" />
- <bind key="K" modifiers="Ctrl" action="SelectionCombine" />
+ <bind key="k" modifiers="Primary" action="SelectionCombine" display="true" />
+ <bind key="K" modifiers="Primary" action="SelectionCombine" />
- <bind key="k" modifiers="Ctrl,Shift" action="SelectionBreakApart" display="true" />
- <bind key="K" modifiers="Ctrl,Shift" action="SelectionBreakApart" />
+ <bind key="k" modifiers="Primary,Shift" action="SelectionBreakApart" display="true" />
+ <bind key="K" modifiers="Primary,Shift" action="SelectionBreakApart" />
- <bind key="plus" modifiers="Ctrl" action="SelectionUnion" display="true" />
- <bind key="KP_Add" modifiers="Ctrl" action="SelectionUnion" />
- <bind key="plus" modifiers="Ctrl,Shift" action="SelectionUnion" />
+ <bind key="plus" modifiers="Primary" action="SelectionUnion" display="true" />
+ <bind key="KP_Add" modifiers="Primary" action="SelectionUnion" />
+ <bind key="plus" modifiers="Primary,Shift" action="SelectionUnion" />
- <bind key="asterisk" modifiers="Ctrl" action="SelectionIntersect" display="true" />
- <bind key="KP_Multiply" modifiers="Ctrl" action="SelectionIntersect" />
- <bind key="asterisk" modifiers="Ctrl,Shift" action="SelectionIntersect" />
+ <bind key="asterisk" modifiers="Primary" action="SelectionIntersect" display="true" />
+ <bind key="KP_Multiply" modifiers="Primary" action="SelectionIntersect" />
+ <bind key="asterisk" modifiers="Primary,Shift" action="SelectionIntersect" />
- <bind key="minus" modifiers="Ctrl" action="SelectionDiff" display="true" />
- <bind key="underscore" modifiers="Ctrl" action="SelectionDiff" />
- <bind key="underscore" modifiers="Ctrl,Shift" action="SelectionDiff" />
- <bind key="KP_Subtract" modifiers="Ctrl" action="SelectionDiff" />
- <bind key="minus" modifiers="Ctrl,Shift" action="SelectionDiff" />
+ <bind key="minus" modifiers="Primary" action="SelectionDiff" display="true" />
+ <bind key="underscore" modifiers="Primary" action="SelectionDiff" />
+ <bind key="underscore" modifiers="Primary,Shift" action="SelectionDiff" />
+ <bind key="KP_Subtract" modifiers="Primary" action="SelectionDiff" />
+ <bind key="minus" modifiers="Primary,Shift" action="SelectionDiff" />
- <bind key="asciicircum" modifiers="Ctrl" action="SelectionSymDiff" display="true" /> <!-- ^ -->
- <bind key="asciicircum" modifiers="Ctrl,Shift" action="SelectionSymDiff" />
+ <bind key="asciicircum" modifiers="Primary" action="SelectionSymDiff" display="true" /> <!-- ^ -->
+ <bind key="asciicircum" modifiers="Primary,Shift" action="SelectionSymDiff" />
- <bind key="slash" modifiers="Ctrl,Alt" action="SelectionCutPath" display="true" />
- <bind key="slash" modifiers="Ctrl,Alt,Shift" action="SelectionCutPath" />
+ <bind key="slash" modifiers="Primary,Alt" action="SelectionCutPath" display="true" />
+ <bind key="slash" modifiers="Primary,Alt,Shift" action="SelectionCutPath" />
- <bind key="slash" modifiers="Ctrl" action="SelectionDivide" display="true" />
- <bind key="KP_Divide" modifiers="Ctrl" action="SelectionDivide" />
- <bind key="slash" modifiers="Ctrl,Shift" action="SelectionDivide" />
+ <bind key="slash" modifiers="Primary" action="SelectionDivide" display="true" />
+ <bind key="KP_Divide" modifiers="Primary" action="SelectionDivide" />
+ <bind key="slash" modifiers="Primary,Shift" action="SelectionDivide" />
- <bind key="parenright" modifiers="Ctrl" action="SelectionOffset" display="true" />
- <bind key="parenright" modifiers="Ctrl,Shift" action="SelectionOffset" />
- <bind key="0" modifiers="Ctrl,Shift" action="SelectionOffset" />
- <bind key="0" modifiers="Ctrl" action="SelectionOffset" />
+ <bind key="parenright" modifiers="Primary" action="SelectionOffset" display="true" />
+ <bind key="parenright" modifiers="Primary,Shift" action="SelectionOffset" />
+ <bind key="0" modifiers="Primary,Shift" action="SelectionOffset" />
+ <bind key="0" modifiers="Primary" action="SelectionOffset" />
<bind key="parenright" modifiers="Alt" action="SelectionOffsetScreen" display="true" />
<bind key="0" modifiers="Alt" action="SelectionOffsetScreen" />
@@ -519,10 +520,10 @@ override) the bindings in the main default.xml.
<bind key="parenright" modifiers="Alt,Shift" action="SelectionOffsetScreen10" display="true" />
<bind key="0" modifiers="Alt,Shift" action="SelectionOffsetScreen10" />
- <bind key="parenleft" modifiers="Ctrl" action="SelectionInset" display="true" />
- <bind key="parenleft" modifiers="Ctrl,Shift" action="SelectionInset" />
- <bind key="9" modifiers="Ctrl,Shift" action="SelectionInset" />
- <bind key="9" modifiers="Ctrl" action="SelectionInset" />
+ <bind key="parenleft" modifiers="Primary" action="SelectionInset" display="true" />
+ <bind key="parenleft" modifiers="Primary,Shift" action="SelectionInset" />
+ <bind key="9" modifiers="Primary,Shift" action="SelectionInset" />
+ <bind key="9" modifiers="Primary" action="SelectionInset" />
<bind key="parenleft" modifiers="Alt" action="SelectionInsetScreen" display="true" />
<bind key="9" modifiers="Alt" action="SelectionInsetScreen" />
@@ -530,14 +531,14 @@ override) the bindings in the main default.xml.
<bind key="parenleft" modifiers="Alt,Shift" action="SelectionInsetScreen10" display="true" />
<bind key="9" modifiers="Alt,Shift" action="SelectionInsetScreen10" />
- <bind key="j" modifiers="Ctrl" action="SelectionDynOffset" display="true" />
- <bind key="J" modifiers="Ctrl" action="SelectionDynOffset" />
+ <bind key="j" modifiers="Primary" action="SelectionDynOffset" display="true" />
+ <bind key="J" modifiers="Primary" action="SelectionDynOffset" />
- <bind key="j" modifiers="Ctrl,Alt" action="SelectionLinkedOffset" display="true" />
- <bind key="J" modifiers="Ctrl,Alt" action="SelectionLinkedOffset" />
+ <bind key="j" modifiers="Primary,Alt" action="SelectionLinkedOffset" display="true" />
+ <bind key="J" modifiers="Primary,Alt" action="SelectionLinkedOffset" />
- <bind key="l" modifiers="Ctrl" action="SelectionSimplify" display="true" />
- <bind key="L" modifiers="Ctrl" action="SelectionSimplify" />
+ <bind key="l" modifiers="Primary" action="SelectionSimplify" display="true" />
+ <bind key="L" modifiers="Primary" action="SelectionSimplify" />
<bind action="SelectionReverse" />
@@ -555,32 +556,32 @@ override) the bindings in the main default.xml.
<bind action="ObjectFlowtextToText" />
<bind action="SelectionTextRemoveKerns" />
- <bind key="k" modifiers="Ctrl,Alt" action="DialogSpellcheck" display="true" />
- <bind key="K" modifiers="Ctrl,Alt" action="DialogSpellcheck" />
+ <bind key="k" modifiers="Primary,Alt" action="DialogSpellcheck" display="true" />
+ <bind key="K" modifiers="Primary,Alt" action="DialogSpellcheck" />
<!-- Layers -->
- <bind key="N" modifiers="Ctrl,Shift" action="LayerNew" display="true" />
- <bind key="n" modifiers="Ctrl,Shift" action="LayerNew" />
+ <bind key="N" modifiers="Primary,Shift" action="LayerNew" display="true" />
+ <bind key="n" modifiers="Primary,Shift" action="LayerNew" />
<bind action="LayerRename" />
- <bind key="Page_Up" modifiers="Ctrl" action="LayerNext" display="true" />
- <bind key="KP_Page_Up" modifiers="Ctrl" action="LayerNext" />
- <bind key="Page_Down" modifiers="Ctrl" action="LayerPrev" display="true" />
- <bind key="KP_Page_Down" modifiers="Ctrl" action="LayerPrev" />
+ <bind key="Page_Up" modifiers="Primary" action="LayerNext" display="true" />
+ <bind key="KP_Page_Up" modifiers="Primary" action="LayerNext" />
+ <bind key="Page_Down" modifiers="Primary" action="LayerPrev" display="true" />
+ <bind key="KP_Page_Down" modifiers="Primary" action="LayerPrev" />
<bind action="LayerDelete" />
- <bind key="Page_Up" modifiers="Ctrl,Shift" action="LayerRaise" display="true" />
- <bind key="KP_Page_Up" modifiers="Ctrl,Shift" action="LayerRaise" />
+ <bind key="Page_Up" modifiers="Primary,Shift" action="LayerRaise" display="true" />
+ <bind key="KP_Page_Up" modifiers="Primary,Shift" action="LayerRaise" />
- <bind key="Page_Down" modifiers="Ctrl,Shift" action="LayerLower" display="true" />
- <bind key="KP_Page_Down" modifiers="Ctrl,Shift" action="LayerLower" />
+ <bind key="Page_Down" modifiers="Primary,Shift" action="LayerLower" display="true" />
+ <bind key="KP_Page_Down" modifiers="Primary,Shift" action="LayerLower" />
- <bind key="Home" modifiers="Ctrl,Shift" action="LayerToTop" display="true" />
- <bind key="KP_Home" modifiers="Ctrl,Shift" action="LayerToTop" />
+ <bind key="Home" modifiers="Primary,Shift" action="LayerToTop" display="true" />
+ <bind key="KP_Home" modifiers="Primary,Shift" action="LayerToTop" />
- <bind key="End" modifiers="Ctrl,Shift" action="LayerToBottom" display="true" />
- <bind key="KP_End" modifiers="Ctrl,Shift" action="LayerToBottom" />
+ <bind key="End" modifiers="Primary,Shift" action="LayerToBottom" display="true" />
+ <bind key="KP_End" modifiers="Primary,Shift" action="LayerToBottom" />
<bind key="Page_Up" modifiers="Shift" action="LayerMoveToNext" display="true" />
<bind key="KP_Page_Up" modifiers="Shift" action="LayerMoveToNext" />
@@ -590,8 +591,8 @@ override) the bindings in the main default.xml.
<bind action="LayerMoveTo" />
- <bind key="l" modifiers="Ctrl,Shift" action="DialogLayers" display="true" />
- <bind key="L" modifiers="Ctrl,Shift" action="DialogLayers" />
+ <bind key="l" modifiers="Primary,Shift" action="DialogLayers" display="true" />
+ <bind key="L" modifiers="Primary,Shift" action="DialogLayers" />
<bind action="LayerDuplicate" />
<bind action="LayerDelete" />
@@ -609,46 +610,46 @@ override) the bindings in the main default.xml.
<!-- Dialogs -->
- <bind key="x" modifiers="Ctrl,Shift" action="DialogXMLEditor" display="true" />
- <bind key="X" modifiers="Ctrl,Shift" action="DialogXMLEditor" />
+ <bind key="x" modifiers="Primary,Shift" action="DialogXMLEditor" display="true" />
+ <bind key="X" modifiers="Primary,Shift" action="DialogXMLEditor" />
- <bind key="d" modifiers="Ctrl,Shift" action="DialogDocumentProperties" display="true" />
- <bind key="D" modifiers="Ctrl,Shift" action="DialogDocumentProperties" />
+ <bind key="d" modifiers="Primary,Shift" action="DialogDocumentProperties" display="true" />
+ <bind key="D" modifiers="Primary,Shift" action="DialogDocumentProperties" />
- <bind key="a" modifiers="Ctrl,Shift" action="DialogAlignDistribute" display="true" />
- <bind key="A" modifiers="Ctrl,Shift" action="DialogAlignDistribute" />
+ <bind key="a" modifiers="Primary,Shift" action="DialogAlignDistribute" display="true" />
+ <bind key="A" modifiers="Primary,Shift" action="DialogAlignDistribute" />
- <bind key="t" modifiers="Ctrl,Shift" action="DialogText" display="true" />
- <bind key="T" modifiers="Ctrl,Shift" action="DialogText" />
+ <bind key="t" modifiers="Primary,Shift" action="DialogText" display="true" />
+ <bind key="T" modifiers="Primary,Shift" action="DialogText" />
- <bind key="p" modifiers="Ctrl,Shift" action="DialogPreferences" display="true" />
- <bind key="P" modifiers="Ctrl,Shift" action="DialogPreferences" />
+ <bind key="p" modifiers="Primary,Shift" action="DialogPreferences" display="true" />
+ <bind key="P" modifiers="Primary,Shift" action="DialogPreferences" />
- <bind key="f" modifiers="Ctrl,Shift" action="DialogFillStroke" display="true" />
- <bind key="F" modifiers="Ctrl,Shift" action="DialogFillStroke" />
+ <bind key="f" modifiers="Primary,Shift" action="DialogFillStroke" display="true" />
+ <bind key="F" modifiers="Primary,Shift" action="DialogFillStroke" />
- <bind key="f" modifiers="Ctrl" action="DialogFind" display="true" />
- <bind key="F" modifiers="Ctrl" action="DialogFind" />
+ <bind key="f" modifiers="Primary" action="DialogFind" display="true" />
+ <bind key="F" modifiers="Primary" action="DialogFind" />
- <bind key="m" modifiers="Ctrl,Shift" action="DialogTransform" display="true" />
- <bind key="M" modifiers="Ctrl,Shift" action="DialogTransform" />
+ <bind key="m" modifiers="Primary,Shift" action="DialogTransform" display="true" />
+ <bind key="M" modifiers="Primary,Shift" action="DialogTransform" />
- <bind key="o" modifiers="Ctrl,Shift" action="DialogObjectProperties" display="true" />
- <bind key="O" modifiers="Ctrl,Shift" action="DialogObjectProperties" />
+ <bind key="o" modifiers="Primary,Shift" action="DialogObjectProperties" display="true" />
+ <bind key="O" modifiers="Primary,Shift" action="DialogObjectProperties" />
<bind action="DialogObjectAttributes" />
- <bind key="w" modifiers="Ctrl,Shift" action="DialogSwatches" display="true" />
- <bind key="W" modifiers="Ctrl,Shift" action="DialogSwatches" />
+ <bind key="w" modifiers="Primary,Shift" action="DialogSwatches" display="true" />
+ <bind key="W" modifiers="Primary,Shift" action="DialogSwatches" />
- <bind key="y" modifiers="Ctrl,Shift" action="DialogSymbols" display="true" />
- <bind key="Y" modifiers="Ctrl,Shift" action="DialogSymbols" />
+ <bind key="y" modifiers="Primary,Shift" action="DialogSymbols" display="true" />
+ <bind key="Y" modifiers="Primary,Shift" action="DialogSymbols" />
- <bind key="ampersand" modifiers="Ctrl,Shift" action="DialogLivePathEffect" />
- <bind key="7" modifiers="Ctrl,Shift" action="DialogLivePathEffect" display="true" />
+ <bind key="ampersand" modifiers="Primary,Shift" action="DialogLivePathEffect" />
+ <bind key="7" modifiers="Primary,Shift" action="DialogLivePathEffect" display="true" />
- <bind key="ampersand" modifiers="Ctrl" action="PasteLivePathEffect" />
- <bind key="7" modifiers="Ctrl" action="PasteLivePathEffect" display="true" />
+ <bind key="ampersand" modifiers="Primary" action="PasteLivePathEffect" />
+ <bind key="7" modifiers="Primary" action="PasteLivePathEffect" display="true" />
<bind action="RemoveLivePathEffect" />
@@ -660,26 +661,26 @@ override) the bindings in the main default.xml.
<bind key="F12" action="DialogsToggle" display="true" />
- <bind key="h" modifiers="Ctrl,Alt" action="AlignHorizontalCenter" display="true" />
- <bind key="H" modifiers="Ctrl,Alt" action="AlignHorizontalCenter" />
+ <bind key="h" modifiers="Primary,Alt" action="AlignHorizontalCenter" display="true" />
+ <bind key="H" modifiers="Primary,Alt" action="AlignHorizontalCenter" />
- <bind key="t" modifiers="Ctrl,Alt" action="AlignVerticalCenter" display="true" />
- <bind key="T" modifiers="Ctrl,Alt" action="AlignVerticalCenter" />
+ <bind key="t" modifiers="Primary,Alt" action="AlignVerticalCenter" display="true" />
+ <bind key="T" modifiers="Primary,Alt" action="AlignVerticalCenter" />
- <bind key="KP_2" modifiers="Ctrl,Alt" action="AlignVerticalBottom" display="true" />
- <bind key="KP_2" modifiers="Ctrl,Alt" action="AlignVerticalBottom" />
+ <bind key="KP_2" modifiers="Primary,Alt" action="AlignVerticalBottom" display="true" />
+ <bind key="KP_2" modifiers="Primary,Alt" action="AlignVerticalBottom" />
- <bind key="KP_4" modifiers="Ctrl,Alt" action="AlignHorizontalLeft" display="true" />
- <bind key="KP_4" modifiers="Ctrl,Alt" action="AlignHorizontalLeft" />
+ <bind key="KP_4" modifiers="Primary,Alt" action="AlignHorizontalLeft" display="true" />
+ <bind key="KP_4" modifiers="Primary,Alt" action="AlignHorizontalLeft" />
- <bind key="KP_5" modifiers="Ctrl,Alt" action="AlignVerticalHorizontalCenter" display="true" />
- <bind key="KP_5" modifiers="Ctrl,Alt" action="AlignVerticalHorizontalCenter" />
+ <bind key="KP_5" modifiers="Primary,Alt" action="AlignVerticalHorizontalCenter" display="true" />
+ <bind key="KP_5" modifiers="Primary,Alt" action="AlignVerticalHorizontalCenter" />
- <bind key="KP_6" modifiers="Ctrl,Alt" action="AlignHorizontalRight" display="true" />
- <bind key="KP_6" modifiers="Ctrl,Alt" action="AlignHorizontalRight" />
+ <bind key="KP_6" modifiers="Primary,Alt" action="AlignHorizontalRight" display="true" />
+ <bind key="KP_6" modifiers="Primary,Alt" action="AlignHorizontalRight" />
- <bind key="KP_8" modifiers="Ctrl,Alt" action="AlignVerticalTop" display="true" />
- <bind key="KP_8" modifiers="Ctrl,Alt" action="AlignVerticalTop" />
+ <bind key="KP_8" modifiers="Primary,Alt" action="AlignVerticalTop" display="true" />
+ <bind key="KP_8" modifiers="Primary,Alt" action="AlignVerticalTop" />
<!-- Help -->
@@ -700,15 +701,15 @@ override) the bindings in the main default.xml.
effect id from the .inx file, for example "org.ekips.filter.addnodes" for the Add
Nodes effect. -->
- <bind key="g" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/>
- <bind key="G" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer"/>
+ <bind key="g" modifiers="Primary,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/>
+ <bind key="G" modifiers="Primary,Alt" action="org.inkscape.typography.newglyphlayer"/>
<!--
- <bind key="h" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/>
- <bind key="H" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer"/>
+ <bind key="h" modifiers="Primary,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/>
+ <bind key="H" modifiers="Primary,Alt" action="org.inkscape.typography.previousglyphlayer"/>
-->
- <bind key="j" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/>
- <bind key="J" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer"/>
+ <bind key="j" modifiers="Primary,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/>
+ <bind key="J" modifiers="Primary,Alt" action="org.inkscape.typography.nextglyphlayer"/>
</keys>
diff --git a/src/inkscape.cpp b/src/inkscape.cpp
index 22f7230a0..24a744bbd 100644
--- a/src/inkscape.cpp
+++ b/src/inkscape.cpp
@@ -30,20 +30,6 @@
#include "debug/simple-event.h"
#include "debug/event-tracker.h"
-#ifndef WIN32
-# define HAS_PROC_SELF_EXE //to get path of executable
-#else
-
-#if !defined(_WIN32_IE) || (_WIN32_IE < 0x0400)
-# undef _WIN32_IE
-# define _WIN32_IE 0x0400
-#endif
-//#define HAS_SHGetSpecialFolderPath
-#define HAS_SHGetSpecialFolderLocation
-#define HAS_GetModuleFileName
-# include <shlobj.h>
-#endif
-
#include <glib/gstdio.h>
#include <glibmm/i18n.h>
#include <glibmm/miscutils.h>
diff --git a/src/io/resource.cpp b/src/io/resource.cpp
index 7ecfceb81..dfb851d58 100644
--- a/src/io/resource.cpp
+++ b/src/io/resource.cpp
@@ -20,6 +20,10 @@
#include "config.h"
#endif
+#ifdef WIN32
+#include <shlobj.h> // for SHGetSpecialFolderLocation
+#endif
+
#include <glibmm/miscutils.h>
#include <glibmm/stringutils.h>
#include <glibmm/fileutils.h>
@@ -271,12 +275,13 @@ char *profile_path(const char *filename)
prefdir = g_strdup(userenv);
}
-#ifdef HAS_SHGetSpecialFolderLocation
- // prefer c:\Documents and Settings\UserName\Application Data\ to
- // c:\Documents and Settings\userName\;
+#ifdef WIN32
+ // prefer c:\Documents and Settings\UserName\Application Data\ to c:\Documents and Settings\userName\;
+ // TODO: CSIDL_APPDATA is C:\Users\UserName\AppData\Roaming these days
+ // should we migrate to AppData\Local? Then we can simply use the portable g_get_user_config_dir()
if (!prefdir) {
ITEMIDLIST *pidl = 0;
- if ( SHGetSpecialFolderLocation( NULL, CSIDL_APPDATA, &pidl ) == NOERROR ) {
+ if ( SHGetFolderLocation( NULL, CSIDL_APPDATA, NULL, 0, &pidl ) == S_OK ) {
gchar * utf8Path = NULL;
{
diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp
index e7343c5e4..52248b81f 100644
--- a/src/shortcuts.cpp
+++ b/src/shortcuts.cpp
@@ -50,7 +50,7 @@
using namespace Inkscape;
using namespace Inkscape::IO::Resource;
-static void try_shortcuts_file(char const *filename);
+static bool try_shortcuts_file(char const *filename, bool const is_user_set=false);
static void read_shortcuts_file(char const *filename, bool const is_user_set=false);
unsigned int sp_shortcut_get_key(unsigned int const shortcut);
@@ -78,28 +78,49 @@ static std::map<Inkscape::Verb *, unsigned int> *user_shortcuts = NULL;
void sp_shortcut_init()
{
-
verbs = new std::map<unsigned int, Inkscape::Verb * >();
primary_shortcuts = new std::map<Inkscape::Verb *, unsigned int>();
user_shortcuts = new std::map<Inkscape::Verb *, unsigned int>();
+ // try to load shortcut file as set in preferences
+ // if preference is unset or loading fails fallback to share/keys/default.xml and finally share/keys/inkscape.xml
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
Glib::ustring shortcutfile = prefs->getString("/options/kbshortcuts/shortcutfile");
+ bool success = false;
+ gchar const *reason;
if (shortcutfile.empty()) {
- shortcutfile = Glib::ustring(get_path(SYSTEM, KEYS, "default.xml"));
+ reason = "No key file set in preferences";
+ } else {
+ success = try_shortcuts_file(shortcutfile.c_str());
+ reason = "Unable to read key file set in preferences";
+ }
+ if (!success) {
+ g_info("%s. Falling back to 'default.xml'.", reason);
+ success = try_shortcuts_file(get_path(SYSTEM, KEYS, "default.xml"));
+ }
+ if (!success) {
+ g_info("Could not load 'default.xml' either. Falling back to 'inkscape.xml'.");
+ success = try_shortcuts_file(get_path(SYSTEM, KEYS, "inkscape.xml"));
+ }
+ if (!success) {
+ g_warning("Could not load any keyboard shortcut file (including fallbacks to 'default.xml' and 'inkscape.xml').");
}
- read_shortcuts_file(shortcutfile.c_str());
- try_shortcuts_file(get_path(USER, KEYS, "default.xml"));
+ // load shortcuts adjusted by user
+ try_shortcuts_file(get_path(USER, KEYS, "default.xml"), true);
}
-static void try_shortcuts_file(char const *filename) {
+static bool try_shortcuts_file(char const *filename, bool const is_user_set) {
using Inkscape::IO::file_test;
/* ah, if only we had an exception to catch... (permission, forgiveness) */
if (file_test(filename, G_FILE_TEST_EXISTS)) {
- read_shortcuts_file(filename, true);
+ read_shortcuts_file(filename, is_user_set);
+ return true;
}
+
+ g_info("Unable to read keyboard shortcuts from %s (does not exist)", filename);
+ return false;
}
/*
@@ -217,7 +238,12 @@ Inkscape::XML::Document *sp_shortcut_create_template_file(char const *filename)
void sp_shortcut_get_file_names(std::vector<Glib::ustring> *names, std::vector<Glib::ustring> *paths) {
using namespace Inkscape::IO::Resource;
- for(auto &filename: get_filenames(KEYS, {".xml"}, {"default.xml", "inkscape.xml"})) {
+ std::vector<Glib::ustring> filenames = get_filenames(SYSTEM, KEYS, {".xml"});
+ std::vector<Glib::ustring> filenames_user = get_filenames(USER, KEYS, {".xml"}, {"default.xml"}); // exclude default.xml as it only includes the user's modifications
+ filenames.insert(filenames.end(), filenames_user.begin(), filenames_user.end());
+
+ std::vector<std::pair<Glib::ustring, Glib::ustring>> names_and_paths;
+ for(auto &filename: filenames) {
Glib::ustring label = Glib::path_get_basename(filename);
XML::Document *doc = sp_repr_read_file(filename.c_str(), NULL);
@@ -226,21 +252,40 @@ void sp_shortcut_get_file_names(std::vector<Glib::ustring> *names, std::vector<G
continue;
}
- // Get the "key name" from the root element of each files
+ // Get the "key name" from the root element of each file
XML::Node *root=doc->root();
if (!strcmp(root->name(), "keys")) {
gchar const *name=root->attribute("name");
if (name) {
label = Glib::ustring(name) + " (" + label + ")";
}
- paths->push_back(filename.c_str());
- names->push_back(label.c_str());
+ std::pair<Glib::ustring, Glib::ustring> name_and_path;
+ name_and_path = std::make_pair(label, filename);
+ names_and_paths.push_back(name_and_path);
} else {
g_warning("Not a shortcut keys file %s", filename.c_str());
}
Inkscape::GC::release(doc);
}
-
+
+ // sort by name
+ std::sort(names_and_paths.begin(), names_and_paths.end(),
+ [](std::pair<Glib::ustring, Glib::ustring>& pair1, std::pair<Glib::ustring, Glib::ustring>& pair2) {
+ return Glib::path_get_basename(pair1.first).compare(Glib::path_get_basename(pair2.first)) < 0;
+ });
+ auto it_default = std::find_if(names_and_paths.begin(), names_and_paths.end(),
+ [](std::pair<Glib::ustring, Glib::ustring>& pair) {
+ return !Glib::path_get_basename(pair.second).compare("default.xml");
+ });
+ if (it_default != names_and_paths.end()) {
+ std::rotate(names_and_paths.begin(), it_default, it_default+1);
+ }
+
+ // transform pairs to output vectors
+ std::transform(names_and_paths.begin(),names_and_paths.end(), std::back_inserter(*names),
+ [](const std::pair<Glib::ustring, Glib::ustring>& pair) { return pair.first; });
+ std::transform(names_and_paths.begin(),names_and_paths.end(), std::back_inserter(*paths),
+ [](const std::pair<Glib::ustring, Glib::ustring>& pair) { return pair.second; });
}
Glib::ustring sp_shortcut_get_file_path()