Ver a proveniência

Merge branch 'fix-numerical-keys' into 'master'

Fix numerical key bindings on different keyboard layouts

See merge request Isleward/isleward!545
tags/v0.10.0^2
Big Bad Waffle há 2 anos
ascendente
cometimento
c8d98e3cf0
1 ficheiros alterados com 15 adições e 6 eliminações
  1. +15
    -6
      src/client/js/input.js

+ 15
- 6
src/client/js/input.js Ver ficheiro

@@ -22,6 +22,14 @@ define([
'shift', 'ctrl' 'shift', 'ctrl'
], ],


numericalKeyCodeMappings: {
Digit1: 49,
Digit2: 50,
Digit3: 51,
Digit4: 52,
Digit5: 53
},

mappings: { mappings: {
8: 'backspace', 8: 'backspace',
9: 'tab', 9: 'tab',
@@ -73,7 +81,7 @@ define([
onLoadShake: function (shake) { onLoadShake: function (shake) {
let shaker = new shake({ let shaker = new shake({
threshold: 5, threshold: 5,
timeout: 1000
timeout: 1000
}); });


shaker.start(); shaker.start();
@@ -81,7 +89,7 @@ define([
}, },


resetKeys: function () { resetKeys: function () {
for (let k in this.keys)
for (let k in this.keys)
events.emit('onKeyUp', k); events.emit('onKeyUp', k);


this.keys = {}; this.keys = {};
@@ -103,7 +111,7 @@ define([
return true; return true;


let down = this.keys[key]; let down = this.keys[key];
this.keys[key] = 2; this.keys[key] = 2;
return (down === 1); return (down === 1);
} return false; } return false;
@@ -138,7 +146,8 @@ define([
if (!this.enabled) if (!this.enabled)
return; return;


let key = this.getMapping(e.which);
let code = this.numericalKeyCodeMappings[e.code] || e.which;
let key = this.getMapping(code);
let isModifier = this.modifiers.indexOf(key) > -1; let isModifier = this.modifiers.indexOf(key) > -1;
let isBody = e.target === document.body; let isBody = e.target === document.body;


@@ -176,7 +185,7 @@ define([
let key = this.getMapping(e.which); let key = this.getMapping(e.which);
let isModifier = this.modifiers.indexOf(key) > -1; let isModifier = this.modifiers.indexOf(key) > -1;
let isBody = e.target === document.body; let isBody = e.target === document.body;
if (!isModifier && !isBody) if (!isModifier && !isBody)
return; return;


@@ -271,7 +280,7 @@ define([
let el = $(e.target); let el = $(e.target);
if ((!el.hasClass('ui-container')) || (el.hasClass('blocking'))) if ((!el.hasClass('ui-container')) || (el.hasClass('blocking')))
return; return;
events.emit('onTouchCancel'); events.emit('onTouchCancel');
} }
}, },


Carregando…
Cancelar
Guardar