{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-portal/src/client/modifiers-right.js"],"names":["extend","KeyboardEvent","prototype","ctrlRight","window","ControlRight","shiftRight","ShiftRight","altRight","AltRight","f1","F1","f2","F2","f3","F3","f4","F4","f5","F5","f6","F6","f7","F7","f8","F8","f9","F9","f10","F10","f11","F11","f12","F12","f13","F13","f14","F14","f15","F15","f16","F16","f17","F17","f18","F18","f19","F19","f20","F20","f21","F21","f22","F22","f23","F23","f24","F24","ModifiersRight","context","setRightModifierState","e","state","code","includes","onKeydown","onKeyup","load","options","capture","passive","lively","removeEventListener","addEventListener","document"],"mappings":"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","file":"modifiers-right.js","sourcesContent":["\nimport { extend } from 'src/client/lang/utils.js';\n\nextend(KeyboardEvent.prototype, {\n\n  get ctrlRight() { return !!window.ControlRight; },\n  get shiftRight() { return !!window.ShiftRight; },\n  get altRight() { return !!window.AltRight; },\n\n  // #TODO: this is more than 'right' modifiers now\n  get f1() { return !!window.F1; },\n  get f2() { return !!window.F2; },\n  get f3() { return !!window.F3; },\n  get f4() { return !!window.F4; },\n  get f5() { return !!window.F5; },\n  get f6() { return !!window.F6; },\n  get f7() { return !!window.F7; },\n  get f8() { return !!window.F8; },\n  get f9() { return !!window.F9; },\n  get f10() { return !!window.F10; },\n  get f11() { return !!window.F11; },\n  get f12() { return !!window.F12; },\n  get f13() { return !!window.F13; },\n  get f14() { return !!window.F14; },\n  get f15() { return !!window.F15; },\n  get f16() { return !!window.F16; },\n  get f17() { return !!window.F17; },\n  get f18() { return !!window.F18; },\n  get f19() { return !!window.F19; },\n  get f20() { return !!window.F20; },\n  get f21() { return !!window.F21; },\n  get f22() { return !!window.F22; },\n  get f23() { return !!window.F23; },\n  get f24() { return !!window.F24; },\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    } else if ([\n      'ControlRight',\n      'ShiftRight',\n      'AltRight',\n      'F1',\n      'F2',\n      'F3',\n      'F4',\n      'F5',\n      'F6',\n      'F7',\n      'F8',\n      'F9',\n      'F10',\n      'F11',\n      'F12',\n      'F13',\n      'F14',\n      'F15',\n      'F16',\n      'F17',\n      'F18',\n      'F19',\n      'F20',\n      'F21',\n      'F22',\n      'F23',\n      'F24'].includes(e.code)) {\n      window[e.code] = 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();"]}