<table><tr><td style="">thiagosueto 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>My take on this:</p>
<p>One issue I experienced while assigning "Switch to VD above/below/left/right" and "Switch to next/previous VD" myself is that the 4 arrow keys are incredibly valuable for desktop environments that use a 3D VD model, that is, environments where you can switch between two axes, up/down and left/right. In addition, arrow keys are close both in semantic and physical manner, which makes them perfect for 3D navigation with windows and VDs. The issue here is that if you set "Switch to next/previous VD" to arrow keys, "Switch to VD above/below/left/right" can't make use of arrow keys.</p>
<p>Windows, OSX, i3 and GNOME all use a 2D model for virtual desktops. I believe keyboard shortcuts should be assigned in accordance to the model the desktop environment uses; that can of course have exceptions, for instance, for the sake of familiarity (which is the case) though I'm not fond of using just familiarity as a reason for this sort of change.</p>
<p>This sort of combo (Ctrl+Meta+arrow) makes sense, but if you set it for Next/Previous, you'd be missing the opportunity of setting the entirety of the four arrow keys to a set of four close functionalities, namely Switch to VD above/below/left/right, and would require setting the combo Ctrl+Meta+up/down to something else which has 2 similar functionalities instead of four. The problem with this is that there isn't a pair of keys on the keyboard that would work well with Next/Previous aside from Left/Right. PageUp and PageDown, for instance, would typically be expected to descend immediately below and above like in GNOME, not e.g. switching diagonally if the user has 4 VDs or more.</p>
<p>What can be done in order for this to make sense in Plasma's context is also set Switch One Desktop Up and Switch One Desktop Down since, analogously, Next/Previous and left/right usually intersect, but that is rather clunky. What if the user has 6 VDs arranged like 1, 2, 3 on the upper side and 4, 5, 6 on the lower side, and want to switch from 6 to 4 using Switch One Desktop Right? It might also be more intuitive to set up/down/left/right instead of up/down/Previous/Next, especially if the user prefers to use a vertical VD layout (users coming from GNOME might like this), in which case using the left and right keys make no sense for transitioning between desktops.</p>
<p>A rebuttal to my criticism of up/down/left/right being more intuitive is that intuitiveness can also be broken for the "better option", like GNOME devs usually affirm. For instance, they have Meta+Left/Right for snapping windows, but Meta+Up/Down for maximizing/restore, which breaks the intuitiveness of snap up/down/left/right because snapping a window up or down is either niche or is not the best arrangement of windows if your screen monitor isn't huge, and because maximize/restore are way more used functionalities.</p>
<p>Anyway, this is one of those keyboard shortcut changes that must be taken as a whole instead of in small parts. Could decision-making on this be postponed at least a week? I was going to more accurately address these things with my posts on GNOME soon. This requires discussion first.</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<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>