VoiDPlugins/MeL
X9VoiD a49c6b200a v0.2.1
Update to NET.5
Rate limit MeL logging
Add ScriptRunner to CI
2020-11-11 02:21:37 -08:00
..
Core Make namespace consistent 2020-10-15 21:25:17 +08:00
Filter v0.2.1 2020-11-11 02:21:37 -08:00
Interpolator Make namespace consistent 2020-10-15 21:25:17 +08:00
MeL.csproj v0.2.1 2020-11-11 02:21:37 -08:00
README.md Update README.md 2020-10-15 23:38:09 +08:00

MeL

Machine Learning Plugin for OpenTabletDriver.

Parts

MeLFilter

MeLInterp

Installation

Download MeL from latest releases.

Then copy zip contents to:

Platform Path
Windows %localappdata%\OpenTabletDriver\Plugins
Linux ~/.config/OpenTabletDriver/Plugins
MacOS $HOME/Library/Application Support/OpenTabletDriver/Plugins

Configuration

These are the different configuration knobs for MeL.

Offset (only in MeLFilter)

Amount of time in milliseconds to offset the prediction for the next point.

  • Zero Offset - MeL will apply low latency cursor correction. (to mostly correct MeLInterp's output)

  • Positive Offset - MeL will try to predict future cursor position.

  • Negative Offset - MeL will delay cursor position to smooth out movement.

    High positive offset may result in inaccurate and erratic cursor movement.
    High negative offset does not guarantee smoother cursor movement.

Samples

Determines how long of a history to keep to feed into the filter.

A sample is defined as an update in cursor position.

  • Sample count is generally a trade-off between CPU usage and accuracy.

    Samples must always be higher than Complexity!

Complexity

Determines the complexity of prediction to compute by the filter.

Weight

Determines how much more important the later samples will be. This modifies how strict the MeL is with overshooting.

  • A Weight of 2 for example will say that the later samples will be two times more important.

    A high Weight like 1.5 might introduce jagged edges on the cursor.
    A low Weight like 1.1 below will cause overshooting when using with low Complexity.

If you see your cursor getting jagged or jumps back-and-forth, it's because MeL tries too hard to correct itself (due to high Weight) when MeL decides that its decisions are too far away from the truth.

The default values below are optimized for 250+hz tablet devices with hardware smoothing.

Minimum and Maximum recommended values are a hint for what values are sensible but not necessarily a limit.

Settings Min Recommended Value Max Recommended Value Default Value
Offset -10 10 0
Samples 16 25 20
Complexity 1 3 2
Weight 1.15 1.8 1.4