Config file (tapto.ini)

From Zaparoo Wiki

Revision as of 02:24, 8 July 2024 by Wizzo (talk | contribs)

The TapTo config file is a file stored alongside the TapTo executable called tapto.ini, which holds all permanent configuration options for TapTo. It uses the INI file format and is the same across all platforms support for TapTo. If the TapTo service must be restarted if changes are made to this file, so it can reload and apply the new settings.

A default config looks like this:

[tapto]
reader =
allow_commands = no
disable_sounds = no
probe_device = yes
exit_game = no
exit_game_blocklist =
exit_game_delay = 0
debug = no
api_port = 7497
api_basic_auth =

[systems]
games_folder =
set_core =

This config is effectively the same as a missing or empty tapto.ini file. It will usually be created by TapTo if it doesn't exist. Default values can always be omitted from the file. Lines can be commented out by starting them with ; or #.

TapTo Section

This section is required and starts with [tapto]. It contains all the common global configuration options for the TapTo service and how it should behave.

Manual Reader Connection (reader)

Key Type Default Value Example Value
reader String (text) <empty string> pn532_uart:/dev/ttyUSB0

The reader key is used to manually specify a device string that TapTo should try connect to. It's useful if the reader device you're using can't be auto-detected, or if probing devices is disabled. See the Reader Drivers page for a full list of possible device strings and how they work.

[tapto]
reader = pn532_uart:/dev/ttyUSB0

This means TapTo will continuously attempt to connect to this device while it's running, until it makes a connection. If device probing is enabled, TapTo will continue to try auto-detecting devices alongside this connection, though it won't try to reconnect any of the ones you've set here.

It's also possible to specify multiple readers to be connected:

[tapto]
reader = pn532_uart:/dev/ttyUSB0
reader = pn532_uart:/dev/ttyUSB1
reader = file:/tmp/read_tapto

Allow Shell Commands (allow_commands)

Key Type Default Value Example Value
allow_commands Boolean (yes/no/true/false) no yes

The allow_commands key sets whether the shell token command is allowed to be run or not. By default this command is disabled, as it could be used to launch untrusted malicious code on the host device. Enable it at your own risk!

Disable Feedback Audio (disable_sounds)

Key Type Default Value Example Value
disable_sounds Boolean (yes/no/true/false) no yes

The disable_sounds key specifies whether TapTo should play success and failure audio as feedback after a scan. If you don't like the sounds or they're interfering with something on the host device, you can disable them here.

Device Auto-detection (probe_device)

Key Type Default Value Example Value
probe_device Boolean (yes/no/true/false) yes no

The probe_device key specifies if TapTo should probe hardware devices and attempt to auto-detect them during connection. Some users have reported in the past that TapTo's device probing can interfere with other connected serial devices. If so, try disabling this first.

Insert Mode (exit_game)

Key Type Default Value Example Value
exit_game Boolean (yes/no/true/false) no yes

The exit_game key turns insert mode on or off. Insert mode is the behavior where TapTo will attempt to exit the current playing game when a token is removed from the reader, making it feel more like inserting and removing a real cartridge.

Insert Mode Blocklist (exit_game_blocklist)

Key Type Default Value Example Value
exit_game_blocklist String list <empty list> Amiga,PSX,N64

The exit_game_blocklist key is a comma (,) separated list of System IDs which should be ignored by insert mode. This means, for example, if the key is set to Genesis,SNES the Genesis and SNES systems will both still launch when a token for those systems is inserted, but they won't exit the game when the token is removed.

Insert Mode Exit Delay (exit_game_delay)

Key Type Default Value Example Value
exit_game_delay Number (0-255) 0 15

Debug Logging

Key Type Default Value Example Value
debug Boolean (yes/no/true/false) no yes

API Port

Key Type Default Value Example Value
api_port String (text) 7497 8080

API Basic Auth

Key Type Default Value Example Value
api_basic_auth String (text) <empty string> myname:Letmein!

Systems Section

Games Folder

Key Type Default Value Example Value
games_folder String (test) <empty string> /mnt/usb999

Set Core

Key Type Default Value Example Value
set_core String (text) <empty string> _Console/N64:_LLAPI/N64