mirror of https://github.com/vector-im/riot-web
Move to composer when typing letters with Shift held
We already jump to the composer for unshifted typing, but we should also do so with Shift as well. Fixes https://github.com/vector-im/riot-web/issues/12734pull/21833/head
parent
f5f433b347
commit
e927ab6ad4
|
@ -337,13 +337,13 @@ const LoggedInView = createReactClass({
|
||||||
|
|
||||||
let handled = false;
|
let handled = false;
|
||||||
const ctrlCmdOnly = isOnlyCtrlOrCmdKeyEvent(ev);
|
const ctrlCmdOnly = isOnlyCtrlOrCmdKeyEvent(ev);
|
||||||
const hasModifier = ev.altKey || ev.ctrlKey || ev.metaKey || ev.shiftKey ||
|
const hasModifier = ev.altKey || ev.ctrlKey || ev.metaKey || ev.shiftKey;
|
||||||
ev.key === Key.ALT || ev.key === Key.CONTROL || ev.key === Key.META || ev.key === Key.SHIFT;
|
const isModifier = ev.key === Key.ALT || ev.key === Key.CONTROL || ev.key === Key.META || ev.key === Key.SHIFT;
|
||||||
|
|
||||||
switch (ev.key) {
|
switch (ev.key) {
|
||||||
case Key.PAGE_UP:
|
case Key.PAGE_UP:
|
||||||
case Key.PAGE_DOWN:
|
case Key.PAGE_DOWN:
|
||||||
if (!hasModifier) {
|
if (!hasModifier && !isModifier) {
|
||||||
this._onScrollKeyPressed(ev);
|
this._onScrollKeyPressed(ev);
|
||||||
handled = true;
|
handled = true;
|
||||||
}
|
}
|
||||||
|
@ -384,7 +384,10 @@ const LoggedInView = createReactClass({
|
||||||
if (handled) {
|
if (handled) {
|
||||||
ev.stopPropagation();
|
ev.stopPropagation();
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
} else if (!hasModifier) {
|
} else if (!isModifier && !ev.altKey && !ev.ctrlKey && !ev.metaKey) {
|
||||||
|
// The above condition is crafted to _allow_ characters with Shift
|
||||||
|
// already pressed (but not the Shift key down itself).
|
||||||
|
|
||||||
const isClickShortcut = ev.target !== document.body &&
|
const isClickShortcut = ev.target !== document.body &&
|
||||||
(ev.key === Key.SPACE || ev.key === Key.ENTER);
|
(ev.key === Key.SPACE || ev.key === Key.ENTER);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue