Class MouseProfile


  • public final class MouseProfile
    extends java.lang.Object
    The tunable shape of one person's mouse movement.

    A profile is a value object, not global state. Two accounts running side by side hold different instances and therefore move differently, which is the whole point: a shared movement signature across every session is worse than no humanisation at all.

    Defaults were chosen to sit in the middle of ordinary desktop use rather than to look impressive. Anything here can be overridden by a trained profile on disk.

    • Constructor Detail

      • MouseProfile

        public MouseProfile()
    • Method Detail

      • named

        public static MouseProfile named​(java.lang.String name)
      • copy

        public MouseProfile copy()
        Deep copy, so a caller can tune without disturbing the stored original.
      • sanitised

        public MouseProfile sanitised()
        Clamp every field into a sane range.

        Profiles come from disk and from the trainer, so they are untrusted input. A zero sample interval or a negative duration would lock the client, and the failure would look like a hang rather than bad data.

      • getName

        public java.lang.String getName()
      • setName

        public void setName​(java.lang.String name)
      • getSpeedScale

        public double getSpeedScale()
      • setSpeedScale

        public void setSpeedScale​(double speedScale)
      • getFittsInterceptMs

        public double getFittsInterceptMs()
      • setFittsInterceptMs

        public void setFittsInterceptMs​(double value)
      • getFittsSlopeMs

        public double getFittsSlopeMs()
      • setFittsSlopeMs

        public void setFittsSlopeMs​(double value)
      • getAccelerationBias

        public double getAccelerationBias()
      • setAccelerationBias

        public void setAccelerationBias​(double value)
      • getCurvature

        public double getCurvature()
      • setCurvature

        public void setCurvature​(double value)
      • getCurvatureSpread

        public double getCurvatureSpread()
      • setCurvatureSpread

        public void setCurvatureSpread​(double value)
      • getJitter

        public double getJitter()
      • setJitter

        public void setJitter​(double value)
      • getTremor

        public double getTremor()
      • setTremor

        public void setTremor​(double value)
      • getOvershootChance

        public double getOvershootChance()
      • setOvershootChance

        public void setOvershootChance​(double value)
      • getOvershootScale

        public double getOvershootScale()
      • setOvershootScale

        public void setOvershootScale​(double value)
      • getSettleChance

        public double getSettleChance()
      • setSettleChance

        public void setSettleChance​(double value)
      • getSettleMaxSteps

        public int getSettleMaxSteps()
      • setSettleMaxSteps

        public void setSettleMaxSteps​(int value)
      • getReactionMinMs

        public int getReactionMinMs()
      • setReactionMinMs

        public void setReactionMinMs​(int value)
      • getReactionMaxMs

        public int getReactionMaxMs()
      • setReactionMaxMs

        public void setReactionMaxMs​(int value)
      • getClickHoldMinMs

        public int getClickHoldMinMs()
      • setClickHoldMinMs

        public void setClickHoldMinMs​(int value)
      • getClickHoldMaxMs

        public int getClickHoldMaxMs()
      • setClickHoldMaxMs

        public void setClickHoldMaxMs​(int value)
      • getAimPauseMinMs

        public int getAimPauseMinMs()
      • setAimPauseMinMs

        public void setAimPauseMinMs​(int value)
      • getAimPauseMaxMs

        public int getAimPauseMaxMs()
      • setAimPauseMaxMs

        public void setAimPauseMaxMs​(int value)
      • getSampleIntervalMs

        public int getSampleIntervalMs()
      • setSampleIntervalMs

        public void setSampleIntervalMs​(int value)
      • getDragPressHoldMinMs

        public int getDragPressHoldMinMs()
      • setDragPressHoldMinMs

        public void setDragPressHoldMinMs​(int value)
      • getDragPressHoldMaxMs

        public int getDragPressHoldMaxMs()
      • setDragPressHoldMaxMs

        public void setDragPressHoldMaxMs​(int value)
      • getDragMinDurationMs

        public int getDragMinDurationMs()
      • setDragMinDurationMs

        public void setDragMinDurationMs​(int value)
      • getFatiguePerHour

        public double getFatiguePerHour()
      • getMinMagnitude

        public double getMinMagnitude()
      • setMinMagnitude

        public void setMinMagnitude​(double minMagnitude)
      • getMaxMagnitude

        public double getMaxMagnitude()
      • setMaxMagnitude

        public void setMaxMagnitude​(double maxMagnitude)
      • getAccelerationRate

        public double getAccelerationRate()
      • setAccelerationRate

        public void setAccelerationRate​(double accelerationRate)
      • getAccelerationDeviation

        public double getAccelerationDeviation()
      • setAccelerationDeviation

        public void setAccelerationDeviation​(double accelerationDeviation)
      • getMinDecelMagnitude

        public double getMinDecelMagnitude()
      • setMinDecelMagnitude

        public void setMinDecelMagnitude​(double minDecelMagnitude)
      • getMaxDecelDistance

        public double getMaxDecelDistance()
      • setMaxDecelDistance

        public void setMaxDecelDistance​(double maxDecelDistance)
      • getDecelDecayRate

        public double getDecelDecayRate()
      • setDecelDecayRate

        public void setDecelDecayRate​(double decelDecayRate)
      • getAngleDeviationRate

        public double getAngleDeviationRate()
      • setAngleDeviationRate

        public void setAngleDeviationRate​(double angleDeviationRate)
      • getMeanDecelRadius

        public double getMeanDecelRadius()
      • setMeanDecelRadius

        public void setMeanDecelRadius​(double meanDecelRadius)
      • getDecelRadiusDeviation

        public double getDecelRadiusDeviation()
      • setDecelRadiusDeviation

        public void setDecelRadiusDeviation​(double decelRadiusDeviation)
      • getMaxdTheta

        public double getMaxdTheta()
      • setMaxdTheta

        public void setMaxdTheta​(double maxdTheta)
      • getDecayDistanceExponent

        public double getDecayDistanceExponent()
      • setDecayDistanceExponent

        public void setDecayDistanceExponent​(double decayDistanceExponent)
      • getReportRate

        public int getReportRate()
      • setReportRate

        public void setReportRate​(int reportRate)
      • getMouseMoveResetTimeMs

        public int getMouseMoveResetTimeMs()
      • setMouseMoveResetTimeMs

        public void setMouseMoveResetTimeMs​(int mouseMoveResetTimeMs)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object