aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/client/cl_input.c3
-rw-r--r--code/client/cl_main.c2
-rw-r--r--code/client/client.h1
-rw-r--r--code/unix/linux_glimp.c22
-rw-r--r--code/unix/sdl_glimp.c6
5 files changed, 13 insertions, 21 deletions
diff --git a/code/client/cl_input.c b/code/client/cl_input.c
index 06266eb..a58f67a 100644
--- a/code/client/cl_input.c
+++ b/code/client/cl_input.c
@@ -435,7 +435,8 @@ void CL_MouseMove( usercmd_t *cmd ) {
cl.mouseDy[cl.mouseIndex] = 0;
rate = sqrt( mx * mx + my * my ) / (float)frame_msec;
- accelSensitivity = cl_sensitivity->value + rate * cl_mouseAccel->value;
+ accelSensitivity = ( cl_sensitivity->value *
+ cl_platformSensitivity->value ) + rate * cl_mouseAccel->value;
// scale by FOV
accelSensitivity *= cl.cgameSensitivity;
diff --git a/code/client/cl_main.c b/code/client/cl_main.c
index d890275..f3405b4 100644
--- a/code/client/cl_main.c
+++ b/code/client/cl_main.c
@@ -48,6 +48,7 @@ cvar_t *cl_forceavidemo;
cvar_t *cl_freelook;
cvar_t *cl_sensitivity;
+cvar_t *cl_platformSensitivity;
cvar_t *cl_mouseAccel;
cvar_t *cl_showMouseRate;
@@ -2307,6 +2308,7 @@ void CL_Init( void ) {
cl_run = Cvar_Get ("cl_run", "1", CVAR_ARCHIVE);
cl_sensitivity = Cvar_Get ("sensitivity", "5", CVAR_ARCHIVE);
+ cl_platformSensitivity = Cvar_Get ("cl_platformSensitivity", "1.0", CVAR_ROM);
cl_mouseAccel = Cvar_Get ("cl_mouseAccel", "0", CVAR_ARCHIVE);
cl_freelook = Cvar_Get( "cl_freelook", "1", CVAR_ARCHIVE );
diff --git a/code/client/client.h b/code/client/client.h
index 1398619..eace49c 100644
--- a/code/client/client.h
+++ b/code/client/client.h
@@ -330,6 +330,7 @@ extern cvar_t *cl_run;
extern cvar_t *cl_anglespeedkey;
extern cvar_t *cl_sensitivity;
+extern cvar_t *cl_platformSensitivity;
extern cvar_t *cl_freelook;
extern cvar_t *cl_mouseAccel;
diff --git a/code/unix/linux_glimp.c b/code/unix/linux_glimp.c
index a5a9fe0..028a810 100644
--- a/code/unix/linux_glimp.c
+++ b/code/unix/linux_glimp.c
@@ -573,14 +573,8 @@ static void HandleEvents(void)
{
if (in_dgamouse->value)
{
- if (abs(event.xmotion.x_root) > 1)
- mx += event.xmotion.x_root * 2;
- else
- mx += event.xmotion.x_root;
- if (abs(event.xmotion.y_root) > 1)
- my += event.xmotion.y_root * 2;
- else
- my += event.xmotion.y_root;
+ mx += event.xmotion.x_root;
+ my += event.xmotion.y_root;
if (t - mouseResetTime > MOUSE_RESET_DELAY )
{
Sys_QueEvent( t, SE_MOUSE, mx, my, 0, NULL );
@@ -604,14 +598,8 @@ static void HandleEvents(void)
dx = ((int)event.xmotion.x - mwx);
dy = ((int)event.xmotion.y - mwy);
- if (abs(dx) > 1)
- mx += dx * 2;
- else
- mx += dx;
- if (abs(dy) > 1)
- my += dy * 2;
- else
- my += dy;
+ mx += dx;
+ my += dy;
mwx = event.xmotion.x;
mwy = event.xmotion.y;
@@ -1725,6 +1713,8 @@ void IN_Init(void) {
in_joystickDebug = Cvar_Get ("in_debugjoystick", "0", CVAR_TEMP);
joy_threshold = Cvar_Get ("joy_threshold", "0.15", CVAR_ARCHIVE); // FIXME: in_joythreshold
+ Cvar_Set( "cl_platformSensitivity", "2.0" );
+
if (in_mouse->value)
mouse_avail = qtrue;
else
diff --git a/code/unix/sdl_glimp.c b/code/unix/sdl_glimp.c
index 2724811..81855f7 100644
--- a/code/unix/sdl_glimp.c
+++ b/code/unix/sdl_glimp.c
@@ -320,10 +320,6 @@ static void HandleEvents(void)
case SDL_MOUSEMOTION:
if (mouse_active)
{
- if (abs(e.motion.xrel) > 1)
- e.motion.xrel *= 2;
- if (abs(e.motion.yrel) > 1)
- e.motion.yrel *= 2;
Sys_QueEvent( t, SE_MOUSE, e.motion.xrel, e.motion.yrel, 0, NULL );
}
break;
@@ -1204,6 +1200,8 @@ void IN_Init(void) {
in_joystickDebug = Cvar_Get ("in_debugjoystick", "0", CVAR_TEMP);
joy_threshold = Cvar_Get ("joy_threshold", "0.15", CVAR_ARCHIVE); // FIXME: in_joythreshold
+ Cvar_Set( "cl_platformSensitivity", "2.0" );
+
if (in_mouse->value)
mouse_avail = qtrue;
else