Settings

Theme

Designing a coherent set of keyboard shortcuts

commandbar.com

59 points by tkainrad 3 years ago · 28 comments

Reader

btrettel 3 years ago

On the subject of consistent keyboard shortcuts, does anyone here have a copy of the complete Common User Access documents? What I can find online (linked to from Wikipedia below) is incomplete.

https://en.wikipedia.org/wiki/IBM_Common_User_Access

Alternatively, I'm also interested in a comprehensive listing of Common User Access keyboard shortcuts. Without the original documents themselves, I'm not sure how comprehensive (or accurate) what I'm seeing online is.

  • layer8 3 years ago

    You can find a copy of ISBN 1565291700 [0] on Libgen, or a used print copy on Amazon or AbeBooks etc. The book contains a table of keyboard shortcuts, although I’m not sure whether it’s complete. It’s probably also possible to order the references listed in [0] from IBM, but I haven’t tried that.

    The *.boo files linked under [0] can be read on Windows using the IBM Softcopy reader [1].

    [0] http://www.edm2.com/index.php/Common_User_Access

    [1] https://www.ibm.com/support/pages/ibm-softcopy-reader-window...

  • torgoguys 3 years ago

    +1. Yes, please!

    I've been searching for the same for years. I even bought a set of one of the revisions of the printed and bound documents IBM produced on an eBay auction one time, only to have the seller cancel the order.

    My next step is to start hunting some university library catalogs to see if I can find them that way, but digital would be preferred!

betwixthewires 3 years ago

I'm so frustrated these days with a lack of keyboard controls in GUI applications. It's like developers just want to limit you to being able to operate their software with one single finger. And most of the time they're bad at UX, so you wind up not having coherent workflows even with a mouse.

I'm a huge fan of vim keybinds. The concept is fantastic, you've got a panel of switches in front of you that you can make do anything, why limit it to being a typewriter? That said, ctrl keys are fine. I can live with it. It works. If that's all I can get, please do it. Any desktop application should have at a bare minimum Ctrl shortcuts for everything.

twic 3 years ago

> But in our data set, a staggering 64% of CommandBar users have used at least one keyboard shortcut and 20% have used keyboard shortcuts at least 10 ten times.

That sounds like 44% of users have triggered a keyboard shortcut by mistake.

javajosh 3 years ago

User-modifiable shortcuts plus a user willing to modify them are the key to happiness. It lets you iterate until you are satisfied. The macOS has better built-in tools for this; for Windows you need to install PowerToys. But that's just for the OS level adjustments.

