Skip to content

Commit 26ecba8

Browse files
committed
Fix sluggish mouse problem. Now similar to trackpad
1 parent b104a5b commit 26ecba8

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

src/browser/CoreBrowserTerminal.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
646646
if (deltaY === 0) {
647647
return false;
648648
}
649-
const lines = self.coreMouseService.consumeWhellEvent(
649+
const lines = self.coreMouseService.consumeWheelEvent(
650650
ev as WheelEvent,
651651
self._renderService?.dimensions?.device?.cell?.height,
652652
self._coreBrowserService?.dpr
@@ -825,7 +825,7 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
825825
return false;
826826
}
827827

828-
const lines = self.coreMouseService.consumeWhellEvent(
828+
const lines = self.coreMouseService.consumeWheelEvent(
829829
ev as WheelEvent,
830830
self._renderService?.dimensions?.device?.cell?.height,
831831
self._coreBrowserService?.dpr

src/common/TestUtils.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export class MockCoreMouseService implements ICoreMouseService {
6666
public explainEvents(events: CoreMouseEventType): { [event: string]: boolean } {
6767
throw new Error('Method not implemented.');
6868
}
69-
public consumeWhellEvent(ev: WheelEvent, cellHeight: number, dpr: number): number {
69+
public consumeWheelEvent(ev: WheelEvent, cellHeight: number, dpr: number): number {
7070
return 1; // Return a simple mock value
7171
}
7272
}

src/common/services/CoreMouseService.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ export class CoreMouseService extends Disposable implements ICoreMouseService {
237237
* Processes a wheel event, accounting for partial scrolls for trackpad, mouse scrolls.
238238
* This prevents hyper-sensitive scrolling in alt buffer.
239239
*/
240-
public consumeWhellEvent(ev: WheelEvent, cellHeight?: number, dpr?: number): number {
240+
public consumeWheelEvent(ev: WheelEvent, cellHeight?: number, dpr?: number): number {
241241
// Do nothing if it's not a vertical scroll event
242242
if (ev.deltaY === 0 || ev.shiftKey) {
243243
return 0;
@@ -251,7 +251,8 @@ export class CoreMouseService extends Disposable implements ICoreMouseService {
251251
const targetWheelEventPixels = cellHeight / dpr;
252252
let amount = 1;
253253
if (ev.deltaMode === WheelEvent.DOM_DELTA_PIXEL) {
254-
amount /= targetWheelEventPixels + 0.0; // Prevent integer division
254+
const pixelAmount = ev.deltaY;
255+
amount = pixelAmount / (targetWheelEventPixels + 0.0); // Prevent integer division
255256
this._wheelPartialScroll += amount;
256257
amount = Math.floor(Math.abs(this._wheelPartialScroll)) * (this._wheelPartialScroll > 0 ? 1 : -1);
257258
this._wheelPartialScroll %= 1;

src/common/services/Services.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export interface ICoreMouseService {
6262
/**
6363
* Process wheel event taking partial scroll into account.
6464
*/
65-
consumeWhellEvent(ev: WheelEvent, cellHeight?: number, dpr?: number): number;
65+
consumeWheelEvent(ev: WheelEvent, cellHeight?: number, dpr?: number): number;
6666
}
6767

6868
export const ICoreService = createDecorator<ICoreService>('CoreService');

0 commit comments

Comments
 (0)