EPIC: Desktop Keyboard Shortcuts
- Dominant language
- Dart
- Stars
- 152
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
As a person attempting to _maximise_ my **personal effectiveness**,
I use [**Keyboard Shortcuts**](https://en.wikipedia.org/wiki/Keyboard_shortcut) in Desktop/Web Apps whenever they are available to speed up my interactions with the App. e.g: [GitHub](https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts), [Gmail](https://support.postbox-inc.com/hc/en-us/articles/207256687-Gmail-Keyboard-Shortcuts), [YouTube](https://support.google.com/youtube/answer/7631406), [VS Code](https://medium.com/flutter-community/flutter-visual-studio-code-shortcuts-for-fast-and-efficient-development-7235bc6c3b7d), [Apple Mail](https://www.lifewire.com/apple-mail-keyboard-shortcuts-2260755) and [Fusion 360](https://www.autodesk.com/shortcuts/fusion-360)
I would like to have **Keyboard Shortcuts** in the dwyl App to perform **_all_ major functions**.
# Todo
We should respect the ["Sacred" Keybindings](https://en.wikipedia.org/wiki/Keyboard_shortcut#%22Sacred%22_keybindings) and make them perform the desired actions in the @dwyl app:
+ [ ] **`g N`** - Open the **`new`** input dialog and focus the input so that I can just start typing. Note: we can't use **`⌘ N`** in a web browser because that is "New Window".
+ [ ] **`space bar`** - Select an item (_for categorising, moving or marking as complete_)
+ [ ] **`g O`** - **Open** the **_categorisation_ interface** with the selected item.
+ [ ] **`⌘ S`** - **Save**. This should simply display a message like in Figma; "your changes are saved automatically, no need to save manually".
+ [ ] **`ESC`** - Escape out of the current input mode.
+ [ ] **`g I`** - Show the notifications "***inbox***"
+ [ ] **`⌘ Z`** - ***Undo*** the last action.
+ [ ] **`⇧ ⌘ Z`** - **_Re_-Do** the undone action.
+ [ ] **`g F`** - **Find** (_open the search dialog_) to search for a string of text in all your data.
+ [ ] **`⌘ ,`** - **Open _Preferences_**
I think we should have the _same_ keyboard shortcuts for _specific_ functionality as Gmail because it's the most widely used web-based email client so people who are already using those shortcuts (_the [power-user](https://en.wikipedia.org/wiki/Power_user) [early adopters](https://en.wikipedia.org/wiki/Early_adopter)_) can feel "at home" and immediately use them!
https://litmus.com/blog/email-client-market-share-trends-first-half-of-2018

The next most popular email clients are Apple's iPhone and iPad Mail program which don't have keyboard shortcuts. We are _open_ to considering adding the **Outlook** shortcuts if enough _users_ request it. But we need to focus on the "core" shortcuts first and then allow other developers in the community to create a "pack" of shortcuts that are familiar to people.
In _addition_ to having [sensible defaults](https://en.wikipedia.org/wiki/Convention_over_configuration) for our Keyboard Shortcuts, we need to create a way for people to define their own Keyboard Shortcuts and _disable_ specific keyboard shortcuts. In some cases people will have _conflicting_ shortcuts that we do not want to interfere with so we need to allow people to disable/replace each shortcut.
# **Epic** ?
This issue is _definitely_ an ["epic"](https://www.agilealliance.org/glossary/epic).
We need to break it down and form a _sprint_ (_milestone_) around it.
Opening this issue to capture thoughts. Please share yours! 💬
Contributor guide
Assessment
This issue has not been assessed yet.