[BRLTTY] Still a problem with scroll keys on BS6 (BRLTTY master branch)
Christophe Delaunay
delaunaych at yahoo.fr
Mon Aug 24 08:45:04 UTC 2026
Hi all,
It's my first post on this list so maybe I'm doing things wrong. In this
case, please accept my apologies and I really hope you'll correct me.
On my Raspberry Pi 3B+ running Trixie in 64 bits, the BRLTTY 6.7
embedded package did not work as expected since scroll keys of my BS6
did not work at all. Therefore, I retrieved the source code from master
branch yesterday, built it and installed it.
It nearly works since when I launch it, it prints BRLTTY 6.9.1 a few
seconds on the Braille display and then, correctly displays the console
in Braille. This time, the four scroll keys do something but they were
not mapped as they should.
Before exploring the code, I had a look to the loaded keyboard table and
its included parts without seeing what's wrong.
I then decided to stop BRLTTY and relaunch it from an SSH connection
with the following command:
sudo brltty -b hm -e -lbrlkeys,brldrv -n
When BRLTTY was completely started, I waited the login prompt to be
printed on the Braille display and then, pressed the scroll keys in the
following order:
- Left scroll up
- Left scroll down
- Right scroll up
- Right scroll down.
Here is what BRLTTY logged on my SSH terminal:
brltty: brl key press: LeftScrollUp (Ctx:2 Grp:0 Num:16)
brltty: brl key release: LeftScrollUp (Ctx:2 Grp:0 Num:16) -> LNUP
(Cmd:000001)
brltty: brl key press: RightScrollDown (Ctx:2 Grp:0 Num:19)
brltty: brl key release: RightScrollDown (Ctx:2 Grp:0 Num:19) -> FWINRT
(Cmd:000018)
brltty: brl key press: LeftScrollDown (Ctx:2 Grp:0 Num:17)
brltty: brl key release: LeftScrollDown (Ctx:2 Grp:0 Num:17) -> LNDN
(Cmd:000002)
brltty: brl key press: RightScrollUp (Ctx:2 Grp:0 Num:18)
brltty: brl key release: RightScrollUp (Ctx:2 Grp:0 Num:18) -> FWINLT
(Cmd:000017)
I guessed, (maybe wrongly), that rather than being defined left column
first, these keys were defined clockwise. I therefore tried to modify
brltty/Drivers/Braille/HIMS/brldefs-hm.h accordingly to my guess. Then I
relaunch BRLTTY from my SSH session.
After BRLTTY was completely started again, I pressed the scroll keys in
the same order and obtained:
brltty: brl key press: LeftScrollUp (Ctx:2 Grp:0 Num:16)
brltty: brl key release: LeftScrollUp (Ctx:2 Grp:0 Num:16) -> LNUP
(Cmd:000001)
brltty: brl key press: LeftScrollDown (Ctx:2 Grp:0 Num:19)
brltty: brl key release: LeftScrollDown (Ctx:2 Grp:0 Num:19) -> LNDN
(Cmd:000002)
brltty: brl key press: RightScrollUp (Ctx:2 Grp:0 Num:17)
brltty: brl key release: RightScrollUp (Ctx:2 Grp:0 Num:17) -> FWINLT
(Cmd:000017)
brltty: brl key press: RightScrollDown (Ctx:2 Grp:0 Num:18)
brltty: brl key release: RightScrollDown (Ctx:2 Grp:0 Num:18) -> FWINRT
(Cmd:000018)
Problem now is that although it works correctly on my BrailleSense 6/32
running firmware 3.0, I have no means to test this on other BrailleSense
devices with four scroll keys. This is the reason why the brldefs-hm.h I
attempt to attach to this post cannot definitely be pushed as is. In
particular, I placed a
#if 0
-- current code
#else
-- my replacement code
#endif
in order for the tester to easily switch between both key definitions
until they are finished.
Many thanks to the developers dream team for the really really great job
since I really appreciate BRLTTY. Have a nice day. ChD
P.S.: If I am not allowed to attach file to my posts, please tell mi how
to send the information you need and I'll definitely do it right. In
addition to the .h attached file, I still keep the two complete logs I
obtained.
P.P.S.: A "git branch" on my local copy of BRLTTY showed me a new recent
branch named "bs6". Should I check out this branch before building or is
it OK to build and do my tests from master branch? In any case, be sure
that I definitely won't push anything before your autorisation since I
really prefer you do it after you validate it.
-------------- next part --------------
/*
* 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 at mielke.cc>.
*/
#ifndef BRLTTY_INCLUDED_HM_BRLDEFS
#define BRLTTY_INCLUDED_HM_BRLDEFS
typedef enum {
/* braille keyboard keys */
HM_KEY_Dot1 = 0,
HM_KEY_Dot2 = 1,
HM_KEY_Dot3 = 2,
HM_KEY_Dot4 = 3,
HM_KEY_Dot5 = 4,
HM_KEY_Dot6 = 5,
HM_KEY_Dot7 = 6,
HM_KEY_Dot8 = 7,
HM_KEY_Space = 8,
/* Braille Sense/Edge function keys */
HM_KEY_F1 = 9,
HM_KEY_F2 = 10,
HM_KEY_F3 = 11,
HM_KEY_F4 = 12,
/* Braille Sense panning keys */
HM_KEY_Backward = 13,
HM_KEY_Forward = 14,
/* SyncBraille scroll keys */
HM_KEY_SB_LeftScrollUp = 12,
HM_KEY_SB_RightScrollUp = 13,
HM_KEY_SB_RightScrollDown = 14,
HM_KEY_SB_LeftScrollDown = 15,
/* Braille Sense scroll keys */
/*--- Added by CD on 2026-08-22 ---*/
#if 0
/*--- End of CD additions ---*/
HM_KEY_BS_LeftScrollUp = 16,
HM_KEY_BS_LeftScrollDown = 17,
HM_KEY_BS_RightScrollUp = 18,
HM_KEY_BS_RightScrollDown = 19,
/*--- Added by CD on 2026-08-22 ---*/
#else
/* On my BS6/32 running Firmware 3.0, the scroll keys appear to be ordered clockwise starting at left scroll up, rather than left column then right column. Therefore */
HM_KEY_BS_LeftScrollUp = 16,
HM_KEY_BS_RightScrollUp = 17,
HM_KEY_BS_RightScrollDown = 18,
HM_KEY_BS_LeftScrollDown = 19,
#endif
/*--- End of CD additions ---*/
/* Braille Edge scroll keys */
HM_KEY_BE_LeftScrollUp = 16,
HM_KEY_BE_RightScrollUp = 17,
HM_KEY_BE_RightScrollDown = 18,
HM_KEY_BE_LeftScrollDown = 19,
/* Braille Edge function keys */
HM_KEY_F5 = 20,
HM_KEY_F6 = 21,
HM_KEY_F7 = 22,
HM_KEY_F8 = 23,
/* Braille Edge left pad */
HM_KEY_LeftPadUp = 24,
HM_KEY_LeftPadDown = 25,
HM_KEY_LeftPadLeft = 26,
HM_KEY_LeftPadRight = 27,
/* Braille Edge right pad */
HM_KEY_RightPadUp = 28,
HM_KEY_RightPadDown = 29,
HM_KEY_RightPadLeft = 30,
HM_KEY_RightPadRight = 31,
/* eMotion keys */
HM_KEY_EM_Control = 11,
HM_KEY_EM_Alt = 12,
HM_KEY_EM_F1 = 22,
HM_KEY_EM_F2 = 23,
HM_KEY_EM_F3 = 9,
HM_KEY_EM_F4 = 10,
} HM_NavigationKey;
typedef enum {
HM_GRP_NavigationKeys = 0,
HM_GRP_RoutingKeys
} HM_KeyGroup;
#endif /* BRLTTY_INCLUDED_HM_BRLDEFS */
More information about the BRLTTY
mailing list