diff --git a/Assets/keymap_presets/blender.json b/Assets/keymap_presets/blender.json index fdfe445c..8f4fe7a0 100644 --- a/Assets/keymap_presets/blender.json +++ b/Assets/keymap_presets/blender.json @@ -46,6 +46,7 @@ "view_zoom_in": "", "view_zoom_out": "", "view_distract_free": "f11", + "viewport_mode_menu": "ctrl+m", "tool_brush": "b", "tool_eraser": "e", "tool_fill": "g", diff --git a/Assets/keymap_presets/default.json b/Assets/keymap_presets/default.json index 177a5918..d90b29b5 100644 --- a/Assets/keymap_presets/default.json +++ b/Assets/keymap_presets/default.json @@ -46,6 +46,7 @@ "view_zoom_in": "", "view_zoom_out": "", "view_distract_free": "f11", + "viewport_mode_menu": "ctrl+m", "tool_brush": "b", "tool_eraser": "e", "tool_fill": "g", diff --git a/Sources/arm/KeymapFormat.hx b/Sources/arm/KeymapFormat.hx index 7ab3c77b..4744b890 100644 --- a/Sources/arm/KeymapFormat.hx +++ b/Sources/arm/KeymapFormat.hx @@ -48,6 +48,7 @@ typedef TKeymap = { public var view_zoom_in: String; public var view_zoom_out: String; public var view_distract_free: String; + public var viewport_mode_menu: String; public var tool_brush: String; public var tool_eraser: String; public var tool_fill: String; diff --git a/Sources/arm/ui/UIMenu.hx b/Sources/arm/ui/UIMenu.hx index 637f38ef..9a653763 100644 --- a/Sources/arm/ui/UIMenu.hx +++ b/Sources/arm/ui/UIMenu.hx @@ -262,12 +262,14 @@ class UIMenu { tr("Object ID"), tr("Mask") ]; + var shortcuts = [ "l", "b", "n", "o", "r", "m", "a", "h", "t", "1", "2", "3", "4" ]; #if (kha_direct3d12 || kha_vulkan) modes.push(tr("Path Traced")); + shortcuts.push("p"); #end for (i in 0...modes.length) { menuFill(ui); - ui.radio(modeHandle, i, modes[i]); + ui.radio(modeHandle, i, modes[i], Config.keymap.viewport_mode_menu + ", " + shortcuts[i]); } if (modeHandle.changed) Context.setViewportMode(modeHandle.position); diff --git a/Sources/arm/ui/UISidebar.hx b/Sources/arm/ui/UISidebar.hx index c7a681d4..cbcd2341 100644 --- a/Sources/arm/ui/UISidebar.hx +++ b/Sources/arm/ui/UISidebar.hx @@ -365,7 +365,7 @@ class UISidebar { else if (Operator.shortcut(Config.keymap.view_orbit_opposite)) Viewport.orbitOpposite(); else if (Operator.shortcut(Config.keymap.view_zoom_in, ShortcutRepeat)) Viewport.zoom(0.2); else if (Operator.shortcut(Config.keymap.view_zoom_out, ShortcutRepeat)) Viewport.zoom(-0.2); - else if (Operator.shortcut("ctrl+m")) { + else if (Operator.shortcut(Config.keymap.viewport_mode_menu)) { UIMenu.draw(function(ui: Zui) { var modeHandle = Id.handle(); modeHandle.position = Context.viewportMode;