loleaflet/src/layer/tile/TileLayer.js |   30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

New commits:
commit d0f420bc812b59a68f0f7a48ba9c79104b87313b
Author: Mihai Varga <mihai.va...@collabora.com>
Date:   Tue Jun 30 11:34:24 2015 +0300

    Added a set of keys that need to be handled on the keydown event

diff --git a/loleaflet/src/layer/tile/TileLayer.js 
b/loleaflet/src/layer/tile/TileLayer.js
index fbe61f6..7a6c19c 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -92,6 +92,26 @@ L.TileLayer = L.GridLayer.extend({
                222 : null  // single quote     : UNKOWN
        },
 
+       handleOnKeyDown: {
+               // these keys need to be handled on keydown in order for them
+               // to work on chrome
+               8   : true, // backspace
+               9   : true, // tab
+               19  : true, // pause/break
+               20  : true, // caps lock
+               27  : true, // escape
+               33  : true, // page up
+               34  : true, // page down
+               35  : true, // end
+               36  : true, // home
+               37  : true, // left arrow
+               38  : true, // up arrow
+               39  : true, // right arrow
+               40  : true, // down arrow
+               45  : true, // insert
+               46  : true // delete
+       },
+
        initialize: function (url, options) {
 
                this._url = url;
@@ -825,16 +845,10 @@ L.TileLayer = L.GridLayer.extend({
 
                var charCode = e.originalEvent.charCode;
                var keyCode = e.originalEvent.keyCode;
-               // TODO handle browser differences
-               if (e.type === 'keydown' && keyCode === 8) {
-                       // chrome backspace
+               if (e.type === 'keydown' && this.handleOnKeyDown[keyCode]) {
                        this._postKeyboardEvent('input', charCode, 
this._toUNOKeyCode(keyCode));
                }
-               else if (e.type === 'keypress') {
-                       if (keyCode === 8) {
-                               // backspace has already been handled
-                               return;
-                       }
+               else if (e.type === 'keypress' && 
!this.handleOnKeyDown[keyCode]) {
                        if (charCode === keyCode && charCode !== 13) {
                                // Chrome sets keyCode = charCode for printable 
keys
                                // while LO requires it to be 0
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to