in src/screencast/screencast.ts [103:124]
private registerInputListeners(): void {
// Disable context menu on screencast image
this.screencastImage.addEventListener('contextmenu', event => event.preventDefault());
for (const eventName of Object.keys(MouseEventMap)) {
this.screencastImage.addEventListener(eventName, event => {
const scale = this.screencastImage.offsetWidth / this.screencastImage.naturalWidth * window.devicePixelRatio;
const mouseEvent = event as MouseEvent;
if (this.isDeviceTouch() && !this.inspectMode) {
this.inputHandler.emitTouchFromMouseEvent(mouseEvent, scale);
} else if (mouseEvent.button !== 2 /* right click */) {
this.inputHandler.emitMouseEvent(mouseEvent, scale);
}
});
}
for (const eventName of ['keydown', 'keypress']) {
this.screencastImage.addEventListener(eventName, event => {
this.inputHandler.emitKeyEvent(event as KeyboardEvent);
});
}
}