spiegel-keyman/web/testing/caps-lock-layer-3620/caps_lock_layer_3620.js
Marc Durdin 62796e3489 feat(web): Caps Layer and double-tap gesture
Fixes #3620.

Implements the Caps Lock layer support and the double-tap gesture on the
shift key to access it.

The double-tap gesture has been implemented with a view to extension to
support other multi-tap gestures in the future. However, for now, it is
limited to supporting the Shift key, if and only if the keyboard
includes a Caps layer.

The reason for this v15 limitation is that multi-tap on regular keys
would involve either rewinding the previous keystroke (the first tap),
or forcing keyboard developers to consider 'rota' style rules in their
keyboards to support the multi-tap gestures, as we need to make sure
that the first tap is accepted and processed for immediate feedback.
This needs more design, to avoid unnecessary complexity in the keyboards
and/or the rewinding of the keystroke (even though that is conceptually
supported in Keyman Engine for Web already). Basically, we don't want to
constrain the way that a keyboard author may use the multi-tap gesture
by hard-coding the rewind, but neither do we want to make all multi-tap
gestures needlessly complex to author.

The shift key (and other modifiers, potentially in future) needs special
support for multi-tap as the key that is being tapped changes with the
layer change. This is currently managed through recognising `K_SHIFT` in
the key id.

I have tried to follow the `PendingGesture` pattern for multi-tap, and
the gesture itself supports a series of taps, not just a double-tap. The
maximum time to complete the tap series is 125msec * number-of-taps, so
for a double-tap is 250msec.

The changes to support a Caps Lock layer itself were minimal; just
adding the `text.KeyboardProcessor.getStateFromLayer` function and
calling it during `KeyEvent` construction. The remaining changes relate
to the multi-tap gesture.

Minor changes:
* I moved `constructNullKeyEvent` to `KeyEvent` in order to make it
  more accessible to other classes.
* The multi-tap gesture does not have a promise to complete, so that is
  now an optional member of the `PendingGesture` interface.
2021-12-01 08:59:43 +11:00

1661 lines
44 KiB
JavaScript

