diff --git a/lib/client/key.js b/lib/client/key.js index 4bdc0ea4..99db3c04 100644 --- a/lib/client/key.js +++ b/lib/client/key.js @@ -63,6 +63,7 @@ var CloudCmd, Util, DOM; F9 : 120, F10 : 121, + DOT : 190, SLASH : 191, TRA : 192, /* Typewritten Reverse Apostrophe (`) */ BACKSLASH : 220 @@ -99,6 +100,7 @@ var CloudCmd, Util, DOM; ctrl = event.ctrlKey, meta = event.metaKey, keyIdentifier = event.keyIdentifier, + isBetween = keyCode >= KEY.ZERO && keyCode <= KEY.Z, char = ''; if (keyIdentifier) @@ -108,7 +110,7 @@ var CloudCmd, Util, DOM; /* если клавиши можно обрабатывать*/ if (Binded) { - if (!alt && !ctrl && !meta && keyCode >= KEY.ZERO && keyCode <= KEY.Z) + if (!alt && !ctrl && !meta && (isBetween || keyCode === KEY.DOT)) setCurrentByLetter(char); else { Chars = []; @@ -142,7 +144,8 @@ var CloudCmd, Util, DOM; setted = false, current = Info.element, files = Info.files, - regExp = new RegExp('^' + char + '.*$', 'i'); + escapeChar = Util.escapeRegExp(char), + regExp = new RegExp('^' + escapeChar + '.*$', 'i'); n = Chars.length; for (i = 0; i < n; i++)