###############################################################################
# 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-2025 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 Seika Braille Displays

note The round keys to the left/right of the braille cells are named K1 and K8.
note The left/right ends of the left rocker are named K2 and K3.
note The long keys to the left/right of the center are named K4 and K5.
note The left/right ends of the right rocker are named K6 and K7.

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

bind !RoutingKey ROUTE:COLOR

bind K1 FWINLT
bind K8 FWINRT

bind K2 LNUP
bind K3 LNDN
bind K2+K3 LNBEG

bind K6 FWINLTSKIP
bind K7 FWINRTSKIP
bind K6+K7 PASTE:PASTE_ALTMODE

bind K4 CSRTRK
bind K5 RETURN
bind K4+K5 CSRJMP_VERT

bind K6+K2 TOP_LEFT
bind K6+K3 BOT_LEFT
bind K7+K2 TOP
bind K7+K3 BOT

bind K4+K2 ATTRUP
bind K4+K3 ATTRDN
bind K5+K2 PRDIFLN
bind K5+K3 NXDIFLN
bind K4+K6 PRPROMPT
bind K4+K7 NXPROMPT
bind K5+K6 PRPGRPH
bind K5+K7 NXPGRPH

bind K1+K8+K2 CONTEXT+PRINDENT
bind K1+K8+K3 CONTEXT+NXINDENT
bind K1+K8+K4 CONTEXT+SETLEFT
bind K1+K8+K5 CONTEXT+DESCCHAR
bind K1+K8+K6 CONTEXT+PRDIFCHAR
bind K1+K8+K7 CONTEXT+NXDIFCHAR

bind K1+K8+K2+K6 CONTEXT+CLIP_NEW
bind K1+K8+K2+K7 CONTEXT+CLIP_ADD
bind K1+K8+K3+K6 CONTEXT+COPY_LINE
bind K1+K8+K3+K7 CONTEXT+COPY_RECT

bind K1+K2 HELP
bind K1+K3 LEARN
bind K1+K4 PREFLOAD
bind K1+K5 PREFSAVE
bind K1+K6 PREFMENU
bind K1+K7 INFO

bind K8+K2 DISPMD
bind K8+K3 FREEZE
bind K8+K6 SIXDOTS
bind K8+K7 SKPIDLNS


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

context menu

bind K1 FWINLT
bind K8 FWINRT

bind K2 MENU_PREV_ITEM
bind K3 MENU_NEXT_ITEM

bind K6 MENU_PREV_SETTING
bind K7 MENU_NEXT_SETTING

bind K4 MENU_FIRST_ITEM
bind K5 MENU_LAST_ITEM


############################
# Routing Key Alternatives #
############################

context CLIP_NEW
bind !RoutingKey CLIP_NEW

context CLIP_ADD
bind !RoutingKey CLIP_ADD

context COPY_LINE
bind !RoutingKey COPY_LINE

context COPY_RECT
bind !RoutingKey COPY_RECT

context SETLEFT
bind !RoutingKey SETLEFT

context DESCCHAR
bind !RoutingKey DESCCHAR

context PRINDENT
bind !RoutingKey PRINDENT

context NXINDENT
bind !RoutingKey NXINDENT

context PRDIFCHAR
bind !RoutingKey PRDIFCHar

context NXDIFCHAR
bind !RoutingKey NXDIFCHar