if(typeof keyman === 'undefined') {
console.log('Keyboard requires KeymanWeb 10.0 or later');
if(typeof tavultesoft !== 'undefined') tavultesoft.keymanweb.util.alert("This keyboard requires KeymanWeb 10.0 or later");
} else {
KeymanWeb.KR(new Keyboard_caps_lock_layer_3620());
}
function Keyboard_caps_lock_layer_3620()
{
var modCodes = keyman.osk.modifierCodes;
var keyCodes = keyman.osk.keyCodes;
this._v=(typeof keyman!="undefined"&&typeof keyman.version=="string")?parseInt(keyman.version,10):9;
this.KI="Keyboard_caps_lock_layer_3620";
this.KN="Caps Lock Layer 3620";
this.KMINVER="10.0";
this.KV={F:' 1em "Arial"',K102:0};
this.KV.KLS={
};
this.KV.BK=(function(x){
var
empty=Array.apply(null, Array(65)).map(String.prototype.valueOf,""),
result=[], v, i,
modifiers=['default','shift','ctrl','shift-ctrl','alt','shift-alt','ctrl-alt','shift-ctrl-alt'];
for(i=modifiers.length-1;i>=0;i--) {
v = x[modifiers[i]];
if(v || result.length > 0) {
result=(v ? v : empty).slice().concat(result);
}
}
return result;
})(this.KV.KLS);
this.KDU=0;
this.KH='';
this.KM=0;
this.KBVER="1.0";
this.KMBM=modCodes.SHIFT | modCodes.CAPS | modCodes.NO_CAPS /* 0x0310 */;
this.KVKL={
"tablet": {
"font": "Tahoma",
"displayUnderlying": false,
"layer": [
{
"id": "default",
"row": [
{
"id": "1",
"key": [
{
"id": "K_Q",
"text": "q"
},
{
"id": "K_W",
"text": "w"
},
{
"id": "K_E",
"text": "e"
},
{
"id": "K_R",
"text": "r"
},
{
"id": "K_T",
"text": "t"
},
{
"id": "K_Y",
"text": "y"
},
{
"id": "K_U",
"text": "u"
},
{
"id": "K_I",
"text": "i"
},
{
"id": "K_O",
"text": "o"
},
{
"id": "K_P",
"text": "p"
}
]
},
{
"id": "2",
"key": [
{
"id": "K_A",
"pad": "70",
"text": "a"
},
{
"id": "K_S",
"text": "s"
},
{
"id": "K_D",
"text": "d"
},
{
"id": "K_F",
"text": "f"
},
{
"id": "K_G",
"text": "g"
},
{
"id": "K_H",
"text": "h"
},
{
"id": "K_J",
"text": "j"
},
{
"id": "K_K",
"text": "k"
},
{
"id": "K_L",
"text": "l"
},
{
"width": "10",
"id": "T_new_54",
"sp": "10"
}
]
},
{
"id": "3",
"key": [
{
"nextlayer": "shift",
"width": "110",
"id": "K_SHIFT",
"sp": "1",
"text": "*Shift*"
},
{
"id": "K_Z",
"text": "z"
},
{
"id": "K_X",
"text": "x"
},
{
"id": "K_C",
"text": "c"
},
{
"id": "K_V",
"text": "v"
},
{
"id": "K_B",
"text": "b"
},
{
"id": "K_N",
"text": "n"
},
{
"id": "K_M",
"text": "m"
},
{
"id": "K_PERIOD",
"text": ".",
"sk": [
{
"id": "K_COMMA",
"text": ","
},
{
"layer": "shift",
"id": "K_1",
"text": "!"
},
{
"layer": "shift",
"id": "K_SLASH",
"text": "?"
},
{
"id": "K_QUOTE",
"text": "'"
},
{
"layer": "shift",
"id": "K_QUOTE",
"text": "\""
},
{
"id": "K_BKSLASH",
"text": "\\"
},
{
"layer": "shift",
"id": "K_COLON",
"text": ":"
},
{
"id": "K_COLON",
"text": ";"
}
]
},
{
"width": "90",
"id": "K_BKSP",
"sp": "1",
"text": "*BkSp*"
}
]
},
{
"id": "4",
"key": [
{
"nextlayer": "numeric",
"width": "140",
"id": "K_NUMLOCK",
"sp": "1",
"text": "*123*"
},
{
"width": "120",
"id": "K_LOPT",
"sp": "1",
"text": "*Menu*"
},
{
"width": "630",
"id": "K_SPACE"
},
{
"width": "140",
"id": "K_ENTER",
"sp": "1",
"text": "*Enter*"
}
]
}
]
},
{
"id": "shift",
"row": [
{
"id": "1",
"key": [
{
"id": "K_Q",
"text": "Q"
},
{
"id": "K_W",
"text": "W"
},
{
"id": "K_E",
"text": "E"
},
{
"id": "K_R",
"text": "R"
},
{
"id": "K_T",
"text": "T"
},
{
"id": "K_Y",
"text": "Y"
},
{
"id": "K_U",
"text": "U"
},
{
"id": "K_I",
"text": "I"
},
{
"id": "K_O",
"text": "O"
},
{
"id": "K_P",
"text": "P"
}
]
},
{
"id": "2",
"key": [
{
"id": "K_A",
"pad": "70",
"text": "A"
},
{
"id": "K_S",
"text": "S"
},
{
"id": "K_D",
"text": "D"
},
{
"id": "K_F",
"text": "F"
},
{
"id": "K_G",
"text": "G"
},
{
"id": "K_H",
"text": "H"
},
{
"id": "K_J",
"text": "J"
},
{
"id": "K_K",
"text": "K"
},
{
"id": "K_L",
"text": "L"
},
{
"width": "10",
"id": "T_new_190",
"sp": "10"
}
]
},
{
"id": "3",
"key": [
{
"nextlayer": "default",
"width": "110",
"id": "K_SHIFT",
"sp": "2",
"text": "*Shift*"
},
{
"id": "K_Z",
"text": "Z"
},
{
"id": "K_X",
"text": "X"
},
{
"id": "K_C",
"text": "C"
},
{
"id": "K_V",
"text": "V"
},
{
"id": "K_B",
"text": "B"
},
{
"id": "K_N",
"text": "N"
},
{
"id": "K_M",
"text": "M"
},
{
"layer": "default",
"id": "K_PERIOD",
"text": ".",
"sk": [
{
"layer": "default",
"id": "K_COMMA",
"text": ","
},
{
"layer": "shift",
"id": "K_1",
"text": "!"
},
{
"layer": "shift",
"id": "K_SLASH",
"text": "?"
},
{
"layer": "default",
"id": "K_QUOTE",
"text": "'"
},
{
"layer": "shift",
"id": "K_QUOTE",
"text": "\""
},
{
"layer": "default",
"id": "K_BKSLASH",
"text": "\\"
},
{
"layer": "shift",
"id": "K_COLON",
"text": ":"
},
{
"layer": "default",
"id": "K_COLON",
"text": ";"
}
]
},
{
"width": "90",
"id": "K_BKSP",
"sp": "1",
"text": "*BkSp*"
}
]
},
{
"id": "4",
"key": [
{
"nextlayer": "numeric",
"width": "140",
"id": "K_NUMLOCK",
"sp": "1",
"text": "*123*"
},
{
"width": "120",
"id": "K_LOPT",
"sp": "1",
"text": "*Menu*"
},
{
"width": "630",
"id": "K_SPACE"
},
{
"width": "140",
"id": "K_ENTER",
"sp": "1",
"text": "*Enter*"
}
]
}
]
},
{
"id": "numeric",
"row": [
{
"id": "1",
"key": [
{
"id": "K_1",
"text": "1"
},
{
"id": "K_2",
"text": "2"
},
{
"id": "K_3",
"text": "3"
},
{
"id": "K_4",
"text": "4"
},
{
"id": "K_5",
"text": "5"
},
{
"id": "K_6",
"text": "6"
},
{
"id": "K_7",
"text": "7"
},
{
"id": "K_8",
"text": "8"
},
{
"id": "K_9",
"text": "9"
},
{
"id": "K_0",
"text": "0"
}
]
},
{
"id": "2",
"key": [
{
"layer": "shift",
"id": "K_4",
"pad": "70",
"text": "$"
},
{
"layer": "shift",
"id": "K_2",
"text": "@"
},
{
"layer": "shift",
"id": "K_3",
"text": "#"
},
{
"layer": "shift",
"id": "K_5",
"text": "%"
},
{
"layer": "shift",
"id": "K_7",
"text": "&"
},
{
"layer": "shift",
"id": "K_HYPHEN",
"text": "_"
},
{
"layer": "default",
"id": "K_EQUAL",
"text": "="
},
{
"layer": "shift",
"id": "K_BKSLASH",
"text": "|"
},
{
"layer": "default",
"id": "K_BKSLASH",
"text": "\\"
},
{
"width": "10",
"id": "T_new_536",
"sp": "10"
}
]
},
{
"id": "3",
"key": [
{
"nextlayer": "shift",
"width": "110",
"id": "K_SHIFT",
"sp": "1",
"text": "*Shift*"
},
{
"id": "K_LBRKT",
"text": "[",
"sk": [
{
"id": "U_00AB",
"text": "\u00AB"
},
{
"layer": "shift",
"id": "K_COMMA",
"text": "<"
},
{
"layer": "shift",
"id": "K_LBRKT",
"text": "{"
}
]
},
{
"layer": "shift",
"id": "K_9",
"text": "("
},
{
"layer": "shift",
"id": "K_0",
"text": ")"
},
{
"id": "K_RBRKT",
"text": "]",
"sk": [
{
"id": "U_00BB",
"text": "\u00BB"
},
{
"layer": "shift",
"id": "K_PERIOD",
"text": ">"
},
{
"layer": "shift",
"id": "K_RBRKT",
"text": "}"
}
]
},
{
"layer": "shift",
"id": "K_EQUAL",
"text": "+"
},
{
"layer": "default",
"id": "K_HYPHEN",
"text": "-"
},
{
"layer": "shift",
"id": "K_8",
"text": "*"
},
{
"layer": "default",
"id": "K_SLASH",
"text": "/"
},
{
"width": "90",
"id": "K_BKSP",
"sp": "1",
"text": "*BkSp*"
}
]
},
{
"id": "4",
"key": [
{
"nextlayer": "default",
"width": "140",
"id": "K_LOWER",
"sp": "1",
"text": "*abc*"
},
{
"width": "120",
"id": "K_LOPT",
"sp": "1",
"text": "*Menu*"
},
{
"width": "630",
"id": "K_SPACE"
},
{
"width": "140",
"id": "K_ENTER",
"sp": "1",
"text": "*Enter*"
}
]
}
]
},
{
"id": "caps",
"row": [
{
"id": "1",
"key": [
{
"id": "K_Q",
"text": "Q"
},
{
"id": "K_W",
"text": "W"
},
{
"id": "K_E",
"text": "E"
},
{
"id": "K_R",
"text": "R"
},
{
"id": "K_T",
"text": "T"
},
{
"id": "K_Y",
"text": "Y"
},
{
"id": "K_U",
"text": "U"
},
{
"id": "K_I",
"text": "I"
},
{
"id": "K_O",
"text": "O"
},
{
"id": "K_P",
"text": "P"
}
]
},
{
"id": "2",
"key": [
{
"id": "K_A",
"pad": "70",
"text": "A"
},
{
"id": "K_S",
"text": "S"
},
{
"id": "K_D",
"text": "D"
},
{
"id": "K_F",
"text": "F"
},
{
"id": "K_G",
"text": "G"
},
{
"id": "K_H",
"text": "H"
},
{
"id": "K_J",
"text": "J"
},
{
"id": "K_K",
"text": "K"
},
{
"id": "K_L",
"text": "L"
},
{
"width": "10",
"id": "T_new_190",
"sp": "10"
}
]
},
{
"id": "3",
"key": [
{
"nextlayer": "default",
"width": "110",
"id": "K_SHIFT",
"sp": "2",
"text": this._v>13 ? "*ShiftedLock*" : "*Shifted*"
},
{
"id": "K_Z",
"text": "Z"
},
{
"id": "K_X",
"text": "X"
},
{
"id": "K_C",
"text": "C"
},
{
"id": "K_V",
"text": "V"
},
{
"id": "K_B",
"text": "B"
},
{
"id": "K_N",
"text": "N"
},
{
"id": "K_M",
"text": "M"
},
{
"layer": "default",
"id": "K_PERIOD",
"text": ".",
"sk": [
{
"layer": "default",
"id": "K_COMMA",
"text": ","
},
{
"layer": "shift",
"id": "K_1",
"text": "!"
},
{
"layer": "shift",
"id": "K_SLASH",
"text": "?"
},
{
"layer": "default",
"id": "K_QUOTE",
"text": "'"
},
{
"layer": "shift",
"id": "K_QUOTE",
"text": "\""
},
{
"layer": "default",
"id": "K_BKSLASH",
"text": "\\"
},
{
"layer": "shift",
"id": "K_COLON",
"text": ":"
},
{
"layer": "default",
"id": "K_COLON",
"text": ";"
}
]
},
{
"width": "90",
"id": "K_BKSP",
"sp": "1",
"text": "*BkSp*"
}
]
},
{
"id": "4",
"key": [
{
"nextlayer": "numeric",
"width": "140",
"id": "K_NUMLOCK",
"sp": "1",
"text": "*123*"
},
{
"width": "120",
"id": "K_LOPT",
"sp": "1",
"text": "*Menu*"
},
{
"width": "630",
"id": "K_SPACE"
},
{
"width": "140",
"id": "K_ENTER",
"sp": "1",
"text": "*Enter*"
}
]
}
]
}
]
}
}
;
this.s_key_10=['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''];
this.s_out_11="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
this.KVER="15.0.114.0";
this.KVS=[];
this.gs=function(t,e) {
return this.g_main_0(t,e);
};
this.gs=function(t,e) {
return this.g_main_0(t,e);
};
this.g_main_0=function(t,e) {
var k=KeymanWeb,r=0,m=0;
if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_A /* 0x41 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"A");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_A /* 0x41 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"A");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_B /* 0x42 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"B");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_B /* 0x42 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"B");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_C /* 0x43 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"C");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_C /* 0x43 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"C");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_D /* 0x44 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"D");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_D /* 0x44 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"D");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_E /* 0x45 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"E");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_E /* 0x45 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"E");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_F /* 0x46 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"F");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_F /* 0x46 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"F");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_G /* 0x47 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"G");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_G /* 0x47 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"G");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_H /* 0x48 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"H");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_H /* 0x48 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"H");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_I /* 0x49 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"I");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_I /* 0x49 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"I");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_J /* 0x4A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"J");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_J /* 0x4A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"J");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_K /* 0x4B */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"K");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_K /* 0x4B */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"K");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_L /* 0x4C */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"L");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_L /* 0x4C */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"L");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_M /* 0x4D */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"M");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_M /* 0x4D */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"M");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_N /* 0x4E */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"N");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_N /* 0x4E */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"N");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_O /* 0x4F */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"O");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_O /* 0x4F */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"O");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_P /* 0x50 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"P");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_P /* 0x50 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"P");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_Q /* 0x51 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"Q");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_Q /* 0x51 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"Q");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_R /* 0x52 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"R");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_R /* 0x52 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"R");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_S /* 0x53 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"S");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_S /* 0x53 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"S");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_T /* 0x54 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"T");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_T /* 0x54 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"T");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_U /* 0x55 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"U");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_U /* 0x55 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"U");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_V /* 0x56 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"V");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_V /* 0x56 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"V");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_W /* 0x57 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"W");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_W /* 0x57 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"W");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_X /* 0x58 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"X");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_X /* 0x58 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"X");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_Y /* 0x59 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"Y");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_Y /* 0x59 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"Y");
}
}
else if(k.KKM(e, modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4100 */, keyCodes.K_Z /* 0x5A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"Z");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4210 */, keyCodes.K_Z /* 0x5A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"Z");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_A /* 0x41 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"a");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_A /* 0x41 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"a");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_B /* 0x42 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"b");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_B /* 0x42 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"b");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_C /* 0x43 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"c");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_C /* 0x43 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"c");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_D /* 0x44 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"d");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_D /* 0x44 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"d");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_E /* 0x45 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"e");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_E /* 0x45 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"e");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_F /* 0x46 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"f");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_F /* 0x46 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"f");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_G /* 0x47 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"g");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_G /* 0x47 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"g");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_H /* 0x48 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"h");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_H /* 0x48 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"h");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_I /* 0x49 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"i");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_I /* 0x49 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"i");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_J /* 0x4A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"j");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_J /* 0x4A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"j");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_K /* 0x4B */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"k");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_K /* 0x4B */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"k");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_L /* 0x4C */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"l");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_L /* 0x4C */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"l");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_M /* 0x4D */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"m");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_M /* 0x4D */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"m");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_N /* 0x4E */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"n");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_N /* 0x4E */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"n");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_O /* 0x4F */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"o");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_O /* 0x4F */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"o");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_P /* 0x50 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"p");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_P /* 0x50 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"p");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_Q /* 0x51 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"q");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_Q /* 0x51 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"q");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_R /* 0x52 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"r");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_R /* 0x52 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"r");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_S /* 0x53 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"s");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_S /* 0x53 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"s");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_T /* 0x54 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"t");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_T /* 0x54 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"t");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_U /* 0x55 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"u");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_U /* 0x55 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"u");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_V /* 0x56 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"v");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_V /* 0x56 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"v");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_W /* 0x57 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"w");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_W /* 0x57 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"w");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_X /* 0x58 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"x");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_X /* 0x58 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"x");
}
}
if(m) {}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_Y /* 0x59 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"y");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_Y /* 0x59 */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"y");
}
}
else if(k.KKM(e, modCodes.NO_CAPS | modCodes.VIRTUAL_KEY /* 0x4200 */, keyCodes.K_Z /* 0x5A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"z");
}
}
else if(k.KKM(e, modCodes.SHIFT | modCodes.CAPS | modCodes.VIRTUAL_KEY /* 0x4110 */, keyCodes.K_Z /* 0x5A */)) {
if(1){
r=m=1; // Line 19
k.KDC(0,t);
k.KO(-1,t,"z");
}
}
return r;
};
}