Re: [PATCH] speakup: Fix var_id_t values and thus keymap

From: Samuel Thibault
Date: Tue Nov 03 2020 - 09:32:23 EST


Ping?

This is a change that should got into 5.10, in the meanwhile the bug
(appeared in 5.8) is very inconvenient for users.

Samuel

Samuel Thibault, le lun. 12 oct. 2020 18:06:46 +0200, a ecrit:
> commit d97a9d7aea04 ("staging/speakup: Add inflection synth parameter")
> introduced a new "inflection" speakup parameter next to "pitch", but
> the values of the var_id_t enum are actually used by the keymap tables
> so we must not renumber them. The effect was that notably the volume
> control shortcut (speakup-1 or 2) was actually changing the inflection.
>
> This moves the INFLECTION value at the end of the var_id_t enum to
> fix back the enum values. This also adds a warning about it.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Reported-by: Kirk Reiser <kirk@xxxxxxxxxx>
> Reported-by: Gregory Nowak <greg@xxxxxxxxx>
> Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
> Tested-by: Gregory Nowak <greg@xxxxxxxxx>
> Fixes: d97a9d7aea04 ("staging/speakup: Add inflection synth parameter")
> ---
> drivers/accessibility/speakup/spk_types.h | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/accessibility/speakup/spk_types.h b/drivers/accessibility/speakup/spk_types.h
> index 7398f1196e10..91fca3033a45 100644
> --- a/drivers/accessibility/speakup/spk_types.h
> +++ b/drivers/accessibility/speakup/spk_types.h
> @@ -32,6 +32,10 @@ enum {
> E_NEW_DEFAULT,
> };
>
> +/*
> + * Note: add new members at the end, speakupmap.h depends on the values of the
> + * enum starting from SPELL_DELAY (see inc_dec_var)
> + */
> enum var_id_t {
> VERSION = 0, SYNTH, SILENT, SYNTH_DIRECT,
> KEYMAP, CHARS,
> @@ -42,9 +46,9 @@ enum var_id_t {
> SAY_CONTROL, SAY_WORD_CTL, NO_INTERRUPT, KEY_ECHO,
> SPELL_DELAY, PUNC_LEVEL, READING_PUNC,
> ATTRIB_BLEEP, BLEEPS,
> - RATE, PITCH, INFLECTION, VOL, TONE, PUNCT, VOICE, FREQUENCY, LANG,
> + RATE, PITCH, VOL, TONE, PUNCT, VOICE, FREQUENCY, LANG,
> DIRECT, PAUSE,
> - CAPS_START, CAPS_STOP, CHARTAB,
> + CAPS_START, CAPS_STOP, CHARTAB, INFLECTION,
> MAXVARS
> };
>
> --
> 2.20.1