spiegel-keyman/web/source/kmwkeymaps.js
Marc Durdin 7125e3a08e KeymanWeb 10.0 alpha (#124)
* Fixes #107 - move __BUILD__ and dfltLayout variables into tavultesoft object

* Cherry-pick fix for error from attachment api rework #114

* Fixup missing __BUILD__ reference

* Update header version number

* Fixup broken getDefaultKeyObject() call so we can release 2.0

* Fixes #118 - longpress menu sometimes missing base key on phone devices (#134)

* Add note to build scripts to remind devs to make changes to both scripts
2017-07-26 07:36:58 +07:00

165 lines
No EOL
4.2 KiB
JavaScript

/***
KeymanWeb 10.0
Copyright 2017 SIL International
***/
// If KMW is already initialized, the KMW script has been loaded more than once. We wish to prevent resetting the
// KMW system, so we use the fact that 'initialized' is only 1 / true after all scripts are loaded for the initial
// load of KMW.
if(!window['tavultesoft']['keymanweb']['initialized']) {
/**
* Cross-browser compatibility keymaps
*/
(function()
{
// Declare KeymanWeb object
var keymanweb=window['tavultesoft']['keymanweb'];
/* I732 START - 13/03/2007 MCD: Swedish: Start mapping of keystroke to US keyboard #2 */
var ffie = keymanweb._VKMap_FF_IE = {};
//ffie['k109'] = 189; // - // These two number-pad VK rules are *not* correct for more recent FF! JMD 8/11/12
//ffie['k107'] = 187; // = // FF 3.0 // I2062
ffie['k61'] = 187; // = // FF 2.0
ffie['k59'] = 186; // ;
keymanweb._VKMap_Opera_IE = {};
keymanweb._VKMap_Safari_IE = {};
// Swedish key map
var kmap = keymanweb._VKMap = {};
kmap['se'] = {};
kmap['se']['k220'] = 192; // `
kmap['se']['k187'] = 189; // -
kmap['se']['k219'] = 187; // =
kmap['se']['k221'] = 219; // [
kmap['se']['k186'] = 221; // ]
kmap['se']['k191'] = 220; // \
kmap['se']['k192'] = 186; // ;
kmap['se']['k189'] = 191; // /
kmap['uk'] = {}; // I1299
kmap['uk']['k223'] = 192; // // ` U+00AC (logical not) => ` ~
kmap['uk']['k192'] = 222; // ' @ => ' "
kmap['uk']['k222'] = 226; // # ~ => K_oE2 // I1504 - UK keyboard mixup #, \
kmap['uk']['k220'] = 220; // \ | => \ | // I1504 - UK keyboard mixup #, \
/* I732 END - 13/03/2007 MCD: Swedish: mapping of keystroke to US keyboard #2 */
/* 13/03/2007 MCD: Swedish: Legacy keyboards - map US Key Code to Character Code */
var s0={},s1={};
s0['k192'] = 96;
s0['k49'] = 49;
s0['k50'] = 50;
s0['k51'] = 51;
s0['k52'] = 52;
s0['k53'] = 53;
s0['k54'] = 54;
s0['k55'] = 55;
s0['k56'] = 56;
s0['k57'] = 57;
s0['k48'] = 48;
s0['k189'] = 45;
s0['k187'] = 61;
s0['k81'] = 113;
s0['k87'] = 119;
s0['k69'] = 101;
s0['k82'] = 114;
s0['k84'] = 116;
s0['k89'] = 121;
s0['k85'] = 117;
s0['k73'] = 105;
s0['k79'] = 111;
s0['k80'] = 112;
s0['k219'] = 91;
s0['k221'] = 93;
s0['k220'] = 92;
s0['k65'] = 97;
s0['k83'] = 115;
s0['k68'] = 100;
s0['k70'] = 102;
s0['k71'] = 103;
s0['k72'] = 104;
s0['k74'] = 106;
s0['k75'] = 107;
s0['k76'] = 108;
s0['k186'] = 59;
s0['k222'] = 39;
s0['k90'] = 122;
s0['k88'] = 120;
s0['k67'] = 99;
s0['k86'] = 118;
s0['k66'] = 98;
s0['k78'] = 110;
s0['k77'] = 109;
s0['k188'] = 44;
s0['k190'] = 46;
s0['k191'] = 47;
s1['k192'] = 126;
s1['k49'] = 33;
s1['k50'] = 64;
s1['k51'] = 35;
s1['k52'] = 36;
s1['k53'] = 37;
s1['k54'] = 94;
s1['k55'] = 38;
s1['k56'] = 42;
s1['k57'] = 40;
s1['k48'] = 41;
s1['k189'] = 95;
s1['k187'] = 43;
s1['k81'] = 81;
s1['k87'] = 87;
s1['k69'] = 69;
s1['k82'] = 82;
s1['k84'] = 84;
s1['k89'] = 89;
s1['k85'] = 85;
s1['k73'] = 73;
s1['k79'] = 79;
s1['k80'] = 80;
s1['k219'] = 123;
s1['k221'] = 125;
s1['k220'] = 124;
s1['k65'] = 65;
s1['k83'] = 83;
s1['k68'] = 68;
s1['k70'] = 70;
s1['k71'] = 71;
s1['k72'] = 72;
s1['k74'] = 74;
s1['k75'] = 75;
s1['k76'] = 76;
s1['k186'] = 58;
s1['k222'] = 34;
s1['k90'] = 90;
s1['k88'] = 88;
s1['k67'] = 67;
s1['k86'] = 86;
s1['k66'] = 66;
s1['k78'] = 78;
s1['k77'] = 77;
s1['k188'] = 60;
s1['k190'] = 62;
s1['k191'] = 63;
keymanweb._USCharCode = [s0,s1];
/**
* Function _USKeyCodeToCharCode
* Scope Private
* @param {Event} Levent KMW event object
* @return {number} Character code
* Description Translate keyboard codes to standard US layout codes
*/
keymanweb._USKeyCodeToCharCode = function(Levent)
{
return keymanweb._USCharCode[Levent.Lmodifiers & 0x10 ? 1 : 0]['k'+Levent.Lcode];
};
})();
}