Counter-Strike 2

Counter-Strike 2

View Stats:
BLOG: THE MOUSE MOVEMENT PROBLEM IN CS:GO (EXPLAINED IN DETAIL)
Shared Information To Help Improve Your Game! Hello Peeps! Today I would like to talk about the mouse movement problem in CSGO and on ways how to fix it. I’ve been playing CS for 12 years and I have participated in many LAN tournaments but for people who are wondering why I’m not a “Pro” I never thought of becoming a Professional gamer due to my studies. However, I am a graduate of Sports and Management and I race karts professionally. I’m involved with sports all round. I still do sometimes attend LAN with ex team-mates recreationally. The reason why I have shared this much information about myself is simply because I believe I am experienced enough to be sharing this knowledge that I have for you. But I won’t go with how to setup your PC like a pro and blah blah there are tons of sites which share useful information just ask uncle Google. So, getting back to the topic, I tried to make this thread short but with so much info to share it wasn’t possible. So read patiently and you’ll be glad that you did! ;) ****RETURN**** Most of us know that the mouse movement is broken in CS. Especially for people who play without acceleration. Mouse acceleration can hinder your game tremendeously. But hey, each and every one of us is different so sensitivity basically just comes down to preference. However, having a sensitivity on the low side will benefit you.. lol. As I mentioned above there are tons of sites that have threads about how to get rid of mouse acceleration, fps boost and many csgo optimization threads & videos that can help you out.. which I won’t be writing about. And jStar- (from Esea) shout out to him, he has shared some very important information about how fix CSGO as a whole for you to have a better game experience. I actually found his work quite useful. Exactly the correct information about what you need for setting up a PC at LAN. Thank you J! The mouse movement In CSGO just doesn’t feel right. You don’t get the intended mouse movement in this game. Either your mouse feels jittery, windows feels accelerated and even with raw input on people can still feel some sort of “acceleration” so to say. I’ve read some people saying that the command m_rawinput “1” is bugged, and some people say that pixels in CSGO are bad and to use high dpi than usual, you have even heard the term “pixel skipping” lol and blah blah… No, M_rawinput is not bugged. In fact it has been proven to be working with %0 packet loss and works absolutely fine. Remember the thread about the m_mousespeed “1” command? And changing it to “0” removed some sort of acceleration yeah? Even though m_mousespeed “1” and should only work when –useforcedmparms is set at the launch options. Duh? Well, I’m not a computer engineer but why would m_mousespeed calculate the “1” factor when –useforcedmparms isn’t set at launch options? Changing this command’s values shouldn’t have any effect on mouse movement but yeah it does, get over it. So, what this means is that any mouse, joystick and controller commands (as well as windows mouse registry commands ) HAVE an effect on the mouse movement. I don’t know why this is but I found that this problem also occurs in 1.6 and some other FPS games you can think of. And no, this ain’t placebo. Just because you have changed 1 command and felt nothing in your mouse movement doesn’t mean that it’s placebo. To keep things simple I will list every command. if these commands are not turned off properly, will have an effect on the mouse movement in CSGO. What I basically did is copy all these commands from my config and disabling the values alltogether MANUALLY, so that we don’t get any unnecessary commands calculating anything we don’t need. I’m assuming that you play with a MOUSE and not a blooming joystick if you know what I mean. Just add these commands to your autoexec or config or wherever, or just simply make a config file with these commands and add exec “xxxxxxx”.cfg at the very bottom of your config. You decide! m_customaccel "0" m_customaccel_exponent "0" m_customaccel_max "0" m_customaccel_scale "0" m_mouseaccel1 "0" m_mouseaccel2 "0" m_mousespeed "0" m_forward "0" m_side "0" m_pitch "0.022000" m_yaw "0.022000" m_filter "0" joy_accelmax "0" joy_accelscale "0" joy_accelscalepoly "0" joy_advanced "0" joy_advaxisr "0" joy_advaxisu "0" joy_advaxisv "0" joy_advaxisx "0" joy_advaxisy "0" joy_advaxisz "0" joy_autoaimdampen "0" joy_autoAimDampenMethod "0" joy_autoaimdampenrange "0" joy_axisbutton_threshold "0" joy_cfg_preset "0" joy_circle_correct "0" joy_curvepoint_1 "0" joy_curvepoint_2 "0" joy_curvepoint_3 "0" joy_curvepoint_4 "0" joy_curvepoint_end "0" joy_diagonalpov "0" joy_display_input "0" joy_forwardsensitivity "0" joy_forwardthreshold "0" joy_gamma "0" joy_inverty "0" joy_lowend "0" joy_lowend_linear "0" joy_lowmap "0" joy_movement_stick "0" joy_name "0" joy_no_accel_jump "1" joy_pitchsensitivity "0" joy_pitchthreshold "0" joy_response_look "0" joy_response_look_pitch "0" joy_response_move "0" joy_sensitive_step0 "0" joy_sensitive_step1 "0" joy_sensitive_step2 "0" joy_sidesensitivity "0" joy_sidethreshold "0" joy_wingmanwarrior_centerhack "0" joy_wingmanwarrior_turnhack "0" joy_yawsensitivity "0" joy_yawthreshold "0" joystick "0" joystick_force_disabled "1" joystick_force_disabled_set_from_options "1" zoom_sensitivity_ratio_joystick "0" xbox_autothrottle "0" xbox_throttlespoof "0" xbox_throttlebias "0" mc_accel_band_size "0" mc_dead_zone_radius "0" mc_max_pitchrate "0" mc_max_yawrate "0" sc_enable "0" sc_joystick_map "0" sc_pitch_sensitivity "0" sc_yaw_sensitivity "0" c_maxdistance "0" c_maxpitch "0" c_maxyaw "0" c_mindistance "0" c_minpitch "0" c_minyaw "0" c_orthoheight "0" c_orthowidth "0" c_thirdpersonshoulder "0" c_thirdpersonshoulderaimdist "0" c_thirdpersonshoulderdist "0" c_thirdpersonshoulderheight "0" c_thirdpersonshoulderoffset "0" sk_autoaim_mode "0" ****RETURN**** Obviously “joy” commands are for joysticks, “xbox” commands are for xbox systems. I’m guessing that Sc_enable and other sc, mc, are commands for Steam controllers, Steam Machine and so on. We don’t need these commands at all. Because every one of these commands have an effect on the CALCULATION of the mouse movement. You get my point right? Also remember to add –nojoy in launch options the make sure that these commands are off completely. This may seem like an overkill but it isn’t trust me. If you are playing with pixels, every millisecond of calculation is worth mentioning. So why do joystick commands and xbox console commands have an effect on mouse movement? I don’t know. Maybe the coding of the game for the axis’s are used by the same mechanics of a mouse I dunno mate. Anyway, our goal should be to get around these unnecessary commands and to disable all of them manually. I also noticed that the way the Source engine or the GoldSRC seem to work is, setting commands to the value of “0” disables that specific command’s value of calculation. So for example setting m_customaccel “0” and you leave; m_customaccel_exponent “1.05” m_customaccel_max “0” m_customaccel_scale “0.04” which are the default values that add an acceleration curve equivalent to “m_customaccel 1,2 or 3” in an “unaccelerated” fashion and they are not changed through your config when you turn custom mouse acceleration off from the in game menu. It is so radical that this is the only way I could explain the feeling of the mouse movement I get. So you still get these commands calculated if you don’t change them to “0”. But not every command is set to “0” like; joystick_force_disabled "1" joystick_force_disabled_set_from_options "1" joy_no_accel_jump "1" Which are obvious. Still not convinced? Try typing m_mousespeed "1", "m_side & m_forward 20 in console, or joy_circle_correct “1” literally stops you from drawing a circle with your mouse and these commands are enabled ON BY DEFAULT! or also try playing with these commands and give any value you can think of. (& simultaneously leaving m_customaccel "0") m_customaccel_exponent "X" m_customaccel_max "X" m_customaccel_scale "X" m_mouseaccel1 "X" m_mouseaccel2 "X" m_mousespeed "X" m_forward "X" m_side "X" The mouse movement in CS is calculated by the “m_pitch” and “m_yaw” cvars. Which have the value of 0.022 . Play around and have a go and just see how all of these commands act like filters on your mouse movement. Hence why you even see sometimes pro players miss the easiest shots and hit the impossible. As FPS players, we want our mouse movement as flawless as possible! Another thing to mention is the Windows Mouse Keys Feature. If this isn't turned off, actually enables windows mouse acceleration and mouse pointer speed. The NUM-LOCK key toggles this on and off. Maybe this is why people notice random mouse acceleration in game. (I use windows 7 btw) To disable this feature just simply go in to Control Panel>Ease of Access Center then click on the “mouse” tab. > Set mouse buttons > and pull both mouse speed and mouse acceleration bars to the very left (to the lowest value). We don’t need this in game thank you. Always remember to turn the NUM-LOCK key off when in CS! I’m not done yet. Zoom_sensitivity_ratio_mouse command, is just the same. This command interpolates with your regular sensitivity. This is how I got over this; bind "MOUSE2" "+attack2; zoom_sensitivity_ratio_mouse X;" -> Your setting bind "MOUSE4" "zoom_sensitivitiy_ratio_mouse 0" bind "MOUSE5" "zoom_sensitivity_ratio_mouse 0" bind "MWHEELUP" "zoom_sensitivity_ratio_mouse X" -> Your setting (Just in case you decide to accidently press mouse 4 or 5 while zoomed in.) bind "q" "lastinv; zoom_sensitivity_ratio_mouse 0;" bind "1" "slot1; zoom_sensitivity_ratio_mouse 0;" bind "2" "slot2; zoom_sensitivity_ratio_mouse 0;" bind "3" "slot3; zoom_sensitivity_ratio_mouse 0;" bind "4" "slot4; zoom_sensitivity_ratio_mouse 0;" bind "5" "slot5; zoom_sensitivity_ratio_mouse 0;" *Setting zoom_sensitivity_ratio_mouse to “0” will tremendously help your spray with rifles. These binds will keep this factor at a constant level and you will still have your zoom sensitivity value binded on mouse2 so it's only calculated when needed. ****RETURN**** Next is the mousefix reg for windows 7. Even though when you apply MarkC's mousefix your mouse movement somewhat slows down because of the suggested acceleration curves in the fix, than the default Windows's mouse reg configuration, Even though you "shouldn't" feel any difference when EPP set to off but this is a fact i'm afraid. So off this goes! What I basically do is take MarkC’s mousefix and set all the values to “0” . Only do this if you are not using mouse acceleration in windows or playing old games. Otherwise when you turn the mouse acceleration back on or if these old games (like 1.6) decide to turn on mouseaccel by default, then you won’t have any mouse movement at all because all the calculations come out to neutral. Or if you still play 1.6, just add –noforcemspd and turn raw input on in game and you will be good with this mousefix. So have a backup of MarkC mousefix on your desktop and you will be good. If you have any problems just reload the default mousefix for your Operating System. Create a new notepad on your desktop, copy these values and click “Save As” and simply save it as mousefix.reg. Here you go; Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Control Panel\Mouse] "MouseSensitivity"="0" "MouseSpeed"="0" "MouseThreshold1"="0" "MouseThreshold2"="0" "SmoothMouseXCurve"=hex:\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00 "SmoothMouseYCurve"=hex:\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00 [HKEY_USERS.DEFAULT\Control Panel\Mouse] "MouseSensitivity"="0" "MouseSpeed"="0" "MouseThreshold1"="0" "MouseThreshold2"="0" "SmoothMouseXCurve"=hex:\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00 "SmoothMouseYCurve"=hex:\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00 ****You can do the same for Windows 8 and 10 if you want. Changing "MouseSensitivity"="0" will be 6/11 in windows don't worry. Just trust me on this one it is worth your time! (Remember there are 2 registries in Windows): [HKEY_CURRENT_USER\Control Panel\Mouse] & [HKEY_USERS.DEFAULT\Control Panel\Mouse] ****Also a program worth mentioning is “Windows System Timer Tool”. If you want to know what it’s about you should read this article; This little program will reduce your DPC latency and give you 0.5ms system response time. (Helps with people who use high mouse Hz) https://randomascii.wordpress.com/2013/07/08/windo.. ****RETURN**** Another couple of commands worth mentioning are “m_side” and “m_forward”. These commands only work, or "should" rather, if “cl_mouselook” is disabled. "cl_mouselook" = "1" - Set to 1 to use mouse for look, 0 for keyboard look. Cannot be set while connect….. blah blah this is what it means. Easily explained in the console. Obviously we use our mouse to look around in CS, not for actual physical movement of the game. so m_side and m_forward should be set to “0”. When cl_mouselook is set to zero the Y axis movement of the mouse goes forward and the X axis of the mouse movement is used for moving side to side in game. So, cl_mouselook should always be “1”. These commands work in the same way with NUM-LOCK KEY (Windows Mouse Keys Feature, which I mentioned above.) So both commands should set to be "0" Going through everything I have mentioned here will help you get 1:1 with filtered out commands and have your correct mouse movement every time which will bring out your true sensitivity "feeling". Your 360 degrees to cm ratio will always be at pinpoint. (with raw input ON that is) Hope this helps your game. Cheers! P.S; If you do want to go full pro with your video settings when changing aliasing other values to "0" remember to leave; "setting.mat_grain_scale_override" "1" "setting.mat_queue_mode" "2" "setting.fullscreen" "1" and resolution set accordingly. VSNYC OFF & Max Pre-Rendered Frames "1" in NVIDIA
Last edited by ™SeLLe™ Bosanac; Jun 18, 2018 @ 4:52am
Date Posted: Jun 18, 2018 @ 4:51am
Posts: 0