| Index: chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
|
| diff --git a/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js b/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
|
| index 6b7d020b744fd3d4e2f2d92c6cd1b761b58e9c62..98d6ad71de0b943c1f98e338a2d64d4393697def 100644
|
| --- a/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
|
| +++ b/chrome/browser/resources/chromeos/chromevox/chromevox/background/kbexplorer.js
|
| @@ -16,6 +16,7 @@ goog.require('cvox.ChromeVoxKbHandler');
|
| goog.require('cvox.CommandStore');
|
| goog.require('cvox.KeyMap');
|
| goog.require('cvox.KeyUtil');
|
| +goog.require('cvox.LibLouis');
|
|
|
| /**
|
| * Class to manage the keyboard explorer.
|
| @@ -58,6 +59,11 @@ cvox.KbExplorer.init = function() {
|
| cvox.ChromeVoxKbHandler.handlerKeyMap = cvox.KeyMap.fromDefaults();
|
| cvox.ChromeVox.modKeyStr = 'Search+Shift';
|
| }
|
| +
|
| + /** @type {cvox.LibLouis} */
|
| + this.currentBrailleTranslator_ = backgroundWindow['cvox']['BrailleBackground']
|
| + ['getInstance']()['getTranslatorManager']()['getDefaultTranslator']();
|
| +
|
| cvox.ChromeVoxKbHandler.commandHandler = cvox.KbExplorer.onCommand;
|
| $('instruction').focus();
|
| };
|
| @@ -132,25 +138,58 @@ cvox.KbExplorer.onBrailleKeyEvent = function(evt) {
|
| case cvox.BrailleKeyCommand.BOTTOM:
|
| msgid = 'braille_bottom';
|
| break;
|
| - break;
|
| case cvox.BrailleKeyCommand.ROUTING:
|
| case cvox.BrailleKeyCommand.SECONDARY_ROUTING:
|
| msgid = 'braille_routing';
|
| msgArgs.push(/** @type {number} */ (evt.displayPosition + 1));
|
| break;
|
| case cvox.BrailleKeyCommand.CHORD:
|
| - if (!evt.brailleDots)
|
| + var dots = evt.brailleDots;
|
| + if (!dots)
|
| return;
|
| +
|
| + // First, check for the dots mapping to a key code.
|
| + var keyCode = cvox.BrailleKeyEvent.brailleChordsToStandardKeyCode[dots];
|
| + if (keyCode) {
|
| + text = keyCode;
|
| + break;
|
| + }
|
| +
|
| + // Next, check for the modifier mappings.
|
| + var mods = cvox.BrailleKeyEvent.brailleDotsToModifiers[dots];
|
| + if (mods) {
|
| + var outputs = [];
|
| + for (var mod in mods) {
|
| + if (mod == 'ctrlKey')
|
| + outputs.push('control');
|
| + else if (mod == 'altKey')
|
| + outputs.push('alt');
|
| + else if (mod == 'shiftKey')
|
| + outputs.push('shift');
|
| + }
|
| +
|
| + text = outputs.join(' ');
|
| + break;
|
| + }
|
| +
|
| var command =
|
| - BrailleCommandHandler.getCommand(evt.brailleDots);
|
| + BrailleCommandHandler.getCommand(dots);
|
| if (command && cvox.KbExplorer.onCommand(command))
|
| return;
|
| - // Fall through.
|
| + text = BrailleCommandHandler.makeShortcutText(dots, true);
|
| + break;
|
| case cvox.BrailleKeyCommand.DOTS:
|
| - if (!evt.brailleDots)
|
| + var dots = evt.brailleDots;
|
| + if (!dots)
|
| return;
|
| - text = BrailleCommandHandler.makeShortcutText(evt.brailleDots);
|
| - break;
|
| + var cells = new ArrayBuffer(1);
|
| + var view = new Uint8Array(cells);
|
| + view[0]= dots;
|
| + cvox.KbExplorer.currentBrailleTranslator_.backTranslate(cells,
|
| + function(res) {
|
| + cvox.KbExplorer.output(res);
|
| + }.bind(this));
|
| + return;
|
| case cvox.BrailleKeyCommand.STANDARD_KEY:
|
| break;
|
| }
|
|
|