Coming from #3514.
We currently register 2 default wheel event handlers, and a 3rd one if the app asked for wheel mouse reports:
- Terminal.ts:797
This one is faulty. It handles the case to scroll within alternate buffer apps by sending cursor offsets. It is set to passive: true, thus will not stop the browser from doing its div/window scrolling on wheel. Should be passive: false and stop the event.
- Terminal.ts:823
Not quite sure, why we have this one as a separate handler, imho it should be merged with the first one to remove some event listener stress.
- Terminal.ts:700
This one creates the mouse wheel reports and stops the event, effectively skipping the other ones.
Fix:
- merge Terminal.ts:797 and Terminal.ts:823 into one handler
- properly stop event, if it already got handled within the terminal viewport
- set
passive: false
Coming from #3514.
We currently register 2 default wheel event handlers, and a 3rd one if the app asked for wheel mouse reports:
This one is faulty. It handles the case to scroll within alternate buffer apps by sending cursor offsets. It is set to
passive: true, thus will not stop the browser from doing its div/window scrolling on wheel. Should bepassive: falseand stop the event.Not quite sure, why we have this one as a separate handler, imho it should be merged with the first one to remove some event listener stress.
This one creates the mouse wheel reports and stops the event, effectively skipping the other ones.
Fix:
passive: false