###############################################################################
# BRLTTY - A background process providing access to the console screen (when in
#          text mode) for a blind person using a refreshable braille display.
#
# Copyright (C) 1995-2026 by The BRLTTY Developers.
#
# BRLTTY comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU Lesser General Public License, as published by the Free Software
# Foundation; either version 2.1 of the License, or (at your option) any
# later version. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://brltty.app/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################

title Braille Note

bind Previous FWINLT
bind Next FWINRT
bind Back LNUP
bind Advance LNDN
bind Previous+Back LNBEG
bind Next+Advance LNEND
bind Previous+Advance TOP_LEFT
bind Previous+Next BOT_LEFT
bind Back+Advance BACK
bind Back+Next CSRTRK

bind RoutingKey ROUTE

bind Dot1 CHRLT
bind Dot1+Dot2 HWINLT
bind Dot2 FWINLT
bind Dot2+Dot3 FWINLTSKIP
bind Dot3 LNBEG
bind Dot1+Dot3 LNUP
bind Dot1+Dot2+Dot3 TOP_LEFT
bind Dot4 CHRRT
bind Dot4+Dot5 HWINRT
bind Dot5 FWINRT
bind Dot5+Dot6 FWINRTSKIP
bind Dot6 LNEND
bind Dot4+Dot6 LNDN
bind Dot4+Dot5+Dot6 BOT_LEFT
bind Dot1+Dot4 TOP
bind Dot2+Dot5 HOME
bind Dot3+Dot6 BOT
bind Dot1+Dot4+Dot5 PRDIFLN
bind Dot2+Dot5+Dot6 NXDIFLN
bind Dot1+Dot2+Dot4 PRSEARCH
bind Dot2+Dot3+Dot5 NXSEARCH
bind Dot1+Dot2+Dot5 ATTRUP
bind Dot2+Dot3+Dot6 ATTRDN
bind Dot2+Dot4 CONTEXT+PRINDENT
bind Dot3+Dot5 CONTEXT+NXINDENT
bind Dot2+Dot4+Dot5 WINUP
bind Dot3+Dot5+Dot6 WINDN

bind Space HOME
bind Space+Dot1+Dot4+Dot6 NOOP # acknowledge alarm
bind Space+Dot2+Dot3+Dot5 NOOP # go to task menu
bind Space+Dot1+Dot2+Dot3+Dot4+Dot5+Dot6 NOOP # go to main menu
bind Space+Dot1+Dot4 PREFMENU
bind Space+Dot1+Dot4+Dot5 PREFLOAD
bind Space+Dot1+Dot5 NOOP # exit current operation
bind Space+Dot1+Dot2+Dot5 NOOP # help for current operation
bind Space+Dot1+Dot2+Dot3 CONTEXT+SETLEFT
bind Space+Dot1+Dot3+Dot4 MUTE
bind Space+Dot1+Dot3+Dot4+Dot5 CONTEXT+default # navigation mode
bind Space+Dot1+Dot3+Dot5 NOOP # go to options menu
bind Space+Dot1+Dot2+Dot3+Dot4 PASTE
bind Space+Dot1+Dot2+Dot3+Dot5 NOOP # repeat current prompt
bind Space+Dot2+Dot3+Dot4 SAY_LINE
bind Space+Dot1+Dot3+Dot6 NOOP # uppercase for computer braille
bind Space+Dot2+Dot4+Dot5+Dot6 PREFSAVE
bind Space+Dot1+Dot3+Dot5+Dot6 NOOP # exit current operation
bind Space+Dot1+Dot2+Dot3+Dot5+Dot6 CONTEXT+CLIP_NEW
bind Space+Dot2+Dot4+Dot6 CONTEXT+CLIP_ADD
bind Space+Dot2+Dot3+Dot4+Dot5+Dot6 CONTEXT+COPY_RECT
bind Space+Dot1+Dot2+Dot4+Dot5+Dot6 CONTEXT+COPY_LINE
bind Space+Dot1+Dot2+Dot5+Dot6 CSRJMP_VERT
bind Space+Dot1+Dot4+Dot5+Dot6 LEARN
bind Space+Dot2+Dot3+Dot5+Dot6 KEY_TAB
bind Space+Dot2+Dot3 KEY_CURSOR_LEFT
bind Space+Dot5+Dot6 KEY_CURSOR_RIGHT
bind Space+Dot2+Dot5 KEY_CURSOR_UP
bind Space+Dot3+Dot6 KEY_CURSOR_DOWN
bind Space+Dot2 KEY_HOME
bind Space+Dot3 KEY_END
bind Space+Dot5 KEY_PAGE_UP
bind Space+Dot6 KEY_PAGE_DOWN
bind Space+Dot3+Dot5 KEY_INSERT
bind Space+Dot2+Dot5+Dot6 KEY_DELETE
bind Space+Dot2+Dot6 KEY_ESCAPE