Applications are in far worse shape, overall. Most applications don't support shortcut customization! Not even browsers. A remarkable oversight, IMHO. But most apps don't support shortcut customization, forcing you to learn their shortcuts, which is user-hostile no matter how well they are designed, IMHO.

  • weaksauce 3 years ago

    in mac os you can do application specific shortcuts for menu items if you specify the exact title of the menu item. (this can also be used to override a shortcut you don't like by putting it to something very unlikely to be hit like ctrl-cmd-opt-shift-f12)

    https://support.apple.com/guide/mac-help/create-keyboard-sho...

    sadly this is limited to menu actions only but it's at least something.

  • layer8 3 years ago

    It’s a tragedy that OSs haven’t evolved to provide explicit support for that. Imagine that every application would expose a catalog of its internal actions, and that there would be an OS-level configuration facility to define your custom keyboard mappings, and possibly also macros, for the application actions. There’s no reason that every application should need to reinvent the wheel here. You could also export your configuration and import it on a different account, or possibly sync it across devices.

    Similarly, the OS could provide a facility to define custom toolbars based on available actions, that could automatically be attached to the respective application windows. Basically, an OS-managed version of the toolbars that used to be ubiquitous in Windows applications.

    • javajosh 3 years ago

      Indeed. Although it seems like AppleScript wanted to do something like that, to get apps to expose their nouns and verbs, which is a really great idea. Perhaps if Apple'd sweetened the deal with "universal shortcuts" more app devs would have bothered to expose this catalog. Who knows! And heaven knows Apple's scraping the bottom of the barrel of innovative OS features, so maybe this will happen at some point...and/or they'll wait for AI-improved OS that can provide the catalogue without dev involvement.

    • yjftsjthsd-h 3 years ago

      I guess the way it played out is that it's implemented in toolkits. So Debian, per se, doesn't know about shortcuts, but QT does. AIUI MacOS wins here by having a standard API at least for menus. Linux distros lose out by just not doing any integration. (Well, almost any; they sometimes try. I say this with love.)

    • qu4z-2 3 years ago

      I will never not sing the praises of KDE3.5 (although of course stuff like shortcuts and use of KIO mostly only works in apps built on KDE libraries).

chrsig 3 years ago

forget coherent, i want consistent.

using a mac for work and a windows machine for personal use messes with me. add in editors having inconsistent emacs keybindings, and some macos apps respecting some subset of emacs keybindings while others don't...and then a kinesis advantage to make some of the solutions non-viable

  • comfypotato 3 years ago

    As a long time Windows user who switched to a Mac at work at one point, I was pleasantly surprised by the extent to which I was able to make the Mac conform to my muscle memory. If I remember correctly, I basically swapped the software mapping command and control. On top of this, I had to finagle with a system shortcut or two. In the end, everything just worked as if it was a Windows machine.

    Concerning Emacs, I've found that a combination of QMK and AHK allow me to make everything work more or less like Emacs. Ultimately I think I might be lucky to have a decent memory for this sort of thing, but I've found that I can use the keyboard for everything everywhere.

    • nicbou 3 years ago

      Keyboard shortcut consistency was one of the first pleasant surprises of switching to MacOS.

  • R0b0t1 3 years ago

    The first step of consistency is determining and agreeing on what you want the computer to do. I don't see this happening, and it kind of removes the point of having multiple DEs, etc, for experimentation. Though perhaps after investigating in this direction, one might understand how users want to interact with the system key bindings, if at all, and be able to break down user interaction into digestible chunks.

    Everyone has heard (or... most people) about a lot of the clever Apple shortcuts, but they are intensely not discoverable. People still need to go out of their way to learn them. It's just it's Apple, so no one cares.

  • orthoxerox 3 years ago

    Even on Windows alone some shortcuts are terribly inconsistent.

    Redo (Ctrl-Y or Ctrl-Shift-Z)

    Replace (Ctrl-H, Ctrl-R or Ctrl-Shift-F)

    Save As (F12 or Ctrl-Alt-S)

    "Move current paragraph up" is inconsistent even between Microsoft's own programs: Alt-Shift-Up in Word, Alt-Up in VS Code and Visual Studio. Notepad++ adds to the pain with Ctrl-Shift-Up.

    Ctrl-F doesn't open a Find dialog box in Outlook, I could go on.

    • pwg 3 years ago

      > Ctrl-F doesn't open a Find dialog box in Outlook

      For this, in Outlook, the explanation is (per Raymond Chen): Bill Gates

      https://devblogs.microsoft.com/oldnewthing/20140715-00/?p=50...

    • PTOB 3 years ago

      I've gone back and forth on this. It's an email client whose shortcut for Forward has been Ctrl-F for decades. After much soul-searching, I've come terms with Ctrl-E for sEarch.

    • BitwiseFool 3 years ago

      >"Ctrl-F doesn't open a Find dialog box in Outlook, I could go on."

      You would think, at some point, they would add this in as an optional feature. I wonder how many people submit this as a piece of feedback.

  • denimnerd42 3 years ago

    One reason I’ve developed such a dependency on mousing and not short cuts. Now it’s just windows and macos but before it was windows, macos, unity, and gnome 3. Using the mouse is sane. 2-4 sets of shortcuts is not.

    • copperx 3 years ago

      Well ... I switch between Qwerty and Dvorak. 2x the pain! That's one thing that I didn't foresee when learning Dvorak.

      To use a shortcut, I need to know :

      1) What keyboard layout am I using?

      2) Am I using a Kinesis or standard keyboard?

      3) What OS am I using?

      4) What app I'm using?

      Don't do it, kids. Now I'm so invested in Dvorak that I can't go back. It's an irreversible change.

      It's suprising, but muscle memory somehow makes all of this work (most of the time). Sometimes I screw up horribly.

    • chrsig 3 years ago

      for a while i was exclusively using gnome3...without getting into a gnome2 vs gnome3 debate (gnome has been my default since 1.4, I found the gnome2 introduction just as jarring as the gnome3 introduction) --

      Using soley gnome3, I feel like I was able to reach peak productivity. I was able to easily switch between tasks by allowing them all to be fullscreen, and just scrolling through the desktops with barely moving my thumbs. Great emacs keybinding support. Especially in emacs.

      I've been fighting tooth and nail with macos, because they use both option & command with their keybindings. There's no winning no matter how I rebind.

      Windows I mostly don't try. jetbrains has a good enough emacs keybinding that doesn't seem to get clobbered by the OS.

    • hydrolox 3 years ago

      once you use a program enough,imo, you'll learn useful shortcuts even if they're incoherent. I hate editing text or programming with a mouse after using vim for a while. Same with many other programs. + you can always rebind but it's a lot of effort and stuck on your computer

  • yjftsjthsd-h 3 years ago

    Some of it is https://xkcd.com/927/ all over. EMACS is so old that it couldn't use an existing standard because it predates them. Then CUA (https://en.wikipedia.org/wiki/IBM_Common_User_Access) tried to set a standard but not everyone used it and it fell out of favor, and MacOS did its own thing, and we eventually got to a place where nobody has enough pull to set a standard so it's just a question of what convention(s) a given program decides to support (or not).

    Edit: Which is the big reason why I believe that every program should allow users to customize shortcuts completely and ideally ship with presets that do their best to conform to every standard/convention possible ("do you want to preload CUA, EMACS, or MacOS convention shortcuts?").

  • actuallyalys 3 years ago

    For macOS-Windows consistency, you can try kinto.sh, although the AutoHotkey-based implementation is not always reliable in my experience.

