Haptics device integration for Anki.
Test the add-on with your devices away from your body first to make sure they do not do anything unexpected. If you run into odd behavior, report issues here.
-
Install Intiface Central
-
Run Intiface Central and start the server by clicking on the top left start button (▶). (Optionally, enable
Start Server when Intiface Central LaunchesinApp Modes)For further information on setting up and connecting your device to Intiface Central, see the official documentation.
-
Install the Anki Haptics addon.
-
Open Anki.
-
On the top menu, go to
Tools>Add-ons. -
Click
Get Add-ons.... -
Input
247550864 -
Click
OK. -
Restart Anki
-
-
Start Anki. If Anki was already started, go to
Tools>Anki Haptics Settingsand clickReconnect. -
In
Tools>Anki Haptics Settings, enable your device and configure your settings.
Haptics activation are supported for the following Anki actions:
Again button press
Hard button press
Good button press
Easy button press
Show question
Show answer
All actions can be configured individually in settings.
Save your settings before switching devices or closing the settings window. Settings are not saved automatically.
-
Device EnabledWhether or not the device should be sent commands such as vibration. -
Enabled PatternChecks whether a command can be sent on the current card.*matches all cards. Uses the same format as Anki's Browser Searching. -
ActuatorsThese will show up as checkboxes such asVibrate. Check or uncheck them to enable or disable triggering these features on your device.Only scalar device features are supported. This includes any feature that can be addressed by a single 0-100% value.
-
Strength MultiplierMultiplies strength when activating this actuator. -
Duration MultiplierMultiplies duration when activating this actuator.
-
-
Again ButtonChecks whether a command can be sent when pressing the again button.-
StrengthStrength to activate at when pressing the again button. -
DurationDuration to activate for when pressing the again button.
-
-
Hard ButtonChecks whether a command can be sent when pressing the hard button.-
StrengthStrength to activate at when pressing the hard button. -
DurationDuration to activate for when pressing the hard button.
-
-
Good ButtonChecks whether a command can be sent when pressing the good button.-
StrengthStrength to activate at when pressing the good button. -
DurationDuration to activate for when pressing the good button.
-
-
Easy ButtonChecks whether a command can be sent when pressing the easy button.-
StrengthStrength to activate at when pressing the easy button. -
DurationDuration to activate for when pressing the easy button.
-
-
Show QuestionChecks whether a command can be sent when showing a card.-
StrengthStrength to activate at when showing a card. -
DurationDuration to activate for when showing a card.
-
-
Show AnswerChecks whether a command can be sent when flipping a card.-
StrengthStrength to activate at when flipping a card. -
DurationDuration to activate for when flipping a card.
-
Streaks apply to all connected devices.
-
Streak Type:Per CollectionStreaks are calculated per-collection (all decks combined). Breaking a streak on one card breaks the streak for the entire collection.Per DeckStreaks are calculated per-deck. Breaking a streak on one card in a deck breaks the streak on the entire deck.Per CardStreaks are calculated per-card. Breaking a streak on one card does not mean streaks on all cards are broken. -
Again ButtonIf unchecked, the again button breaks streaks. If checked, the again button adds to streaks.StrengthandDurationMultiplies strength and duration when pressing the again button in a streak.
-
Hard ButtonIf unchecked, the hard button breaks streaks. If checked, the hard button adds to streaks.StrengthandDurationMultiplies strength and duration when pressing the hard button in a streak.
-
Good ButtonIf unchecked, the good button breaks streaks. If checked, the good button adds to streaks.StrengthandDurationMultiplies strength and duration when pressing the good button in a streak.
-
Easy ButtonIf unchecked, the easy button breaks streaks. If checked, the easy button adds to streaks.StrengthandDurationMultiplies strength and duration when pressing the easy button in a streak.
-
Minimum LengthMinimum number of streak adding buttons to press for streak multipliers to activate. -
Maximum LengthStreaks past this length will no longer increase the multiplier. The last highest multiplier stays in effect until the streak is broken. -
Maximum TimeMaximum time to look back to find whether a streak is present for a card.
For advanced users only. Accessible through Tools > Add-ons > Anki Haptics > Config. Restarting Anki is recommended after changing config values.
The config can also be used to fine-tune settings values.
-
websocket_pathThe websocket path configured in Intiface Central. -
reconnect_delayThe delay in seconds to wait when reconnecting to Intiface central. -
websocket_polling_delay_msThe delay in milliseconds to wait before the websocket thread polls for commands again. Increases or decreases latency when actions occur.Increase this value if you notice Anki's CPU usage spikes after installing this add-on. But be careful increasing it too much as this will add to timer inaccuracies.
Sometimes, requesting to scan for a device through Anki Haptics doesn't work.
Connect your device through scanning in Intiface directly instead and Anki Haptics will find it without needing to scan.
(You may need to restart Intiface if it has already failed once through Anki Haptics)
First, try restarting Anki and see if that fixes it.
Second, reset your settings to default (Tools > Add-ons > Anki Haptics > Config > Restore Defaults) and restart Anki.
If neither of those helped, please report an issue here.