A real-time adaptive Neural Network filter plugin for OpenTabletDriver that learns your movement patterns to provide smooth, low-latency cursor prediction.
Important
Please read the Disclaimer & Fair Play Notice before using this plugin.
- Neural Network Prediction: Learns your movement patterns in real-time using a Multi-Layer Perceptron
- Real-time Visualization: Web-based UI showing live predictions and network structure
- Configurable Architecture: Adjust hidden layers, learning rate, and network complexity
- Hybrid Mode: Choose between pure NN prediction or hybrid real input + NN upsampling
- Anti-Chatter Filter: Suppress noise and reduce jitter
- OneEuroFilter: Additional smoothing for stable predictions
- Training Metrics: Monitor accuracy, output rate, and training iterations
-
Download or Build:
- Download the latest release from Releases
- Or build from source:
dotnet build -c Release
-
Install Plugin:
- Open OpenTabletDriver
- Open Plugin Directory
- Copy
AdaptiveFilter.dllto this directory - Restart OpenTabletDriver
-
Enable Filter:
- In OpenTabletDriver, go to the Filters tab
- Select AdaptiveFilter from the list
- Click Apply
- Target Rate: Output refresh rate in Hz (default: 1000)
- Prediction Offset: Time offset for predictions in ms (default: 0)
- Lookahead: Multiplier for the prediction vector (default: 1.0)
- Web UI Port: Port for web interface (default: 5000)
Access the visualization at http://localhost:5000
- Left panel: Real-time cursor visualization (Cyan = Input, Pink = Prediction)
- Right panel: Live neural network structure with weighted connections
- Stats: Prediction offset, output rate, accuracy (mm), and training iterations
- 1 layer × 12 neurons (~360 parameters)
- Lower learning rate (0.005)
- 2 layers × 16 neurons (~2,080 parameters)
- Standard learning rate (0.01)
- 3 layers × 12 neurons (~2,000 parameters)
- Higher learning rate (0.015)
Web UI not loading
- Ensure port 5000 is available
- Change
Web UI Portin plugin settings
Cursor stops moving
- Reduce
Hidden Layer Countto 1 - Lower
Hidden Layer Sizeto 12
High latency
- Reduce
Target Rate - Enable
Use Hybrid Mode
Jittery predictions
- Increase
Samplescount - Increase
Anti-Chatter Strength
- Input Processing: Tablet reports are filtered through Anti-Chatter filter
- Training: Neural network learns movement deltas from sliding window of samples
- Prediction: Network predicts next position based on recent movement patterns
- Smoothing: OneEuroFilter reduces jitter while maintaining responsiveness
- Upsampling: Predictions are emitted at configured target rate
git clone https://github.com/yourusername/AdaptiveFilter.git
cd AdaptiveFilter
dotnet build -c ReleaseOutput: bin/Release/net6.0/AdaptiveFilter.dll
- .NET 6.0
- OpenTabletDriver.Plugin
- MathNet.Numerics
MIT License - See LICENSE file for details
Built with inspiration from various prediction and smoothing techniques used in tablet driver filters.