Having a good setup is very important to get the edge in Quake, and while a PC that can run Quake Live at a stable framerate is very important, so is the peripheral that is the mouse. A lot has been said about which mouse is the best, but even if you have the absolute perfect mouse, you will still need to tweak the settings to use your mouse at it’s maximum capability. I will not go into details about which mouse is best, you can find plenty of discussions on ESR and several hardware forums. If you need help accessing the config files, take a look at the tutorial for customising the config and how to open the console first.
Settings with or without m_cpi
Quake Live has a cvar that allows you to carry over mouse settings regardless of the mouse being used with the m_cpi cvar. If you set this to match your mouse’s CPI/DPI, you will be able to enter the exact same settings on any PC and use any mouse without losing the feel that you are used to. You can also enter someone else’s value and feel what their mouse settings are like, as long as m_cpi matches your current mouse’s settings.
The general consensus is that m_cpi is not used. Most Quakers will leave the m_cpi value at 0 and change the settings whenever a new or different mouse is used.
If I play with my R.A.T. 7, the m_cpi value is set to 1600, but when I want to play with the G5, I simply change m_cpi to 800 and it will generally feel the same. No other mouse settings need to be changed. There are of course differences in weight, holding position, sensors, etc but that’s not the point here.
One of the best known mouse cvar (console variable) is sensitivity. This cvar, in conjunction with m_yaw and m_pitch, will determine how fast you can look around when you move the mouse. It’s simple to say that the higher the value, the less you will have to move the mouse to look around. The value you choose here gets multiplied by m_yaw and m_pitch (both set to 0.022 value) to determine how fast your view will turn. If your mouse is set to 400DPI, then a value between 4 and 6 will usually suffice, but this is very personal. I advise that you start a practice match and position yourself 180° away from an object. You should be able to quickly turn 180° and face this object. Set the sensitivity accordingly to be able to do this.
If you have a problem, like me, to quickly look up or down, you can change the value of m_pitch. m_pitch will determine how fast you will be able to move the view up or down. I have fixed it by doing it in the drivers of the mouse so it’s consistent in other games, but it can perfectly be done with higher m_pitch values.
Another very important aspect to some players is the acceleration of the mouse when you quickly move it. This helps you to keep your aim solid on a certain target, but when the mouse is quickly moved, the player is also able to quickly turn around. It’s very hard to determine what values you should be using and Quake Live has some cvars to finetune the acceleration experience. The cl_mouseaccel cvar determines how much acceleration you want, cl_mouseaccelOffset determines at what mouse speed the acceleration should kick in, cl_mouseSenscap determines at what sensitivity value the acceleration should stop increasing and cl_mouseaccelPower determines the power (^) at which the acceleration increases, with a default power of 2. There’s a nuance in the calculation that it’s not really using the power given, which is explained in detail in this great article.
The sensitivity cvar works completely different when m_cpi has been assigned a value. It’s imperative that m_pitch and m_yaw are left at their initial values of 0.022, which makes sensitivity’s value the amount of degrees you turn per centimeter. For example, a value of 20 will result in 18 centimeters for a 360° turn (20*18=360), a value of 10 will result in 36 centimeters for a 360° turn (10*36=360).
Acceleration is different when using m_cpi. Without it uses counts per millisecond and with m_cpi it uses centimeters per second. The different acceleration cvars will still do what they are created for and the settings will translate effortlessly to a new mouse by simply changing the m_cpi value in Quake Live without touching anything of the other mouse cvars.
Unaffected by m_cpi
The cvar m_filter will try to make your mouse movement smoother by interpolating the counts of the mouse. In essence it should make the mouse feel less jerky, but it also adds movement that isn’t really there. The added frames between the mouse counts are neglible, but I suggest you try without m_filter first. The value ranges from 0 to 33, but higher values will also increase latency.
cg_filter_angles will smooth your aiming in regards to what your view is. It will introduce a slight delay when you move your mouse to make the movement feel smoother, but it also completely fucks up flick shots. I suggest you leave this off.
The in_mouse cvar determines how the mouse input will be handled. The best input you can choose in this regard is the raw input method that sits behind value 2. If you do not feel comfortable with raw input, you can try direct input at value 1. If you want the same feel as the Windows mouse cursor you can use value -1. You will also get the same acceleration as the Windows cursor regardless of acceleration settings in Quake. Perform in_restart in the console after you have changed a value in-game to try out the difference.
What do you actually need (the TL;DR)
You’re best off setting the in_mouse value to 2 first. Then decide if you want to use m_cpi or not, and then start with the values for sensitivity and acceleration. I wouldn’t touch m_yaw and m_pitch unless absolutely necessary. Try to play without acceleration first, simply by setting cl_mouseaccel to 0. If these settings do not satisfy you in terms of aiming stability and quick movement, then you can start playing with acceleration values.
If anyone is interested to try my settings, first take a backup of your config so you don’t lose your settings, then enable m_cpi to match your mouse’s and use the following values.
in_mouse -2 sensitivity 28 cl_mouseaccel 0
As you can see, nothing very special. Mouse settings are not as hard as all the calculations make it out to be. Just set it to what you think feels right, not what someone else tells you is right.
Many thanks to this guide made by Lorfa that has sensitivity calculations and a far deeper explanation of the mouse cvars: http://www.regurge.at/ql/Lorfa/