[Libreoffice-commits] online.git: loleaflet/src
Mihai Varga
mihai.varga at collabora.com
Tue Jun 30 01:35:31 PDT 2015
loleaflet/src/layer/tile/TileLayer.js | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
New commits:
commit d0f420bc812b59a68f0f7a48ba9c79104b87313b
Author: Mihai Varga <mihai.varga at 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
More information about the Libreoffice-commits
mailing list