Adds scrollSensitivity option for scrolling speed

This commit is contained in:
Eric Amodio
2019-10-18 14:30:46 -04:00
parent eb252433ce
commit f445bc763b
5 changed files with 22 additions and 7 deletions
+6 -5
View File
@@ -198,7 +198,7 @@ export class Viewport extends Disposable implements IViewport {
}
// Fallback to WheelEvent.DOM_DELTA_PIXEL
let amount = this._applyFastScrollModifier(ev.deltaY, ev);
let amount = this._applyScrollModifier(ev.deltaY, ev);
if (ev.deltaMode === WheelEvent.DOM_DELTA_LINE) {
amount *= this._currentRowHeight;
} else if (ev.deltaMode === WheelEvent.DOM_DELTA_PAGE) {
@@ -219,7 +219,7 @@ export class Viewport extends Disposable implements IViewport {
}
// Fallback to WheelEvent.DOM_DELTA_LINE
let amount = this._applyFastScrollModifier(ev.deltaY, ev);
let amount = this._applyScrollModifier(ev.deltaY, ev);
if (ev.deltaMode === WheelEvent.DOM_DELTA_PIXEL) {
amount /= this._currentRowHeight + 0.0; // Prevent integer division
this._wheelPartialScroll += amount;
@@ -231,15 +231,16 @@ export class Viewport extends Disposable implements IViewport {
return amount;
}
private _applyFastScrollModifier(amount: number, ev: WheelEvent): number {
private _applyScrollModifier(amount: number, ev: WheelEvent): number {
const modifier = this._optionsService.options.fastScrollModifier;
// Multiply the scroll speed when the modifier is down
if ((modifier === 'alt' && ev.altKey) ||
(modifier === 'ctrl' && ev.ctrlKey) ||
(modifier === 'shift' && ev.shiftKey)) {
return amount * Math.max(1, this._optionsService.options.fastScrollSensitivity);
return amount * this._optionsService.options.fastScrollSensitivity;
}
return amount;
return amount * this._optionsService.options.scrollSensitivity;
}
/**