bind Backspace KEY_BACKSPACE
bind Backspace+Dot1 DISPMD+on
bind Backspace+Dot1+Dot2 SKPBLNKWINS+off
bind Backspace+Dot1+Dot4+Dot5 CONTEXT+DESCCHAR
bind Backspace+Dot1+Dot2+Dot5 HELP
bind Backspace+Dot2+Dot4 SKPIDLNS+off
bind Backspace+Dot1+Dot3+Dot4 CONTEXT+SETMARK
bind Backspace+Dot2+Dot3+Dot4 INFO
bind Backspace+Dot2+Dot3+Dot4+Dot5 DISPMD+off
bind Backspace+Dot1+Dot2+Dot3+Dot6 SWITCHVT_PREV
bind Backspace+Dot2+Dot4+Dot5+Dot6 SLIDEWIN+off
bind Backspace+Dot2+Dot3+Dot5 SIXDOTS+on
bind Backspace+Dot2+Dot3+Dot6 SIXDOTS+off
bind Backspace+Dot1+Dot2+Dot3+Dot4+Dot5+Dot6 RESTARTSPEECH

bind Enter KEY_ENTER
bind Enter+Dot1 NOOP # decrease speech volume
bind Enter+Dot4 NOOP # increase speech volume
bind Enter+Dot2 NOOP # decrease speech pitch
bind Enter+Dot5 NOOP # increase speech pitch
bind Enter+Dot3 NOOP # decrease speech speed
bind Enter+Dot6 NOOP # increase speech speed
bind Enter+Dot1+Dot2 SKPBLNKWINS+on
bind Enter+Dot1+Dot4+Dot5 NOOP # display the date
bind Enter+Dot1+Dot2+Dot4 FREEZE
bind Enter+Dot1+Dot2+Dot5 NOOP # hear punctuation in current prompt
bind Enter+Dot2+Dot4 SKPIDLNS+on
bind Enter+Dot1+Dot3+Dot4 CONTEXT+GOTOMARK
bind Enter+Dot2+Dot3+Dot4 NOOP # spell name in current prompt
bind Enter+Dot2+Dot3+Dot4+Dot5 NOOP # display the time
bind Enter+Dot1+Dot2+Dot3+Dot6 SWITCHVT_NEXT
bind Enter+Dot2+Dot4+Dot5+Dot6 SLIDEWIN+on
bind Enter+Dot1+Dot2+Dot3+Dot4+Dot5+Dot6 RESTARTBRL

note To temporarily (for the next character) switch to an input mode,
note use [4] together with combinations of [3] and ]6].
note To permanently switch to an input mode,
note use [45] together with combinations of [3] and ]6].
note To turn on dot 7, add [3].  To turn on dot 8, add [6].
note To switch back to (n)avigation mode, use space+[1345].

hide on
bind Space+Dot4 CONTEXT+temporaryInput
bind Space+Dot4+Dot5 CONTEXT+persistentInput
bind Space+Dot4+Dot3 CONTEXT+temporaryInput7
bind Space+Dot4+Dot5+Dot3 CONTEXT+persistentInput7
bind Space+Dot4+Dot6 CONTEXT+temporaryInput8
bind Space+Dot4+Dot5+Dot6 CONTEXT+persistentInput8
bind Space+Dot4+Dot3+Dot6 CONTEXT+temporaryInput78
bind Space+Dot4+Dot5+Dot3+Dot6 CONTEXT+persistentInput78

context temporaryInput
include input.kti

context persistentInput Input Mode
include input.kti

context temporaryInput7
include input.kti
superimpose DOT7

context persistentInput7 Input Mode (dot 7)
include input.kti
superimpose DOT7

context temporaryInput8
include input.kti
superimpose DOT8

context persistentInput8 Input Mode (dot 8)
include input.kti
superimpose DOT8

context temporaryInput78
include input.kti
superimpose DOT7
superimpose DOT8

context persistentInput78 Input Mode (dots 7 and 8)
include input.kti
superimpose DOT7
superimpose DOT8
hide off

context DESCCHAR
bind RoutingKey DESCCHAR

context SETLEFT
bind RoutingKey SETLEFT

context CLIP_NEW
bind RoutingKey CLIP_NEW:COPY_SMART_NEW

context CLIP_ADD
bind RoutingKey CLIP_ADD:COPY_SMART_ADD

context COPY_RECT
bind RoutingKey COPY_RECT

context COPY_LINE
bind RoutingKey COPY_LINE

context SETMARK
bind RoutingKey SETMARK

context GOTOMARK
bind RoutingKey GOTOMARK

context PRINDENT
bind RoutingKey PRINDENT

context NXINDENT
bind RoutingKey NXINDENT

