| Index: remoting/tools/javascript_key_tester/chord_tracker.js
|
| diff --git a/remoting/tools/javascript_key_tester/chord_tracker.js b/remoting/tools/javascript_key_tester/chord_tracker.js
|
| index a7cded10e689f0b334d1ffaa9905a47783bbec1f..ca1cdb48ce0fce8f8a8b9a5b88f1a4e179d06be6 100644
|
| --- a/remoting/tools/javascript_key_tester/chord_tracker.js
|
| +++ b/remoting/tools/javascript_key_tester/chord_tracker.js
|
| @@ -8,34 +8,39 @@
|
| * @param {HTMLElement} parentDiv
|
| */
|
| var ChordTracker = function(parentDiv) {
|
| + /** @type {HTMLElement} */
|
| this.parentDiv_ = parentDiv;
|
| + /** @type {HTMLElement} */
|
| this.currentDiv_ = null;
|
| + /** @type {Object.<HTMLElement>} */
|
| this.pressedKeys_ = {};
|
| };
|
|
|
| /**
|
| - * @param {number} keyCode
|
| + * @param {number|string} keyId Either a Javascript key-code, or a PNaCl "code"
|
| + * string.
|
| * @param {string} title
|
| * @return {void}
|
| */
|
| -ChordTracker.prototype.addKeyUpEvent = function(keyCode, title) {
|
| - var text = this.keyName_(keyCode);
|
| +ChordTracker.prototype.addKeyUpEvent = function(keyId, title) {
|
| + var text = this.keyName_(keyId);
|
| var span = this.addSpanElement_('key-up', text, title);
|
| - delete this.pressedKeys_[keyCode];
|
| + delete this.pressedKeys_[keyId];
|
| if (!this.keysPressed_()) {
|
| this.end_();
|
| }
|
| };
|
|
|
| /**
|
| - * @param {number} keyCode
|
| + * @param {number|string} keyId Either a Javascript key-code, or a PNaCl "code"
|
| + * string.
|
| * @param {string} title
|
| * @return {void}
|
| */
|
| -ChordTracker.prototype.addKeyDownEvent = function(keyCode, title) {
|
| - var text = this.keyName_(keyCode);
|
| +ChordTracker.prototype.addKeyDownEvent = function(keyId, title) {
|
| + var text = this.keyName_(keyId);
|
| var span = this.addSpanElement_('key-down', text, title);
|
| - this.pressedKeys_[keyCode] = span;
|
| + this.pressedKeys_[keyId] = span;
|
| };
|
|
|
| /**
|
| @@ -63,11 +68,13 @@ ChordTracker.prototype.releaseAllKeys = function() {
|
| * @param {string} className
|
| * @param {string} text
|
| * @param {string} title
|
| + * @return {HTMLElement}
|
| */
|
| ChordTracker.prototype.addSpanElement_ = function(className, text, title) {
|
| this.begin_();
|
| - var span = document.createElement('span');
|
| + var span = /** @type {HTMLElement} */ (document.createElement('span'));
|
| span.classList.add(className);
|
| + span.classList.add('key-div');
|
| span.innerText = text;
|
| span.title = title;
|
| this.currentDiv_.appendChild(span);
|
| @@ -81,7 +88,7 @@ ChordTracker.prototype.begin_ = function() {
|
| if (this.currentDiv_) {
|
| return;
|
| }
|
| - this.currentDiv_ = document.createElement('div');
|
| + this.currentDiv_ = /** @type {HTMLElement} */ (document.createElement('div'));
|
| this.currentDiv_.classList.add('chord-div');
|
| this.parentDiv_.appendChild(this.currentDiv_);
|
| };
|
| @@ -113,15 +120,18 @@ ChordTracker.prototype.keysPressed_ = function() {
|
| };
|
|
|
| /**
|
| - * @param {number} keyCode The keyCode field of the keyup or keydown event.
|
| + * @param {number|string} keyId Either a Javascript key-code, or a PNaCl "code"
|
| + * string.
|
| * @return {string} A human-readable representation of the key.
|
| * @private
|
| */
|
| -ChordTracker.prototype.keyName_ = function(keyCode) {
|
| - var result = keyboardMap[keyCode];
|
| +ChordTracker.prototype.keyName_ = function(keyId) {
|
| + if (typeof keyId == 'string') {
|
| + return keyId;
|
| + }
|
| + var result = keyboardMap[keyId];
|
| if (!result) {
|
| - result = '<' + keyCode + '>';
|
| + result = '<' + keyId + '>';
|
| }
|
| return result;
|
| };
|
| -
|
|
|