Hello, I confirm the fix for the test case. At first it didn't work for the issue with EFI3M. Looking at the differences, I tried to clear the screen even before moving the line up or down, cf. the attached patch, and that worked, thanks! However the behavior remains the same using espeakup in a console. On one hand this is not surprising as then Orca doesn't come into play. On the other hand I am still eager to know why. I am using the same version of espeak-ng in both cases. espeakup version O.80 and the espeak driver shipped in Linux 4.4.132, built-in. Best regards, Didier Le 09/07/2018 à 17:25, Joanmarie Diggs a écrit :
I just committed a change which causes your test case to be presented. I hope that fixes the underlying problem. On a related note: What app you're in with respect to the terminal (e.g. Nano or Vim or some mud or whatever) is not exposed to Orca via AT-SPI2. In addition, Orca does get a lot of bogus text-related events from the terminal widget. Thus Orca's terminal script has a bunch of heuristics trying to guess what is bogus versus what is not, and in the case of the non-bogus events, what all should be presented to the user. --joanie On 07/09/2018 08:46 AM, Didier Spaier wrote:Sorry, the test case below replace the one I just posted; <shell script begins> #!/bin/sh while [ 0 ]; do previous_tty_settings=$(stty -g) stty -icanon -echo KEY=$(dd bs=3 count=1 2>/dev/null) stty "$previous_tty_settings" case $KEY in "") exit ;; $'\x1B'[A) echo "You should hear something, key up" ;; $'\x1B'[B) echo "You should hear something, key down" ;; *) echo $KEY esac done <shell script ended> Le 09/07/2018 à 14:32, Didier Spaier a écrit :Hello, Short version: For the inpatients, here is a small shell script as test case: <shell begins> #!/bin/sh while [ 0 ]; do previous_tty_settings=$(stty -g) stty -icanon -echo KEY=$(dd bs=3 count=1 2>/dev/null) stty "$previous_tty_settings" case $KEY in "") exit ;; [A) echo "You should hear something, key up" ;; [B) echo "You should hear something, key down" ;; *) echo $KEY esac done <shell script ended> The bash-ism is used to enhance readability but you can replace $'\x1B' by an "escape" character inserted in the file: in your text editor, holding Ctrl+Shift press u, then press 1 then press b. In some editors you could need to press Enter after that. When you execute this script: 1) if you type a letter or another printable character it is both displayed and spoken. 2) If you press an "up" or "down" arrow key the text argument of the "echo" command is displayed but not spoken. Why? Long version: I am upgrading EFI3M, upcoming version here: http://slint.fr/testing/EFI3M It has many enhancements but one sound issue: If one want change the order of the boot entries in the menu the procedure is: 1. As root type "sh EFI3M". 2. Press C to Customize the boot menu (will be built if there was none). 3. Press O to change the boot Order. 4. Type the number of a boot entry to select it. 5. Use the up or down arrow keys to move this boot entry up or down. 6. Press Enter when it is at the good place. 7. Move other boot entries if need be, then press Enter. 8. Press C to confirm the changes, then Enter to quit EFI3M. Example of screen as displayed after step 4or 5: <screen begins below> Current menu: (sdb1)/EFI/Slint/elilo.efi (sdb1)/EFI/Slint/grubx64.efi (sdb1)/EFI/EFI3M/BOOTx64.EFI * (sdb1)/EFI/refind/gptsync/gptsync_x64.efi (sdb1)/EFI/BOOT/BOOTx64.EFI (sdb1)/EFI/refind/refind_x64.efi Use the arrow keys to move the selected boot entry up or down, press enter when you are done <screen ended above> This works, and the whole screen is always spoken when is it displayed after a "clear" command, but at step 5: the selected line is moved up or down using the arrow keys and this is displayed on the screen, but the redrawn screen of the terminal (using mate-terminal) is not spoken. If I do the same in console mode using espeakup, the same occurs but at each move only the very last line is spoken, so I hear: press enter when you are done. In Orca, in laptop mode using "read the whole document" I also hear only the last line. To hear the whole display on the terminal I need to use the "window flat review", which I'd rather avoid that users have to do. Any clue appreciated. PS I send this message also to the author of "C'est l'histoire d'un 'a' cf.: http://dept-info.labri.fr/~thibault/a.html https://github.com/alex/what-happens-when hoping as he could shed some light ;) Best regards, Didier _______________________________________________ orca-list mailing list orca-list gnome org https://mail.gnome.org/mailman/listinfo/orca-list Orca wiki: https://wiki.gnome.org/Projects/Orca Orca documentation: https://help.gnome.org/users/orca/stable/ GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html Log bugs and feature requests at http://bugzilla.gnome.org_______________________________________________ orca-list mailing list orca-list gnome org https://mail.gnome.org/mailman/listinfo/orca-list Orca wiki: https://wiki.gnome.org/Projects/Orca Orca documentation: https://help.gnome.org/users/orca/stable/ GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html Log bugs and feature requests at http://bugzilla.gnome.org
Attachment:
EFI3M.patch
Description: Text Data