Repository: microsoft/terminal (language: cpp)

Issue:
[About]: User is unable to assign any shortcut to activate 'About' button.
### Windows Terminal version

1.19.2481.0

### Windows build number

23529.1000

### Other Software

Test Environment:
OS: Windows 11 Version Dev (OS Build 23529.1000)
App: Windows Terminal Preview

### Steps to reproduce

**Repro Steps: **

1.Open Windows Terminal.
2.Open Settings page using 'Ctr+,'
3. Navigate to the 'About' and observe the issue.

**User Experience: **
All users UX will enhance if user able to activate control from its editing area by just pressing its shortcut key as currently users must navigate to that specific control to activate it.

**Attachment:**
[User is unable to assign any shortcut to activate 'About' button..zip](https://github.com/microsoft/terminal/files/12644866/User.is.unable.to.assign.any.shortcut.to.activate.About.button.zip)



### Expected Behavior

User should be able to assign any shortcut to activate 'About' button.

### Actual Behavior

User is unable to assign any shortcut to activate 'About' button.


Discussion / hints:
![User is unable to assign any shortcut to activate 'About' button](https://github.com/microsoft/terminal/assets/18356694/285605c6-78d5-4e7c-ba0e-e39e3f8afc33)


I mean, it's easy enough to add a `openAbout` action. 

Fix patch:
diff --git a/doc/cascadia/profiles.schema.json b/doc/cascadia/profiles.schema.json
index d43a9e4e7d8..74450b6704c 100644
--- a/doc/cascadia/profiles.schema.json
+++ b/doc/cascadia/profiles.schema.json
@@ -378,8 +378,12 @@
     },
     "ShortcutActionName": {
       "enum": [
+        "addMark",
         "adjustFontSize",
+        "adjustOpacity",
+        "clearAllMarks",
         "clearBuffer",
+        "clearMark",
         "closeOtherPanes",
         "closeOtherTabs",
         "closePane",
@@ -390,6 +394,7 @@
         "copy",
         "duplicateTab",
         "expandSelectionToWord",
+        "experimental.colorSelection",
         "exportBuffer",
         "find",
         "findMatch",
@@ -397,64 +402,60 @@
         "globalSummon",
         "identifyWindow",
         "identifyWindows",
+        "markMode",
         "moveFocus",
         "movePane",
-        "swapPane",
-        "markMode",
         "moveTab",
         "multipleActions",
         "newTab",
         "newWindow",
         "nextTab",
+        "openAbout",
         "openNewTabDropdown",
         "openSettings",
+        "openSystemMenu",
         "openTabColorPicker",
+        "openTabRenamer",
         "openWindowRenamer",
         "paste",
         "prevTab",
-        "renameTab",
-        "openSystemMenu",
-        "openTabRenamer",
         "quakeMode",
+        "quit",
+        "renameTab",
+        "renameWindow",
         "resetFontSize",
         "resizePane",
-        "renameWindow",
+        "restoreLastClosed",
         "scrollDown",
         "scrollDownPage",
-        "scrollUp",
-        "scrollUpPage",
         "scrollToBottom",
+        "scrollToMark",
         "scrollToTop",
+        "scrollUp",
+        "scrollUpPage",
+        "searchWeb",
+        "selectAll",
         "sendInput",
         "setColorScheme",
+        "setFocusMode",
+        "setFullScreen",
+        "setMaximized",
         "setTabColor",
         "showSuggestions",
         "splitPane",
+        "swapPane",
+        "switchSelectionEndpoint",
         "switchToTab",
         "tabSearch",
         "toggleAlwaysOnTop",
         "toggleBlockSelection",
         "toggleFocusMode",
-        "selectAll",
-        "setFocusMode",
-        "switchSelectionEndpoint",
         "toggleFullscreen",
-        "setFullScreen",
-        "setMaximized",
         "togglePaneZoom",
-        "toggleSplitOrientation",
         "toggleReadOnlyMode",
         "toggleShaderEffects",
+        "toggleSplitOrientation",
         "wt",
-        "quit",
-        "adjustOpacity",
-        "restoreLastClosed",
-        "addMark",
-        "scrollToMark",
-        "clearMark",
-        "clearAllMarks",
-        "searchWeb",
-        "experimental.colorSelection",
         "unbound"
       ],
       "type": "string"
diff --git a/src/cascadia/TerminalApp/AppActionHandlers.cpp b/src/cascadia/TerminalApp/AppActionHandlers.cpp
index 9d7d835597d..481fce33620 100644
--- a/src/cascadia/TerminalApp/AppActionHandlers.cpp
+++ b/src/cascadia/TerminalApp/AppActionHandlers.cpp
@@ -1419,4 +1419,10 @@ namespace winrt::TerminalApp::implementation
         }
         args.Handled(true);
     }
