mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-27 04:06:51 +00:00
(bug 48022) Ignore certain function keys in key press handler
This is a temporary solution that still may some function keys go through. Change-Id: I7a8d6c474ecca5af02b72b6453c900ed61acea58
This commit is contained in:
parent
adf53d8abc
commit
b32b5702d4
|
@ -444,12 +444,18 @@ ve.ce.Surface.prototype.onDocumentKeyPress = function ( e ) {
|
|||
}
|
||||
}
|
||||
|
||||
// FF fire keypress for arrow keys but we handle them in keydown so let's ignore
|
||||
// FF fires keypress for bunch of function keys that we want to ignore
|
||||
if ( ve.ce.isArrowKey( e.keyCode ) ||
|
||||
ve.ce.isShortcutKey( e ) ||
|
||||
e.which === ve.Keys.DOM_VK_RETURN ||
|
||||
e.which === ve.Keys.DOM_VK_BACK_SPACE ||
|
||||
e.which === ve.Keys.DOM_VK_UNDEFINED ) {
|
||||
e.keyCode === 13 ||
|
||||
e.which === ve.Keys.DOM_VK_UNDEFINED ||
|
||||
e.keyCode === ve.Keys.DOM_VK_BACK_SPACE ||
|
||||
e.keyCode === ve.Keys.DOM_VK_END ||
|
||||
e.keyCode === ve.Keys.DOM_VK_ENTER ||
|
||||
e.keyCode === ve.Keys.DOM_VK_HOME ||
|
||||
e.keyCode === ve.Keys.DOM_VK_TAB ||
|
||||
e.keyCode === ve.Keys.DOM_VK_PAGE_DOWN ||
|
||||
e.keyCode === ve.Keys.DOM_VK_PAGE_UP ) {
|
||||
return;
|
||||
}
|
||||
this.handleInsertion();
|
||||
|
|
|
@ -1129,17 +1129,36 @@
|
|||
|
||||
// Based on the KeyEvent DOM Level 3 (add more as you need them)
|
||||
// http://www.w3.org/TR/2001/WD-DOM-Level-3-Events-20010410/DOM3-Events.html#events-Events-KeyEvent
|
||||
// http://www.w3.org/TR/2000/WD-DOM-Level-3-Events-20000901/events.html
|
||||
ve.Keys = window.KeyEvent || {
|
||||
'DOM_VK_UNDEFINED': 0,
|
||||
'DOM_VK_BACK_SPACE': 8,
|
||||
'DOM_VK_RETURN': 13,
|
||||
'DOM_VK_LEFT': 37,
|
||||
'DOM_VK_UP': 38,
|
||||
'DOM_VK_RIGHT': 39,
|
||||
'DOM_VK_DOWN': 40,
|
||||
'DOM_VK_DELETE': 46
|
||||
'DOM_VK_UNDEFINED': 0x0,
|
||||
'DOM_VK_RIGHT_ALT': 0x12,
|
||||
'DOM_VK_LEFT_ALT ': 0x12,
|
||||
'DOM_VK_LEFT_CONTROL': 0x11,
|
||||
'DOM_VK_RIGHT_CONTROL': 0x11,
|
||||
'DOM_VK_LEFT_SHIFT': 0x10,
|
||||
'DOM_VK_RIGHT_SHIFT': 0x10,
|
||||
'DOM_VK_META': 0x9D,
|
||||
'DOM_VK_BACK_SPACE': 0x08,
|
||||
'DOM_VK_CAPS_LOCK': 0x14,
|
||||
'DOM_VK_DELETE': 0x7F,
|
||||
'DOM_VK_END': 0x23,
|
||||
'DOM_VK_ENTER': 0x0D,
|
||||
'DOM_VK_ESCAPE': 0x1B,
|
||||
'DOM_VK_HOME': 0x24,
|
||||
'DOM_VK_NUM_LOCK': 0x90,
|
||||
'DOM_VK_PAUSE': 0x13,
|
||||
'DOM_VK_PRINTSCREEN': 0x9A,
|
||||
'DOM_VK_SCROLL_LOCK': 0x91,
|
||||
'DOM_VK_SPACE': 0x20,
|
||||
'DOM_VK_TAB': 0x09,
|
||||
'DOM_VK_LEFT': 0x25,
|
||||
'DOM_VK_RIGHT': 0x27,
|
||||
'DOM_VK_UP': 0x26,
|
||||
'DOM_VK_DOWN': 0x28,
|
||||
'DOM_VK_PAGE_DOWN': 0x22,
|
||||
'DOM_VK_PAGE_UP': 0x21
|
||||
};
|
||||
|
||||
// Expose
|
||||
window.ve = ve;
|
||||
}() );
|
||||
|
|
Loading…
Reference in a new issue