<table><tr><td style="">ngraham added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24281">View Revision</a></tr></table><br /><div><div><p>We don't need to slavishly copy other platforms, that's true. But we should also be wary of deviating too far from the familiar. Both can be a failure mode, depending on the circumstance.</p>

<p>I can see the appeal of Meta+WASD. It's a very efficient single-hand keyboard shortcut combo that cleverly re-uses a directional metaphor popularized by video games. It feels "unique" and if it gets implemented and gains popularity, the kinds of people who read tech blogs and try Linux distros for fun will remark, "hey, that's kind of clever."</p>

<p>But like all trade-offs between efficiency and accessibility, you need to strike a balance appropriate to your audience. Cleverness that's lost on or inaccessible to your users isn't actually clever at all. There's a reason why most default settings are kind of dumb and not tuned for maximum efficiency: because they're more approachable and discoverable.</p>

<p>Now, we're talking about virtual desktop switching keyboard shortcuts. Ordinary users don't use virtual desktops and don't use many keyboard shortcuts outside of cut/copy/paste. So our audience is already far above average technically. So we should ask: what keyboard shortcut is this audience most likely to 1) discover and 2) appreciate?</p>

<p>Being a clever single-handed combo, Meta+WASD actually seems quite easy to appreciate for me, so we have #2 already. However the trick is discovering it in the first case (#1). The only visible UI by which you can discover this  shortcut is in the Global Shortcuts KCM which has awful usability and in general people don't trawl through it to find shortcuts. So it should be discoverable through trial and error. The question is, will people discover Meta+WASD through trial and error?</p>

<p>To my knowledge no other keyboard shortcut uses this pattern (using the WASD keys as a substitute for the arrow keys), so it's not going to be on the top of people's minds. By contrast the arrow keys are used on all other platforms, with some combination of modifier keys. Speaking personally, if I was trying to discover a platform's virtual desktop keyboard shortcuts, I would do the following:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">Meta+arrows (seems intuitive, I have a concept that Meta is for global shortcuts and the arrow keys are commonly used with modifier keys for switching virtual desktops)</li>
<li class="remarkup-list-item">If that didn't work, Meta+Ctrl+arrows. This is what Windows does, and we already implement a few Windows shortcuts, so it doesn't seem implausible)</li>
<li class="remarkup-list-item">If that didn't work, Meta+Alt+arrows</li>
<li class="remarkup-list-item">I would not try Alt+arrows because I know Alt+left arrow is used for "Back" in web browsers and Dolphin, so it can't be a valid global shortcut</li>
<li class="remarkup-list-item">I would not try Ctrl+arrows because even though it's what macOS uses, I know that this keyboard shortcut combination is used for moving the insertion point in a text editor on this platform</li>
<li class="remarkup-list-item">I would not try any combination of modifier keys + WASD; it would never occur to me, because "use the WADS keys" is in my mental bucket for video games, not using a desktop environment. Those keys are the first thing I would try in a first-person video game, but the last thing I would try outside of it.</li>
</ol>

<p>Anyway, I'm not formally objecting, because having a global shortcut (practically any global shortcut) is good. But I also know that once we set one of these, people get mad if we change it again, so we should try to avoid the "implement it and see if it works, and change it if it doesn't" dance that we can get away with for some other things.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24281">https://phabricator.kde.org/D24281</a></div></div><br /><div><strong>To: </strong>GB_2, KWin, Plasma, VDG, romangg, ngraham<br /><strong>Cc: </strong>thiagosueto, ngraham, romangg, zzag, VDG, Plasma, kwin, KWin, LeGast00n, The-Feren-OS-Dev, sbergeron, jraleigh, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart<br /></div>