diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2017-07-10 08:19:49 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2017-07-10 08:19:49 +0000 |
| commit | 9bb10ed9ea07d21c926f3ab1ca5db8027be29378 (patch) | |
| tree | ce610e17ab62bb84f01bbb4d8cef50fed685382a | |
| parent | Update popup menu usage (diff) | |
| parent | Shortcuts: Fix for 7d248fbba5b0c24d9a24cda8c3f2e79f96395553 (is_user_set was ... (diff) | |
| download | inkscape-9bb10ed9ea07d21c926f3ab1ca5db8027be29378.tar.gz inkscape-9bb10ed9ea07d21c926f3ab1ca5db8027be29378.zip | |
Merge branch 'master' of gitlab.com:inkscape/inkscape
| -rw-r--r-- | CMakeScripts/inkscape-version.cmake | 2 | ||||
| -rw-r--r-- | share/keys/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | share/keys/default.xml | 715 | ||||
| -rw-r--r-- | share/keys/inkscape.xml | 371 | ||||
| -rw-r--r-- | src/inkscape.cpp | 14 | ||||
| -rw-r--r-- | src/io/resource.cpp | 13 | ||||
| -rw-r--r-- | src/shortcuts.cpp | 69 |
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() |
