input: Emulate discrete scrolling from v120 events (#6881)

* seat: avoid sending axis_stop() when source is wheel

 * fix rounding for absolute discrete values greater than 1

Co-authored-by: Agent_00Ming <agent00ming9366@gmail.com>
This commit is contained in:
Agent00Ming
2024-07-18 15:57:08 -04:00
committed by GitHub
parent 300228b503
commit 8e15f91c24
4 changed files with 49 additions and 6 deletions

View File

@@ -278,6 +278,14 @@ class CInputManager {
void restoreCursorIconToApp(); // no-op if restored
// discrete scrolling emulation using v120 data
struct {
bool lastEventSign = 0;
bool lastEventAxis = 0;
uint32_t lastEventTime = 0;
uint32_t accumulatedScroll = 0;
} m_ScrollWheelState;
friend class CKeybindManager;
friend class CWLSurface;
};