{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-tabs/src/client/modifiers-right.js"],"names":["extend","KeyboardEvent","prototype","f13","window","F13","f14","F14","f15","F15","f16","F16","f17","F17","f18","F18","f19","F19","f20","F20","f21","F21","f22","F22","f23","F23","f24","F24","ctrlRight","ControlRight","shiftRight","ShiftRight","altRight","AltRight","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  // #TODO: this is more than 'right' modifiers now\n  get f13() {\n    return !!window.F13;\n  },\n  get f14() {\n    return !!window.F14;\n  },\n  get f15() {\n    return !!window.F15;\n  },\n  get f16() {\n    return !!window.F16;\n  },\n  get f17() {\n    return !!window.F17;\n  },\n  get f18() {\n    return !!window.F18;\n  },\n  get f19() {\n    return !!window.F19;\n  },\n  get f20() {\n    return !!window.F20;\n  },\n  get f21() {\n    return !!window.F21;\n  },\n  get f22() {\n    return !!window.F22;\n  },\n  get f23() {\n    return !!window.F23;\n  },\n  get f24() {\n    return !!window.F24;\n  },\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    } else if ([\n      'ControlRight',\n      'ShiftRight',\n      'AltRight',\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();"]}