macOS: try to improve touchpad scrolling
parent
6628aaac96
commit
71653b2a6e
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue