macOS: try to improve touchpad scrolling

master
Maksim 2020-11-09 15:18:01 +01:00
parent 6628aaac96
commit 71653b2a6e
2 changed files with 16 additions and 0 deletions

View File

@ -116,6 +116,12 @@ bool MyEventReceiver::OnEvent(const SEvent &event)
if (event.MouseInput.Event == EMIE_RMOUSE_LEFT_UP) {
rightreleased = true;
}
#if defined(__MACH__) && defined(__APPLE__) && !defined(__IOS__)
if (event.MouseInput.Event == EMIE_MOUSE_WHEEL_X) {
mouse_wheel -= event.MouseInput.Wheel;
return true;
}
#endif
if (event.MouseInput.Event == EMIE_MOUSE_WHEEL) {
mouse_wheel += event.MouseInput.Wheel;
}

View File

@ -881,9 +881,19 @@ bool GUITable::OnEvent(const SEvent &event)
core::position2d<s32> p(event.MouseInput.X, event.MouseInput.Y);
if (event.MouseInput.Event == EMIE_MOUSE_WHEEL) {
#if defined(__MACH__) && defined(__APPLE__) && !defined(__IOS__)
// looks awful, works same
float wheel = event.MouseInput.Wheel;
if (wheel > 0.01) wheel = 2;
else if (wheel < -0.01) wheel = -2;
m_scrollbar->setPos(m_scrollbar->getPos() +
(s32) wheel *
- (s32) m_rowheight / 2);
#else
m_scrollbar->setPos(m_scrollbar->getPos() +
(event.MouseInput.Wheel < 0 ? -3 : 3) *
- (s32) m_rowheight / 2);
#endif
return true;
}