Skip to content

Document the shortcuts missing from Shortcuts.md - #3454

Open
FrayxRulez wants to merge 1 commit into
release12.10.6from
shortcuts-doc
Open

FrayxRulez wants to merge 1 commit into
release12.10.6from
shortcuts-doc

Conversation

@FrayxRulez

@FrayxRulez FrayxRulez commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Documentation/Shortcuts.md had drifted from ShortcutsService.InitializeDefault and the key handling in ChatView and the composer. This walks both and writes down what is actually bound. No code changes.

Corrections — the doc said the wrong thing

  • Next and previous chat were swapped. The source binds Alt + Arrow Down / Ctrl + Page Down to next and Alt + Arrow Up / Ctrl + Page Up to previous; the table had them the other way round.
  • Ctrl + Tab is not "next chat" — it is the recently-used switcher (ChatRecentNext), now listed as such along with Ctrl + Shift + Tab.
  • "Forth folder" → "Fourth folder".

The UnigramPlus add-on copied the first two from this file, so its list carries them too.

Added

  • Chats: first and last chat (Ctrl + Alt + Home / End), pinned chat 1 to 5 (Ctrl + 1 ... Ctrl + 5, which only apply while no folder exists).
  • Search: Ctrl + Shift + F as a second chat-search key, and the hardware Search key for in-chat search.
  • Typing area: Ctrl + Shift + Z for redo, Alt + X to replace four hexadecimal digits with the character they stand for.
  • Attachments (new section): emoji, GIF and sticker pickers (Ctrl + Shift + E / G / S) and Ctrl + O to send a file.
  • Folders: next and previous folder (Ctrl + Shift + Arrow Down / Up).
  • Other: downloads (Ctrl + J), stop media playback (Ctrl + Shift + W), Ctrl + F4 as a second close key, minimize (Ctrl + M), lock (Ctrl + L), reply to next message (Ctrl + Arrow Down).

Every rowspan was re-counted against the rows it spans; the table now has 69 rows across 8 sections.

Not included: the keys the composer deliberately suppresses so RichEdit never sees them. FormattedTextBox.OnKeyDown returns early for them, skipping the base.OnKeyDown call at the tail, which is what stops RichEdit applying its own alignment (Ctrl + E/L/R/J/Q), upper case and bullet lists (Ctrl + Shift + A/L) and font size (Ctrl + Shift + ,).

For five of those the suppression is what makes the table true: e.Handled stays false, so the key keeps bubbling and the app's own shortcut runs instead — chat search, lock, downloads, record and quit all work while focus is in the composer precisely because RichEdit is denied them. They are already listed under those meanings. The remaining three do nothing at all, which is not a shortcut to document.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant