diff options
| author | a1xd <[email protected]> | 2021-03-29 17:14:49 -0400 |
|---|---|---|
| committer | a1xd <[email protected]> | 2021-03-29 17:14:49 -0400 |
| commit | 16dc4df3d438142ae378c9c6983585d06e0c6a33 (patch) | |
| tree | 1080b11b6ec98d6f47509ced922f2c338e0068bd /common/accel-power.hpp | |
| parent | Merge pull request #81 from a1xd/log-unhandled-ex (diff) | |
| download | rawaccel-16dc4df3d438142ae378c9c6983585d06e0c6a33.tar.xz rawaccel-16dc4df3d438142ae378c9c6983585d06e0c6a33.zip | |
refactor common/settings
only driver compiles
remove accel-base types
merge linear + classic
move gain cap logic into classic impl, cap is now set in terms of output
use cap/limit to determine negation
remove weight, add replacement for power mode only
remove legacy offset option
remove naturalgain mode
add legacy mode flag
naturalgain -> natural
natural -> natural + legacy flag
add dpi setting and more accel args + defaults (prep for ips mode)
replace output speed cap with input cap
Diffstat (limited to 'common/accel-power.hpp')
| -rw-r--r-- | common/accel-power.hpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/common/accel-power.hpp b/common/accel-power.hpp index 5d0c451..17977a0 100644 --- a/common/accel-power.hpp +++ b/common/accel-power.hpp @@ -2,25 +2,25 @@ #include <math.h> -#include "accel-base.hpp" +#include "rawaccel-settings.h" namespace rawaccel { /// <summary> Struct to hold power (non-additive) acceleration implementation. </summary> - struct power_impl { - double scale; + struct power { + double pre_scale; double exponent; + double post_scale; - power_impl(const accel_args& args) : - scale(args.scale), exponent(args.exponent) - {} + power(const accel_args& args) : + pre_scale(args.scale), + exponent(args.exponent), + post_scale(args.weight) {} inline double operator()(double speed) const { // f(x) = (mx)^k - return pow(speed * scale, exponent); + return post_scale * pow(speed * pre_scale, exponent); } }; - using accel_power = nonadditive_accel<power_impl>; - } |