VoiceInk icon indicating copy to clipboard operation
VoiceInk copied to clipboard

Keyboard equivalents for the menu-bar dropdown

Open peter34245 opened this issue 3 months ago • 0 comments

Image

Summary

Please add key equivalents (macOS keyboard shortcuts displayed in the menu and actionable when the menu is open) to the VoiceInk menu-bar dropdown items. Example: Settings / Preferences should support Command + comma (⌘,), and other common actions (toggle listening, toggle assistant, open app window) should have sensible shortcuts visible in the menu.

Why

  • Speeds up workflows for power users.
  • Improves accessibility (keyboard-only users).
  • Aligns VoiceInk with macOS UI conventions.

Steps to reproduce

  1. Install latest VoiceInk (v1.56 as of Sep 18, 2025). :contentReference[oaicite:5]{index=5}
  2. Click the VoiceInk icon in the macOS menu bar.
  3. Observe menu items — no key equivalents shown / cannot trigger items using standard Command shortcuts.

Expected result

Menu items show keyboard equivalents (e.g. Settings … — ⌘,) and pressing that key combination activates the menu item when VoiceInk is running.

Actual result

Menu items lack displayed key equivalents and are only mouse-clickable.

Suggested shortcuts (example)

  • Settings / Preferences… → ⌘, (Command + ,) — standard macOS convention
  • Toggle Listening / Start Recording → ⌘⇧R or ⌥⌘R (choose one)
  • Open Assistant → ⌘⇧A
  • Show/Hide App Window → ⌘0 or ⌘⇧I (pick consistent set)

Implementation notes for maintainers

  • App is Swift/SwiftUI (repo uses KeyboardShortcuts for global hotkeys). Add menu item key equivalents via NSMenuItem.keyEquivalent or SwiftUI .keyboardShortcut(...) so the menu shows the shortcut and macOS handles it. Example:
// AppKit:
let item = NSMenuItem(title: "Settings…", action: #selector(openSettings), keyEquivalent: ",")
item.keyEquivalentModifierMask = [.command]

// SwiftUI:
Button("Settings…", action: openSettings)
    .keyboardShortcut(",", modifiers: .command)

peter34245 avatar Sep 24 '25 12:09 peter34245