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);
|
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
|
void
|
||||||
mouse_scale_x(int x)
|
mouse_scale_x(int x)
|
||||||
{
|
{
|
||||||
@@ -391,6 +403,15 @@ mouse_scale_y(int y)
|
|||||||
atomic_double_add(&mouse_y, ((double) y) * mouse_sensitivity);
|
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
|
void
|
||||||
mouse_scale(int x, int y)
|
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_moved(void);
|
||||||
extern int mouse_state_changed(void);
|
extern int mouse_state_changed(void);
|
||||||
extern int mouse_mbut_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_x(int x);
|
||||||
extern void mouse_scale_y(int y);
|
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_scale(int x, int y);
|
||||||
extern void mouse_set_z(int z);
|
extern void mouse_set_z(int z);
|
||||||
extern void mouse_clear_z(void);
|
extern void mouse_clear_z(void);
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ CocoaEventFilter::nativeEventFilter(const QByteArray &eventType, void *message,
|
|||||||
|| [event type] == NSEventTypeLeftMouseDragged
|
|| [event type] == NSEventTypeLeftMouseDragged
|
||||||
|| [event type] == NSEventTypeRightMouseDragged
|
|| [event type] == NSEventTypeRightMouseDragged
|
||||||
|| [event type] == NSEventTypeOtherMouseDragged) {
|
|| [event type] == NSEventTypeOtherMouseDragged) {
|
||||||
mouse_scale([event deltaX], [event deltaY]);
|
mouse_scalef((double) [event deltaX], (double) [event deltaY]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if ([event type] == NSEventTypeScrollWheel) {
|
if ([event type] == NSEventTypeScrollWheel) {
|
||||||
|
|||||||
Reference in New Issue
Block a user