mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 08:55:34 +00:00
62 lines
2 KiB
JavaScript
62 lines
2 KiB
JavaScript
function loadKeyboards() {
|
|
var commonPrefix = "/resources";
|
|
|
|
if(location.protocol == "file:") {
|
|
// Note: won't actually work, as it'll be blocked by CORS / same-origin policy when
|
|
// KeymanWeb tries to load the stub via the file: protocol.
|
|
//
|
|
// Both Firefox and Chrome don't like that it's not data: or http:/https:
|
|
// and will consider the local files to be "remote resource[s]".
|
|
commonPrefix = "../../../common/core/web/tests/resources";
|
|
}
|
|
|
|
var filePrefix = commonPrefix + "/json/keyboards/";
|
|
|
|
// Existing unit_test stubs at the time of writing:
|
|
var preloadFiles = [
|
|
filePrefix + "galaxie_hebrew_positional.json",
|
|
filePrefix + "khmer_angkor.json",
|
|
filePrefix + "lao_2008_basic.json",
|
|
filePrefix + "options_with_save.json",
|
|
filePrefix + "test_deadkeys.json",
|
|
filePrefix + "test_simple_deadkeys.json",
|
|
filePrefix + "test_chirality.json"
|
|
];
|
|
|
|
loadExistingStubs(preloadFiles);
|
|
}
|
|
|
|
// Script to allow a user to add any keyboard to the keyboard menu
|
|
function addKeyboard(n) {
|
|
var sKbd;
|
|
switch(n) {
|
|
case 1:
|
|
sKbd=document.getElementById('kbd_id1').value;
|
|
keyman.addKeyboards(sKbd);
|
|
break;
|
|
case 2:
|
|
sKbd=document.getElementById('kbd_id2').value.toLowerCase();
|
|
keyman.addKeyboards('@'+sKbd);
|
|
break;
|
|
case 3:
|
|
sKbd=document.getElementById('kbd_id3').value;
|
|
keyman.addKeyboardsForLanguage(sKbd);
|
|
break;
|
|
case 4:
|
|
sKbd=document.getElementById('kbd_stub_add').value;
|
|
var stub = new KMWRecorder.KeyboardStub(JSON.parse(sKbd));
|
|
stub.setBasePath(commonPrefix + "/keyboards", false);
|
|
keyman.addKeyboards(stub);
|
|
|
|
// We actually know the exact details for this one easily, so set it as active!
|
|
doKeyboardChange("Keyboard_" + stub.id, stub.getFirstLanguage());
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Add keyboard on Enter (as well as pressing button)
|
|
function clickOnEnter(e,id) {
|
|
e = e || window.event;
|
|
if(e.keyCode == 13) addKeyboard(id);
|
|
}
|
|
|