You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/Guide.md
+43-6Lines changed: 43 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,18 +24,55 @@ Raw Accel, like any mouse modification program, works by acting on a passed-in $
24
24
-**Sensitivity**: The ratio of the output speed to the input speed. The "sensitivity multiplier" parameter in the program is a multiplier used on the post-calculation output vector.
25
25
-**(Output) Velocity**: The speed of the final output vector. The output vs input velocity curve is perhaps the most important relationship in a particular setup because it directly describes the output for any given input. (We use "speed" and "velocity" interchangeably, and are aware of the difference elsewhere.)
26
26
-**Gain**: The slope of the output vs input velocity curve. It answers the question: "if I move my hand a little faster, how much faster will my cursor move?" The relationship between gain and sensitivity is that if gain is continuous, so is sensitivity. The reverse is not necessarily true, so keeping the gain "nice" ensures "nice" sensitivity but not vice versa.
27
-
- For the mathematically inclined: for input speed $v$ and Output Velocity $f(v)$, Sensitivity is $f(v)/v$ and Gain is $f'(v) = \frac{\mathrm d}{\mathrm d v} \left ( f(v) \right)$.
27
+
- For the mathematically inclined: for
28
+
- $v$ input speed and
29
+
- $f(v)$ Output Velocity
30
+
- $f(v)/v$ is Sensitivity
31
+
- $f'(v) = \frac{\mathrm d}{\mathrm d v} \left ( f(v) \right)$ is Gain
28
32
29
33
Acceleration, then, is a characteristic of the velocity curve, defined as true when the velocity curve is non-linear for any input speed.
30
34
31
35
### Example
32
36
The above is much more clear with an example. Let's say I have
33
-
- linear acceleration with acceleration parameter of 0.01
34
-
- a sensitivity parameter of 0.5
37
+
- linear acceleration $1 + av_i$ with acceleration parameter of $a = 0.01$ (`Acceleration` in the middle of the UI)
38
+
- a sensitivity parameter $m$ of $0.5$ (`Sens Multiplier` at the top of the UI)
35
39
36
-
and I move my mouse to create an input of $(30,40)$ at a poll rate of 1000 hz.
40
+
and I move my mouse to create an input $x,y$ of $(30,40)$ at a poll rate $f$ of 1000 Hz.
37
41
38
-
Then our input speed is $\sqrt{30^2 + 40^2} = 50$ counts/ms. Our accelerated sensitivity is calculated to be $(1 + 0.01 * 50) * 0.5 = 1.5 * 0.5 = 0.75$. So our output velocity is $0.75 * 50 = 37.5$. If I run the previous calculations with input speed 49.9 I get output velocity 37.40005, so our gain is about $\frac{37.5-37.40005}{50-49.9} = 0.9995$. Here is a picture of the charts in Raw Accel showing the same thing:
42
+
Then we have the following **input** parameters:
43
+
|Parameter | Value | Unit | Formula | Calculation |
This formula guarantees the smooth transition from the horizontal to vertical curve and vice versa as the user moves their hand diagonally.
88
125
89
-
#### ***By Component***
126
+
#### ***By Component***
90
127
In this case, the horizontal components are separated and each is given as input to the sensitivity calculation to multiplied by itself before being recombined at output.
0 commit comments