The punctuation characters associated to A_PUNC in chartab are not replaced by a space (32) by Speakup even if the punctuation level = 0 (observed in kernel 5.16.11).
This can be mitigated by associating the relevant characters to PUNC instead.
For example, the simple quote character ' (39) is let unmodified by Speakup.
Once the following command lines are launched as root, the simple quote character is correctly:
- replaced by a space character if punctuation level < 3
- let unmodified if punctuation level = 3
CHARTAB=/sys/accessibility/speakup/i18n/chartab
grep A_PUNC $CHARTAB | while read line; do echo ${line%A_PUNC}PUNC > $CHARTAB; done
This has been checked under Slint using speechd-up and confirmed by another user (Debian 11, console based environment, csh).