mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 16:35:33 +00:00
* 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
165 lines
No EOL
4.2 KiB
JavaScript
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];
|
|
};
|
|
|
|
})();
|
|
} |