dan-robertson 3 years ago

Is there any hope of handing off keyboard shortcut customisation and recognition to the user agent instead of each web app having to reinvent them? In my ideal world it would be a requested permission (so web pages wouldn’t be able to prevent normal shortcut behaviour by default) and at some initialisation step the website would hint at the things it would like to be able to do (eg purposes, similar commands, groups, suggested keys) and the browser would figure out some reasonable mappings and offer customisability. Browsers could even offer search for web app commands (like eg Mac apps when searching from the help menu).

But web apps might not like potentially giving up so much control over their interface/UX and I think the system would need to be so complicated (eg look at Emacs with nested keymaps, remapping, multiple active keymaps, transient keymaps, and even the weird translation maps) that it would be often overkill and frequently incomprehensible and practically unconfigurable.

But the status quo where web apps often have fixed keyboard shortcuts, override browser/os defaults to do totally unrelated operations, and offer little recourse also doesn’t seem great. All I really want is for Google docs on Linux to give me Emacs (or at least macOS) style shortcuts for moving in text.

r_hoods_ghost 3 years ago

Hands down the best implementation of shortcuts I've come across is Blender (the 3d modeller). First it has shortcuts for many actions out of the box and second you can create or modify any keyboard shortcuts on (almost) any operator (button) in the interface by right clicking on the operator and assigning your shortcuts. There is also a fully searchable and customisable key map, you can import and export key maps and you can switch between them easily. Lastly it supports search based navigation.

jph 3 years ago

Coherent and consistent keyboard shortcuts can be incredibly helpful. We spent a ton of time on the choices for GitAlias https://github.com/gitalias/gitalias

I fully agree with the article saying "your users might not even agree on what constitutes a typical workflow". And it's painful to cut shortcuts that people like for their workflows, but that don't cohere well, or can't be consistent.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection