Change default keybindings using option+key for macOS to make possible to input text with those key combinations. Mostly changes on modifier keys for some operations: status control panels will switch with mod+number and ctrl+number will switch to tab number, also ctrl+tab and ctrl+shift+tab will advance and move to previous tab.

Also: "lsp-symbol-code-action" will default to cmd+return. "format-doc" will default to mod+option+f.
Important: these changes do not *change* any currently configured shortcut, existing users will have to migrate manually, this is intentional to not disrupt current users work flows.
These changes are for the issue: SpartanJ/ecode#877.
This commit is contained in:
Martín Lucas Golini
2026-04-14 20:56:49 -03:00
parent 530c869a02
commit 4a4da521d9
15 changed files with 112 additions and 62 deletions
@@ -591,19 +591,23 @@ void StatusBuildOutputController::createContainer() {
mContainer->setCommand( "build-output-show-build-output", [this]() { showBuildOutput(); } );
mContainer->setCommand( "build-output-show-build-issues", [this]() { showIssues(); } );
mContainer->getKeyBindings().addKeybind( { KEY_1, KeyMod::getDefaultModifier() },
"build-output-show-build-output" );
mContainer->getKeyBindings().addKeybind( { KEY_2, KeyMod::getDefaultModifier() },
"build-output-show-build-issues" );
mContainer->getKeyBindings().addKeybind(
{ KEY_1, UICodeEditorSplitter::getDefaultSwitchToTabModifier() },
"build-output-show-build-output" );
mContainer->getKeyBindings().addKeybind(
{ KEY_2, UICodeEditorSplitter::getDefaultSwitchToTabModifier() },
"build-output-show-build-issues" );
mBuildOutput->getDocument().setCommand( "build-output-show-build-output",
[this]() { showBuildOutput(); } );
mBuildOutput->getDocument().setCommand( "build-output-show-build-issues",
[this]() { showIssues(); } );
mBuildOutput->getKeyBindings().addKeybind( { KEY_1, KeyMod::getDefaultModifier() },
"build-output-show-build-output" );
mBuildOutput->getKeyBindings().addKeybind( { KEY_2, KeyMod::getDefaultModifier() },
"build-output-show-build-issues" );
mBuildOutput->getKeyBindings().addKeybind(
{ KEY_1, UICodeEditorSplitter::getDefaultSwitchToTabModifier() },
"build-output-show-build-output" );
mBuildOutput->getKeyBindings().addKeybind(
{ KEY_2, UICodeEditorSplitter::getDefaultSwitchToTabModifier() },
"build-output-show-build-issues" );
mButOutput->onClick( [this]( auto ) { showBuildOutput(); } );
mButIssues->onClick( [this]( auto ) { showIssues(); } );
mButOutput->setTooltipText(