Files
OpenSpace/data/assets/default_keybindings.asset
Alexander Bock 67d114755c Shifting the keybindings (closes #1055)
- Add new action to instantly toggle all trails
 - Instead of 'H', the 'T' keybind now toggles all trails
 - Shift+T instantly toggles trails
 - Instead of 'W', the 'B' toggles the blackout of the rendering
2024-02-27 20:56:50 +01:00

277 lines
9.3 KiB
Lua

local propertyHelper = asset.require("util/property_helper")
local ToggleNativeUi = {
Identifier = "os.ToggleNativeUi",
Name = "Show native GUI",
Command = propertyHelper.invert("Modules.ImGUI.Enabled"),
Documentation = "Shows or hides the native UI",
GuiPath = "/System/GUI",
IsLocal = true
}
local ToggleShutdown = {
Identifier = "os.ToggleShutdown",
Name = "Toggle shutdown",
Command = "openspace.toggleShutdown()",
Documentation = "Toggles the shutdown that will stop OpenSpace after a grace period. Press again to cancel the shutdown during this period",
GuiPath = "/System",
IsLocal = true
}
local TakeScreenshot = {
Identifier = "os.TakeScreenshot",
Name = "Take screenshot",
Command = "openspace.takeScreenshot()",
Documentation = "Saves the contents of the screen to a file in the ${SCREENSHOTS} directory",
GuiPath = "/System/Rendering",
IsLocal = true
}
local TogglePauseInterpolated = {
Identifier = "os.TogglePauseInterpolated",
Name = "Toggle pause (interpolate)",
Command = "openspace.time.pauseToggleViaKeyboard()",
Documentation = "Smoothly starts and stops the simulation time",
GuiPath = "/Time/Simulation Speed",
IsLocal = true
}
local TogglePauseImmediate = {
Identifier = "os.TogglePauseImmediate",
Name = "Toggle pause (immediate)",
Command = "openspace.time.togglePause()",
Documentation = "Immediately starts and stops the simulation time",
GuiPath = "/Time/Simulation Speed",
IsLocal = true
}
local ToggleRotationFriction = {
Identifier = "os.ToggleRotationFriction",
Name = "Toggle rotation friction",
Command = propertyHelper.invert("NavigationHandler.OrbitalNavigator.Friction.RotationalFriction"),
Documentation = "Toggles the rotational friction of the camera. If it is disabled, the camera rotates around the focus object indefinitely",
GuiPath = "/Navigation",
IsLocal = true
}
local ToggleZoomFriction = {
Identifier = "os.ToggleZoomFriction",
Name = "Toggle zoom friction",
Command = propertyHelper.invert("NavigationHandler.OrbitalNavigator.Friction.ZoomFriction"),
Documentation = "Toggles the zoom friction of the camera. If it is disabled, the camera rises up from or closes in towards the focus object indefinitely",
GuiPath = "/Navigation",
IsLocal = true
}
local ToggleRollFriction = {
Identifier = "os.ToggleRollFriction",
Name = "Toggle roll friction",
Command = propertyHelper.invert("NavigationHandler.OrbitalNavigator.Friction.RollFriction"),
Documentation = "Toggles the roll friction of the camera. If it is disabled, the camera rolls around its own axis indefinitely",
GuiPath = "/Navigation",
IsLocal = true
}
local FadeToBlack = {
Identifier = "os.FadeToBlack",
Name = "Fade to/from black",
Command = [[
if openspace.propertyValue("RenderEngine.BlackoutFactor") > 0.5 then
openspace.setPropertyValueSingle("RenderEngine.BlackoutFactor", 0.0, 3)
else
openspace.setPropertyValueSingle("RenderEngine.BlackoutFactor", 1.0, 3)
end
]],
Documentation = "Toggles the fade to black within 3 seconds or shows the rendering after 3 seconds",
GuiPath = "/Rendering",
IsLocal = false
}
local ToggleMainGui = {
Identifier = "os.ToggleMainGui",
Name = "Toggle main GUI",
Command = propertyHelper.invert("Modules.CefWebGui.Visible"),
Documentation = "Toggles the main GUI",
GuiPath = "/System/GUI",
IsLocal = true
}
local ToggleOverlays = {
Identifier = "os.ToggleOverlays",
Name = "Toggle dashboard and overlays",
Command = [[
local isEnabled = openspace.propertyValue("Dashboard.IsEnabled")
openspace.setPropertyValueSingle("Dashboard.IsEnabled", not isEnabled)
openspace.setPropertyValueSingle("RenderEngine.ShowLog", not isEnabled)
openspace.setPropertyValueSingle("RenderEngine.ShowVersion", not isEnabled)
openspace.setPropertyValueSingle("RenderEngine.ShowCamera", not isEnabled)
]],
Documentation = "Toggles the dashboard and overlays",
GuiPath = "/System/GUI",
IsLocal = true
}
local ToggleMasterRendering = {
Identifier = "os.ToggleMasterRendering",
Name = "Toggle rendering on master",
Command = propertyHelper.invert("RenderEngine.DisableMasterRendering"),
Documentation = "Toggles the rendering on master",
GuiPath = "/System/Rendering",
IsLocal = true
}
local NextDeltaStepInterpolate = {
Identifier = "os.NextDeltaStepInterpolate",
Name = "Next simulation time step (interpolate)",
Command = "openspace.time.interpolateNextDeltaTimeStep()",
Documentation = "Smoothly interpolates the simulation speed to the next simulation time step, if one exists",
GuiPath = "/Time/Simulation Speed",
IsLocal = true
}
local NextDeltaStepImmediate = {
Identifier = "os.NextDeltaStepImmediate",
Name = "Next simulation time step (immediate)",
Command = "openspace.time.setNextDeltaTimeStep()",
Documentation = "Immediately set the simulation speed to the next simulation time step, if one exists",
GuiPath = "/Time/Simulation Speed",
IsLocal = true
}
local PreviousDeltaStepInterpolate = {
Identifier = "os.PreviousDeltaStepInterpolate",
Name = "Previous simulation time step (interpolate)",
Command = "openspace.time.interpolatePreviousDeltaTimeStep()",
Documentation = "Smoothly interpolates the simulation speed to the previous simulation time step, if one exists",
GuiPath = "/Time/Simulation Speed",
IsLocal = true
}
local PreviousDeltaStepImmediate = {
Identifier = "os.PreviousDeltaStepImmediate",
Name = "Previous simulation time step (immediate)",
Command = "openspace.time.setPreviousDeltaTimeStep()",
Documentation = "Immediately set the simulation speed to the previous simulation time step, if one exists",
GuiPath = "/Time/Simulation Speed",
IsLocal = true
}
local ReloadGui = {
Identifier = "os.ReloadGui",
Name = "Reload GUI",
Command = [[openspace.setPropertyValueSingle("Modules.CefWebGui.Reload", nil)]],
Documentation = "Reloads the GUI",
GuiPath = "/System/GUI",
IsLocal = true
}
asset.onInitialize(function()
openspace.action.registerAction(ToggleNativeUi)
openspace.bindKey("F1", ToggleNativeUi.Identifier)
openspace.action.registerAction(ToggleShutdown)
openspace.bindKey("ESC", ToggleShutdown.Identifier)
openspace.action.registerAction(TakeScreenshot)
openspace.bindKey("F12", TakeScreenshot.Identifier)
openspace.bindKey("PRINT_SCREEN", TakeScreenshot.Identifier)
openspace.action.registerAction(TogglePauseInterpolated)
openspace.bindKey("SPACE", TogglePauseInterpolated.Identifier)
openspace.action.registerAction(TogglePauseImmediate)
openspace.bindKey("Shift+SPACE", TogglePauseImmediate.Identifier)
openspace.action.registerAction(ToggleRotationFriction)
openspace.bindKey("F", ToggleRotationFriction.Identifier)
openspace.action.registerAction(ToggleZoomFriction)
openspace.bindKey("Shift+F", ToggleZoomFriction.Identifier)
openspace.action.registerAction(ToggleRollFriction)
openspace.bindKey("Ctrl+F", ToggleRollFriction.Identifier)
openspace.action.registerAction(FadeToBlack)
openspace.bindKey("B", FadeToBlack.Identifier)
openspace.action.registerAction(ToggleMainGui)
openspace.bindKey("TAB", ToggleMainGui.Identifier)
openspace.action.registerAction(ToggleOverlays)
openspace.bindKey("Shift+TAB", ToggleOverlays.Identifier)
openspace.action.registerAction(ToggleMasterRendering)
openspace.bindKey("Alt+R", ToggleMasterRendering.Identifier)
openspace.action.registerAction(NextDeltaStepInterpolate)
openspace.bindKey("Right", NextDeltaStepInterpolate.Identifier)
openspace.action.registerAction(NextDeltaStepImmediate)
openspace.bindKey("Shift+Right", NextDeltaStepImmediate.Identifier)
openspace.action.registerAction(PreviousDeltaStepInterpolate)
openspace.bindKey("Left", PreviousDeltaStepInterpolate.Identifier)
openspace.action.registerAction(PreviousDeltaStepImmediate)
openspace.bindKey("Shift+Left", PreviousDeltaStepImmediate.Identifier)
openspace.action.registerAction(ReloadGui)
openspace.bindKey("F5", ReloadGui.Identifier)
end)
asset.onDeinitialize(function()
openspace.clearKey("F5")
openspace.action.removeAction(ReloadGui)
openspace.clearKey("Shift+Left")
openspace.action.removeAction(PreviousDeltaStepImmediate)
openspace.clearKey("Left")
openspace.action.removeAction(PreviousDeltaStepInterpolate)
openspace.clearKey("Shift+Right")
openspace.action.removeAction(NextDeltaStepImmediate)
openspace.clearKey("Right")
openspace.action.removeAction(NextDeltaStepInterpolate)
openspace.clearKey("Alt+R")
openspace.action.removeAction(ToggleMasterRendering)
openspace.clearKey("Shift+TAB")
openspace.action.removeAction(ToggleOverlays)
openspace.clearKey("TAB")
openspace.action.removeAction(ToggleMainGui)
openspace.clearKey("B")
openspace.action.removeAction(FadeToBlack)
openspace.clearKey("Ctrl+F")
openspace.action.removeAction(ToggleRollFriction)
openspace.clearKey("Shift+F")
openspace.action.removeAction(ToggleZoomFriction)
openspace.clearKey("F")
openspace.action.removeAction(ToggleRotationFriction)
openspace.clearKey("Shift+SPACE")
openspace.action.removeAction(TogglePauseImmediate)
openspace.clearKey("SPACE")
openspace.action.removeAction(TogglePauseInterpolated)
openspace.clearKey("F12")
openspace.clearKey("PRINT_SCREEN")
openspace.action.removeAction(TakeScreenshot)
openspace.clearKey("ESC")
openspace.action.removeAction(ToggleShutdown)
openspace.clearKey("F1")
openspace.action.removeAction(ToggleNativeUi)
end)