# Copyright 2016 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Only allow the chronos user to connect to the BrlAPI server.
api-parameters Auth=user:chronos

# Only listen for BrlAPI connections from the local host.
api-parameters Host=:0

# Interpret braille keyboard input as dot combinations
# rather than translate it to characters.
override-preferences braille-quick-space=yes

# Display this message when the braille driver starts.
start-message braille\sstarting

# Display this message when the braille driver stops.
stop-message braille\sstopped

# The Linux screen driver isn't useful since the /dev/vcs* devices don't exist.
# There isn't a screen driver for frecon yet.
screen-driver no

# Display this message when BrlAPI isn't connected.
screen-parameters no:message=braille\snot\savailable

# Set the default log level.
log-level info

