{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-synctool/src/client/modifiers-right.js"],"names":["extend","KeyboardEvent","prototype","ctrlRight","window","ControlRight","shiftRight","ShiftRight","altRight","AltRight","ModifiersRight","context","setRightModifierState","e","state","code","onKeydown","onKeyup","load","options","capture","passive","lively","removeEventListener","addEventListener","document"],"mappings":";;;;;;AACSA,Y,yBAAAA,M;;;;;;;;;;;AAAAA,iD;;;;;;;;;AAETA,aAAOC,cAAcC,SAArB,EAAgC;;AAE9B,YAAIC,SAAJ,GAAgB;AACd,iBAAO,CAAC,CAACC,OAAOC,YAAhB;AACD,SAJ6B;AAK9B,YAAIC,UAAJ,GAAiB;AACf,iBAAO,CAAC,CAACF,OAAOG,UAAhB;AACD,SAP6B;AAQ9B,YAAIC,QAAJ,GAAe;AACb,iBAAO,CAAC,CAACJ,OAAOK,QAAhB;AACD;;AAV6B,OAAhC;;AAce,YAAMC,cAAN,CAAqB;;AAElC,mBAAWC,OAAX,GAAqB;AACnB,iBAAO,iBAAP;AACD;;AAED,eAAOC,qBAAP,CAA6BC,CAA7B,EAAgCC,KAAhC,EAAuC;AACrC,cAAID,EAAEE,IAAF,KAAW,cAAf,EAA+B;AAC7BX,mBAAOC,YAAP,GAAsBS,KAAtB;AACD,WAFD,MAEO,IAAID,EAAEE,IAAF,KAAW,YAAf,EAA6B;AAClCX,mBAAOG,UAAP,GAAoBO,KAApB;AACD,WAFM,MAEA,IAAID,EAAEE,IAAF,KAAW,UAAf,EAA2B;AAChCX,mBAAOK,QAAP,GAAkBK,KAAlB;AACD;AACF;;AAED,eAAOE,SAAP,CAAiBH,CAAjB,EAAoB;AAClB,eAAKD,qBAAL,CAA2BC,CAA3B,EAA8B,IAA9B;AACD;AACD,eAAOI,OAAP,CAAeJ,CAAf,EAAkB;AAChB,eAAKD,qBAAL,CAA2BC,CAA3B,EAA8B,KAA9B;AACD;;AAED,eAAOK,IAAP,GAAc;AACZ,gBAAMC,UAAU;AACdC,qBAAS,IADK;AAEdC,qBAAS;AAFK,WAAhB;AAIAC,iBAAOC,mBAAP,CAA2B,KAAKZ,OAAhC;AACAW,iBAAOE,gBAAP,CAAwB,KAAKb,OAA7B,EAAsCc,QAAtC,EAAgD,SAAhD,EAA6D,KAAKT,SAAlE,MAA6D,IAA7D,GAA6EG,OAA7E;AACAG,iBAAOE,gBAAP,CAAwB,KAAKb,OAA7B,EAAsCc,QAAtC,EAAgD,OAAhD,EAA2D,KAAKR,OAAhE,MAA2D,IAA3D,GAAyEE,OAAzE;AACD;AA/BiC;;yBAAfT,c;;;;;;;;6BAAAA,+C;;;;;;;;AAkCrBA,qBAAeQ,IAAf","file":"modifiers-right.js","sourcesContent":["\nimport { extend } from 'src/client/lang/utils.js';\n\nextend(KeyboardEvent.prototype, {\n  \n  get ctrlRight() {\n    return !!window.ControlRight;\n  },\n  get shiftRight() {\n    return !!window.ShiftRight;\n  },\n  get altRight() {\n    return !!window.AltRight;\n  }\n  \n});\n\nexport default class ModifiersRight {\n\n  static get context() {\n    return \"modifiers right\";\n  }\n\n  static setRightModifierState(e, state) {\n    if (e.code === 'ControlRight') {\n      window.ControlRight = state;\n    } else if (e.code === 'ShiftRight') {\n      window.ShiftRight = state;\n    } else if (e.code === 'AltRight') {\n      window.AltRight = state;\n    }\n  }\n\n  static onKeydown(e) {\n    this.setRightModifierState(e, true);\n  }\n  static onKeyup(e) {\n    this.setRightModifierState(e, false);\n  }\n\n  static load() {\n    const options = {\n      capture: true,\n      passive: true\n    };\n    lively.removeEventListener(this.context);\n    lively.addEventListener(this.context, document, \"keydown\", ::this.onKeydown, options);\n    lively.addEventListener(this.context, document, \"keyup\", ::this.onKeyup, options);\n  }\n}\n\nModifiersRight.load();"]}