# 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 access brlapi and limit the api to accept
# connections only on a local socket.
api-parameters Auth=user:chronos,Host=:0

# Interpret braille keyboard input as dots rather than translate them to characters.
override-preference 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

# Display this message:
assign msgNoBraille braille\snot\savailable
# When the screen device(s) can't be opened.
screen-parameters no:message=\{msgNoBraille}
# When not using a text console or when the console is unused or unreadable.
screen-parameters lx:fallbacktext=\{msgNoBraille}

