[BRLTTY] SPEAK_NEXT_WORD and word boundaries in Debian Trixie

Eric Scheibler email at eric-scheibler.de
Sat Jan 3 09:07:51 UTC 2026


Hello Dave,

Dave Mielke <Dave at mielke.cc> schrieb am 02.01.2026, 15:59 -0500:
> Okay, I looked back at the original code. It treated characters typical of an identifier (letters, decimal digits, and an underscore) as a word and would skip over any group of those. For any non-identifier character it'd go one character at a time.
> 
> We could have a setting to switch between these two ways. If we go that route then we could add even more ways to define what a word is.

My shell (zsh) offers the following setting in its config file:

    # define, which non alphanumeric characters should contain to a word
    WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'

That's the same idea but inverted. Above I define, which chars I want to include among letters and digits into the
part-of-word definition.

I'd suggest to include this in the brltty.conf. But you also could go with your definition above and extend the delimiter list.

> Another approach would be to have two sets of commands. In other words, a regular press would do it the old way and a long press would do it the new way (i.e. skip all the way to a whitespace boundary). With this approach we could still add a setting to decide which one is the regular press and which one is the lnng press.

I'm not sure what you mean with a long press. I thought about two new commands: SPEAK_PREV_BIG_WORD and
SPEAK_NEXT_BIG_WORD which would ignore the WORDCHARS setting and keep behaving like now.

Then I could define the following keyboard shortcuts:

        Tab + j     SPEAK_PREV_WORD
Shift + Tab + j     SPEAK_PREV_BIG_WORD
        Tab + k     SPEAK_CURR_WORD
Shift + Tab + k     SPEAK_CURR_BIG_WORD
        Tab + l     SPEAK_NEXT_WORD
Shift + Tab + l     SPEAK_NEXT_BIG_WORD

In other words: If you don't set/change the WORDCHARS setting, SPEAK_NEXT_WORD and SPEAK_NEXT_BIG_WORD would behave the same.

Cheers
Eric


More information about the BRLTTY mailing list