+    void TerminalPage::_HandleOpenAbout(const IInspectable& /*sender*/,
+                                        const ActionEventArgs& args)
+    {
+        _ShowAboutDialog();
+        args.Handled(true);
+    }
 }
diff --git a/src/cascadia/TerminalSettingsModel/ActionAndArgs.cpp b/src/cascadia/TerminalSettingsModel/ActionAndArgs.cpp
index b38a73b9296..e90a2b8dcfa 100644
--- a/src/cascadia/TerminalSettingsModel/ActionAndArgs.cpp
+++ b/src/cascadia/TerminalSettingsModel/ActionAndArgs.cpp
@@ -96,6 +96,7 @@ static constexpr std::string_view ShowContextMenuKey{ "showContextMenu" };
 static constexpr std::string_view ExpandSelectionToWordKey{ "expandSelectionToWord" };
 static constexpr std::string_view RestartConnectionKey{ "restartConnection" };
 static constexpr std::string_view ToggleBroadcastInputKey{ "toggleBroadcastInput" };
+static constexpr std::string_view OpenAboutKey{ "openAbout" };
 
 static constexpr std::string_view ActionKey{ "action" };
 
@@ -430,6 +431,7 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation
                 { ShortcutAction::ExpandSelectionToWord, RS_(L"ExpandSelectionToWordCommandKey") },
                 { ShortcutAction::RestartConnection, RS_(L"RestartConnectionKey") },
                 { ShortcutAction::ToggleBroadcastInput, RS_(L"ToggleBroadcastInputCommandKey") },
+                { ShortcutAction::OpenAbout, RS_(L"OpenAboutCommandKey") },
             };
         }();
 
diff --git a/src/cascadia/TerminalSettingsModel/AllShortcutActions.h b/src/cascadia/TerminalSettingsModel/AllShortcutActions.h
index df008b58220..f9d934e36e0 100644
--- a/src/cascadia/TerminalSettingsModel/AllShortcutActions.h
+++ b/src/cascadia/TerminalSettingsModel/AllShortcutActions.h
@@ -109,7 +109,8 @@
     ON_ALL_ACTIONS(ExpandSelectionToWord)   \
     ON_ALL_ACTIONS(CloseOtherPanes)         \
     ON_ALL_ACTIONS(RestartConnection)       \
-    ON_ALL_ACTIONS(ToggleBroadcastInput)
+    ON_ALL_ACTIONS(ToggleBroadcastInput)    \
+    ON_ALL_ACTIONS(OpenAbout)
 
 #define ALL_SHORTCUT_ACTIONS_WITH_ARGS             \
     ON_ALL_ACTIONS_WITH_ARGS(AdjustFontSize)       \
diff --git a/src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw b/src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw
index 74035df755d..d6d6d9565f9 100644
--- a/src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw
+++ b/src/cascadia/TerminalSettingsModel/Resources/en-US/Resources.resw
@@ -720,4 +720,8 @@
     <value>Search the web for selected text</value>
     <comment>This will open a web browser to search for some user-selected text</comment>
   </data>
-</root>
\ No newline at end of file
+  <data name="OpenAboutCommandKey" xml:space="preserve">
+    <value>Open about dialog</value>
+    <comment>This will open the "about" dialog, to display version info and other documentation</comment>
+  </data>
+</root>
diff --git a/src/cascadia/TerminalSettingsModel/defaults.json b/src/cascadia/TerminalSettingsModel/defaults.json
index 117abb5c892..f9fbe216628 100644
--- a/src/cascadia/TerminalSettingsModel/defaults.json
+++ b/src/cascadia/TerminalSettingsModel/defaults.json
@@ -373,7 +373,8 @@
         { "command": "quakeMode", "keys":"win+sc(41)" },
         { "command": "openSystemMenu", "keys": "alt+space" },
         { "command": "quit" },
-        { "command": "restoreLastClosed"},
+        { "command": "restoreLastClosed" },
+        { "command": "openAbout" },
 
         // Tab Management
         // "command": "closeTab" is unbound by default.


Test patch: