Skip to content

Feature: Remote desktop additional shortcuts#3500

Merged
mergify[bot] merged 2 commits into
mainfrom
feature/2967-rdp-shortcuts
Jun 23, 2026
Merged

Feature: Remote desktop additional shortcuts#3500
mergify[bot] merged 2 commits into
mainfrom
feature/2967-rdp-shortcuts

Conversation

@BornToBeRoot

Copy link
Copy Markdown
Owner

Changes proposed in this pull request

  • Add additional shortscuts to remote desktop

Related issue(s)

Copilot generated summary

Provide a Copilot generated summary of the changes in this pull request.

Copilot summary

This pull request adds support for sending additional common Windows keyboard shortcuts to remote desktop sessions, making it easier for users to perform actions like opening Task Manager, locking the session, and more. The changes introduce new keystroke options, update the UI to include these shortcuts in context menus, and enhance documentation to describe the new features.

Remote Desktop Keyboard Shortcut Enhancements:

  • Added new keystrokes to the Keystroke enum: Task Manager (Ctrl+Shift+Esc), Lock (Win+L), Show Desktop (Win+D), Explorer (Win+E), and Run Dialog (Win+R). (Keystroke.cs)
  • Implemented logic for sending these new keystrokes in RemoteDesktop.GetKeystroke and updated the SendKey method to support them. (RemoteDesktop.cs, RemoteDesktopControl.xaml.cs) [1] [2]

UI and Command Updates:

  • Updated context menus in both DragablzTabHostWindow.xaml and RemoteDesktopHostView.xaml to provide menu items for the new keyboard shortcuts, each bound to a corresponding command. [1] [2]
  • Added new ICommand properties and refactored command handling in the code-behind and view models to support the new shortcuts, using a unified method for sending keystrokes. (DragablzTabHostWindow.xaml.cs, RemoteDesktopHostViewModel.cs) [1] [2]

Localization and Documentation:

  • Added localized strings for the new shortcuts in Strings.resx and exposed them in Strings.Designer.cs. [1] [2]
  • Updated documentation to describe the new keyboard shortcuts in the context menu and clarified that all keyboard shortcuts are disabled in view-only mode. (remote-desktop.md) [1] [2]

To-Do

Contributing

By submitting this pull request, I confirm the following:

@mergify

mergify Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@BornToBeRoot

Copy link
Copy Markdown
Owner Author

Wake up @copilot - how about a code review?

Copilot AI commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Wake up @copilot - how about a code review?

Here's the code review for this PR:

Overall: ✅ Clean implementation, no bugs found.

What looks good

  • Refactoring: SendCtrlAltDelAction was cleanly generalized into SendKeyAction(view, keystroke) in both RemoteDesktopHostViewModel.cs and DragablzTabHostWindow.xaml.cs, eliminating duplication.
  • Defensive fix: ocx?.SendKeys(...) null-conditional guard in RemoteDesktopControl.xaml.cs is a welcome improvement over the original hard cast.
  • Scan codes: All new scan codes are correct:
    • Ctrl+Shift+Esc → [0x1d, 0x2a, 0x01, ...] (Ctrl=0x1d, LShift=0x2a, Esc=0x01) ✓
    • Win+L → [0x15b, 0x26, ...] (LWin=0x15b, L=0x26) ✓
    • Win+D → [0x15b, 0x20, ...] (D=0x20) ✓
    • Win+E → [0x15b, 0x12, ...] (E=0x12) ✓
    • Win+R → [0x15b, 0x13, ...] (R=0x13) ✓
  • Consistency: Both XAML views (RemoteDesktopHostView.xaml and DragablzTabHostWindow.xaml) updated in lockstep.
  • async void usage: Correct — RemoteDesktopHostViewModel.SendKeyAction is async void because it awaits a dialog, while DragablzTabHostWindow.RemoteDesktop_SendKeyAction is plain void (uses MessageBox.Show instead).
  • Localization keys: No duplicates, strings are unique. Other languages will come through Transifex as usual.
  • Documentation: remote-desktop.md and next-release.md both updated correctly.

Minor observations (no action needed)

  • Keystroke.cs is still missing a trailing newline, but that was pre-existing.
  • Generic key names like Lock and Explorer in the resource file are fine here since they're only used in the RDP context menus; no conflicts found across the codebase.

@BornToBeRoot BornToBeRoot self-assigned this Jun 23, 2026
@mergify mergify Bot merged commit 557ce66 into main Jun 23, 2026
6 checks passed
@mergify mergify Bot deleted the feature/2967-rdp-shortcuts branch June 23, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remote Desktop - Add more hotkeys like taskmgr

2 participants