Re: [HELP REQUESTED from the community] Was: Staging status of speakup

From: Okash Khawaja
Date: Sun Sep 08 2019 - 05:43:58 EST


Sorry, I have only now got round to working on this. It's not complete
yet but I have assimilated the feedback and converted subjective
phrases, like "I think..." into objective statements or put them in
TODO: so that someone else may verify. I have attached it to this
email.

Next step will be to convert the format to match Documentation/ABI/
requirements.

Thanks,
Okash

On Wed, Aug 21, 2019 at 11:23 PM Gregory Nowak <greg@xxxxxxxxx> wrote:
>
> On Wed, Aug 21, 2019 at 09:39:25AM -0700, Okash Khawaja wrote:
> > Hi Greg N,
> >
> > Would like to send this as a patch as Greg K-H suggested? If not, I
> > can do that with your email in Authored-by: tag?
> >
> > Thanks,
> > Okash
>
> Hi Okash and all,
> feel free to submit the patch with my email in the Authored-by:
> tag if that's OK. Thanks, and good luck on your presentation.
>
> Greg
>
>
> --
> web site: http://www.gregn.net
> gpg public key: http://www.gregn.net/pubkey.asc
> skype: gregn1
> (authorization required, add me to your contacts list first)
> If we haven't been in touch before, e-mail me before adding me to your contacts.
>
> --
> Free domains: http://www.eu.org/ or mail dns-manager@xxxxxx
> _______________________________________________
> Speakup mailing list
> Speakup@xxxxxxxxxxxxxxxxx
> http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup
attrib_bleep
Beeps the PC speaker when there is an attribute change such as
foreground or background color when using speakup review commands. One
= on, zero = off.

bell_pos
This works much like a typewriter bell. If for example 72 is echoed to
bell_pos, it will beep the PC speaker when typing on a line past character 72.


bleeps
This controls whether one hears beeps through the PC speaker when using
speakup's review commands.

bleep_time
This controls the duration of the PC speaker beeps speakup produces.
TODO: What are the units? Jiffies?

cursor_time
This controls cursor delay when using arrow keys. When a connection is very
slow, with the default setting, when moving with the arrows, or backspacing
etc. speakup says the incorrect characters. Set this to a higher value to
adjust for the delay and better synchronisation between cursor position and
speech.

delimiters
Delimit a word from speakup.
TODO: add more info

ex_num
TODO:

key_echo
Controls if speakup speaks keys when they are typed. One = on, zero =
off or don't echo keys.

keymap
Speakup keymap remaps keys to Speakup functins. It uses a binary format. A
special program called genmap is needed to compile a textual keymap into the
binary format which is then loaded into /sys/accessibility/speakup/keymap.

no_interrupt
Controls if typing interrupts output from speakup. With no_interrupt
set to zero, typing on the keyboard will interrupt speakup if for
example the say screen command is used before the entire screen is
read. With no_interrupt set to one, if the say screen command is used,
and one then types on the keyboard, speakup will continue to say the
whole screen regardless until it finishes.

punc_all
This is a list of all the punctuation speakup should speak when
punc_level is set to four.

punc_level
Controls the level of punctuation spoken as the screen is displayed,
not reviewed. Levels range from zero no punctuation, to four, all
punctuation. One corresponds to punc_some, two
corresponds to punc_most, and three as well as four both
correspond to punc_all. Some hardware
synthesizers may have different levels each corresponding to three and four
for punc_level. Also note that if punc_level is set to zero, and
key_echo is set to one, typed punctuation is still spoken as it is
typed.

punc_most
This is a list of all the punctuation speakup should speak when
punc_level is set to two.

punc_some
This is a list of all the punctuation speakup should speak when
punc_level is set to one.

reading_punc
Almost the same as punc_level, the differences being that reading_punc controls
the level of punctuation when reviewing the screen with speakup's
screen review commands. The other difference is that reading_punc set
to three speaks punc_all, and reading_punc set to four speaks all
punctuation, including spaces.

repeats
A list of characters speakup repeats. Normally, when there are
more than three characters in a row, speakup just reads three of those
characters. For example, "......" would be read as dot, dot, dot. If a
. is added to the list of characters in repeats, "......" would be
read as dot, dot, dot, times six.

say_control
If set to one, speakup speaks shift, alt and control when those keys are
pressed. If say_control is set to zero, shift, ctrl, and alt are not
spoken when they are pressed.

say_word_ctl
TODO:

silent
TODO:

spell_delay
This controls how fast a word is spelled when
speakup's say word review command is pressed twice quickly to speak
the current word being reviewed. Zero just speaks the letters one
after another, while values one through four seem to introduce more of
a pause between the spelling of each letter by speakup.

synth
Gets or sets the synthesizer driver currently in use. Reading synth
returns the synthesizer driver currently in use. Writing synth
switches to the given synthesizer driver, provided it is either built
into the kernel, or already loaded as a module.

synth_direct
Sends whatever is written to synth_direct
directly to the speech synthesizer in use, bypassing speakup. This
could be used to make the synthesizer speak a string, or to send
control sequences to the synthesizer to change how the synthesizer
behaves.

version
Reading version returns the version of speakup, and the version of the
synthesizer driver currently in use.

Synthesizer Driver Parameters
In `/sys/accessibility/speakup` is a directory corresponding to the
synthesizer driver currently in use (E.G) `soft` for the soft
driver. This directory contains files which control the speech
synthesizer itself, as opposed to controlling the speakup screen
reader. The parameters in this directory have the
same names and functions across all supported synthesizers. The range of
values for freq, pitch, rate, and vol is
the same for all supported synthesizers,
with the given range being internally mapped by the driver to more or
less fit the range of values supported for a given parameter by the
individual synthesizer. Below is a description of values and parameters for
soft synthesizer, which is currently the most commonly used.

caps_start
This is the string that is sent to the synthesizer to cause
it to start speaking uppercase letters. For the soft synthesizer and
most others, this causes the pitch of the voice to rise above the
currently set pitch.

caps_stop
This is the string sent to the synthesizer to cause it to
stop speaking uppercase letters. In the case of the soft synthesizer
and most others, this returns the pitch of the voice down to the
currently set pitch.

delay_time
TODO:

direct
Controls if punctuation is spoken by speakup, or by the
synthesizer. For example, speakup speaks ">" as "greater", while the
espeak synthesizer used by the soft driver speaks "greater than". Zero
lets speakup speak the punctuation. One lets the synthesizer itself
speak punctuation.

freq
Gets or sets the frequency of the speech synthesizer. Range is 0-9.

full_time
TODO:

jiffy_delta
This controls how many jiffys the kernel gives to
the synthesizer. Setting this too
high can make a system unstable, or even crash it.

pitch
Gets or sets the pitch of the synthesizer. The range is 0-9.

punct
Gets or sets the amount of punctuation spoken by the synthesizer. The
range for the soft driver seems to be 0-2.
TODO: How is this related to speakup's punc_level, or reading_punc

rate
Gets or sets the rate of the synthesizer. Range is from zero slowest,
to nine fastest.

tone
Gets or sets the tone of the speech synthesizer. The range for the
soft driver seems to be 0-2. This seems to make no difference if using
espeak and the espeakup connector.
TODO: does espeakup support different tonalities?

trigger_time
Don't know.

voice
Gets or sets the voice used by the synthesizer if the synthesizer can
speak in more than one voice. The range for the soft driver is
0-7. Note that while espeak supports multiple voices, this parameter
will not set the voice when the espeakup connector is used between
speakup and espeak.

vol
Gets or sets the volume of the speech synthesizer. Range is 0-9, with
zero being the softest, and nine being the loudest.