91 lines
3.3 KiB
C
91 lines
3.3 KiB
C
#ifndef _PARAM_H_
|
|
#define _PARAM_H_
|
|
|
|
#include "accel/mode.h"
|
|
#include "fixedptc.h"
|
|
#include "linux/moduleparam.h"
|
|
|
|
#define RW_USER_GROUP 0664
|
|
|
|
#define PARAM(param, default_value, desc) \
|
|
char *PARAM_##param = #default_value; \
|
|
module_param_named(param, PARAM_##param, charp, RW_USER_GROUP); \
|
|
MODULE_PARM_DESC(param, desc);
|
|
|
|
#if FIXEDPT_BITS == 64
|
|
PARAM(
|
|
SENS_MULT, 4294967296, // 1 << 32
|
|
"A factor applied by the sensitivity calculation after ACCEL is applied.");
|
|
PARAM(YX_RATIO, 4294967296, // 1 << 32
|
|
"A factor (Y/X) by which the final sensitivity calculated is multiplied "
|
|
"to produce the sensitivity applied to the Y axis.");
|
|
PARAM(INPUT_DPI, 4294967296000, // 1000 << 32
|
|
"The DPI of the mouse, used to normalize input to 1000 DPI equivalent "
|
|
"for consistent acceleration across different mice.");
|
|
#else
|
|
PARAM(SENS_MULT, 65536, // 1 << 16
|
|
"A factor applied the sensitivity calculation after ACCEL is applied.");
|
|
PARAM(YX_RATIO, 65536, // 1 << 16
|
|
"A factor (Y/X) by which the final sensitivity calculated is multiplied "
|
|
"to produce the sensitivity applied to the Y axis.");
|
|
PARAM(INPUT_DPI, 65536000, // 1000 << 16
|
|
"The DPI of the mouse, used to normalize input to 1000 DPI equivalent "
|
|
"for consistent acceleration across different mice.");
|
|
#endif
|
|
|
|
PARAM(ANGLE_ROTATION, 0,
|
|
"Apply rotation (degrees) to the mouse movement input");
|
|
// For Linear Mode
|
|
|
|
PARAM(ACCEL, 0, "Control the sensitivity calculation.");
|
|
PARAM(OFFSET, 0, "Input speed threshold (counts/ms) before acceleration begins.");
|
|
PARAM(OUTPUT_CAP, 0, "Control the maximum sensitivity.");
|
|
|
|
// For Natural Mode
|
|
|
|
#if FIXEDPT_BITS == 64
|
|
PARAM(DECAY_RATE, 429496730, // 0.1 << 32
|
|
"Decay rate of the Natural curve.");
|
|
PARAM(LIMIT, 6442450944, // 1.5 << 32
|
|
"Limit of the Natural curve.");
|
|
#else
|
|
PARAM(DECAY_RATE, 6554, // 0.1 << 16
|
|
"Decay rate of the Natural curve");
|
|
PARAM(LIMIT, 98304, // 1.5 << 16
|
|
"Limit of the Natural curve");
|
|
#endif
|
|
|
|
// For Synchronous Mode
|
|
|
|
#if FIXEDPT_BITS == 64
|
|
PARAM(GAMMA, 4294967296, // 1 << 32
|
|
"Control how fast you get from low to fast around the midpoint");
|
|
PARAM(SMOOTH, 2147483648, // 0.5 << 32
|
|
"Control the suddeness of the sensitivity increase.");
|
|
PARAM(MOTIVITY, 6442450944, // 1.5 << 32
|
|
"Set the maximum sensitivity while also setting the minimum to "
|
|
"1/MOTIVITY");
|
|
PARAM(SYNC_SPEED, 21474836480, // 5 << 32
|
|
"Set The middle sensitivity between you min and max sensitivity");
|
|
#else
|
|
PARAM(GAMMA, 65536, // 1 << 16
|
|
"Control how fast you get from low to fast around the midpoint");
|
|
PARAM(SMOOTH, 32768, // 0.5 << 16
|
|
"Control the suddeness of the sensitivity increase.");
|
|
PARAM(MOTIVITY, 98304, // 1.5 << 16
|
|
"Set the maximum sensitivity while also setting the minimum to "
|
|
"1/MOTIVITY");
|
|
PARAM(SYNC_SPEED, 327680, // 5 << 16
|
|
"Set The middle sensitivity between you min and max sensitivity");
|
|
#endif
|
|
|
|
// Flags
|
|
#define PARAM_FLAG(param, default_value, desc) \
|
|
unsigned char PARAM_##param = default_value; \
|
|
module_param_named(param, PARAM_##param, byte, RW_USER_GROUP); \
|
|
MODULE_PARM_DESC(param, desc);
|
|
|
|
PARAM_FLAG(MODE, linear, "Desired type of acceleration.");
|
|
|
|
#endif // !_PARAM_H_
|