###############################################################################
# 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-2019 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>.
###############################################################################

# This key subtable is for Alva models which have the basic Satellite keys.
note The keypads at either side of the top are named LeftPad and RightPad.
note * The four inner keys of each are subnamed Left, Right, Up, and Down.
note * The two outer keys of each are subnamed F1 and F2.
note The two long, flat keys are named Up and Down.
note The two long, bent keys are named Left and Right.
note The two round keys are named Home and Cursor.


####################
# Default Bindings #
####################

bind !Up LNUP
bind !Down LNDN
bind Home+!Up TOP_LEFT
bind Home+!Down BOT_LEFT
bind Cursor+!Up TOP
bind Cursor+!Down BOT

bind RightPadF1+!Up PRDIFLN
bind RightPadF1+!Down NXDIFLN
bind RightPadF2+!Up ATTRUP
bind RightPadF2+!Down ATTRDN

bind !Left FWINLT
bind !Right FWINRT
bind Home+!Left LNBEG
bind Home+!Right LNEND
bind Cursor+!Left FWINLTSKIP
bind Cursor+!Right FWINRTSKIP

bind RightPadF1+!Left CHRLT
bind RightPadF1+!Right CHRRT
bind RightPadF2+!Left HWINLT
bind RightPadF2+!Right HWINRT

bind !RoutingKey2 DESCCHAR
bind !RoutingKey1 ROUTE
bind Home+!RoutingKey2 SETMARK
bind Home+!RoutingKey1 GOTOMARK
bind Cursor+!RoutingKey2 PRINDENT
bind Cursor+!RoutingKey1 NXINDENT

bind RightPadF1+!RoutingKey1 CLIP_NEW
bind RightPadF1+!RoutingKey2 CLIP_ADD
bind RightPadF2+!RoutingKey1 COPY_RECT
bind RightPadF2+!RoutingKey2 COPY_LINE

bind !Status1A CSRVIS
bind !Status2A SKPIDLNS
bind !Status1B ATTRVIS
bind !Status2B DISPMD
bind !Status1C CAPBLINK
bind !Status2C SKPBLNKWINS

bind !RightPadLeft PREFMENU
bind !RightPadRight INFO
bind RightPadF1+!RightPadLeft FREEZE
bind RightPadF1+!RightPadRight SIXDOTS
bind RightPadF2+!RightPadLeft PASTE
bind RightPadF2+!RightPadRight CSRJMP_VERT

bind !RightPadUp PRPROMPT
bind !RightPadDown NXPROMPT
bind RightPadF1+!RightPadUp PRPGRPH
bind RightPadF1+!RightPadDown NXPGRPH
bind RightPadF2+!RightPadUp PRSEARCH
bind RightPadF2+!RightPadDown NXSEARCH

bind !LeftPadLeft MUTE
bind !LeftPadRight SAY_LINE
bind !LeftPadUp SAY_ABOVE
bind !LeftPadDown SAY_BELOW
bind LeftPadF2+!LeftPadLeft SAY_SLOWER
bind LeftPadF2+!LeftPadRight SAY_FASTER
bind LeftPadF2+!LeftPadDown SAY_SOFTER
bind LeftPadF2+!LeftPadUp SAY_LOUDER

bind HOME BACK
bind CURSOR HOME
bind HOME+CURSOR CSRTRK

bind RightPadF1 HELP
bind RightPadF2 LEARN
bind RightPadF1+RightPadF2 RESTARTBRL

bind LeftPadF1 SPKHOME
bind LeftPadF2 AUTOSPEAK
bind LeftPadF1+LeftPadF2 RESTARTSPEECH


#################
# Menu Bindings #
#################

context menu

bind !Up MENU_PREV_ITEM
bind !Down MENU_NEXT_ITEM
bind Home+!Up MENU_FIRST_ITEM
bind Home+!Down MENU_LAST_ITEM

bind !Left FWINLT
bind !Right FWINRT
bind Home+!Left PREFLOAD
bind Home+!Right PREFSAVE

bind Home MENU_PREV_SETTING
bind Cursor MENU_NEXT_SETTING
bind Home+Cursor PREFMENU
