Attempt to make the MacOS mouse more precise.
This commit is contained in:
@@ -379,6 +379,18 @@ atomic_double_add(_Atomic double *var, double val)
|
||||
atomic_store(var, temp);
|
||||
}
|
||||
|
||||
void
|
||||
mouse_scale_fx(double x)
|
||||
{
|
||||
atomic_double_add(&mouse_x, ((double) x) * mouse_sensitivity);
|
||||
}
|
||||
|
||||
void
|
||||
mouse_scale_fy(double y)
|
||||
{
|
||||
atomic_double_add(&mouse_y, ((double) y) * mouse_sensitivity);
|
||||
}
|
||||
|
||||
void
|
||||
mouse_scale_x(int x)
|
||||
{
|
||||
@@ -391,6 +403,15 @@ mouse_scale_y(int y)
|
||||
atomic_double_add(&mouse_y, ((double) y) * mouse_sensitivity);
|
||||
}
|
||||
|
||||
void
|
||||
mouse_scalef(double x, double y)
|
||||
{
|
||||
pclog("DPI = %lf (%lfx%lf)\n", plat_get_dpi(), monitors[0].mon_res_x, monitors[0].mon_res_y);
|
||||
|
||||
mouse_scale_fx(x);
|
||||
mouse_scale_fy(y);
|
||||
}
|
||||
|
||||
void
|
||||
mouse_scale(int x, int y)
|
||||
{
|
||||
|
@@ -85,8 +85,11 @@ extern void mouse_subtract_coords(int *delta_x, int *delta_y, int *o_
|
||||
extern int mouse_moved(void);
|
||||
extern int mouse_state_changed(void);
|
||||
extern int mouse_mbut_changed(void);
|
||||
extern void mouse_scale_fx(double x);
|
||||
extern void mouse_scale_fy(double y);
|
||||
extern void mouse_scale_x(int x);
|
||||
extern void mouse_scale_y(int y);
|
||||
extern void mouse_scalef(double x, double y);
|
||||
extern void mouse_scale(int x, int y);
|
||||
extern void mouse_set_z(int z);
|
||||
extern void mouse_clear_z(void);
|
||||
|
@@ -33,7 +33,7 @@ CocoaEventFilter::nativeEventFilter(const QByteArray &eventType, void *message,
|
||||
|| [event type] == NSEventTypeLeftMouseDragged
|
||||
|| [event type] == NSEventTypeRightMouseDragged
|
||||
|| [event type] == NSEventTypeOtherMouseDragged) {
|
||||
mouse_scale([event deltaX], [event deltaY]);
|
||||
mouse_scalef((double) [event deltaX], (double) [event deltaY]);
|
||||
return true;
|
||||
}
|
||||
if ([event type] == NSEventTypeScrollWheel) {
|
||||
|
Reference in New Issue
Block a user