AAClause / BrailleExtender

NVDA add-on that improves braille support
https://andreabc.net/projects/NVDA_addons/BrailleExtender/
GNU General Public License v2.0
16 stars 17 forks source link

Broken cells feature #38

Open AAClause opened 4 years ago

AAClause commented 4 years ago

Goal: declare a list of cells that don't work. These cells should be always blank/ignored.

E.g.:

DrSooom commented 4 years ago

To avoid confusion, I suggest to give the user the choice between ⠀, ⡀, ⢀ and ⣀.

AAClause commented 4 years ago

Agree. And if we press a routing cursor button above a dead cell, we should emit a flash message like "Cell #7 is a dead cell". Or maybe just play a beep.

DrSooom commented 4 years ago

A beep is easier to implement, but not accessible for all braille users. Thus both (audio and haptic feedback) are required. Ergo: Beep sound on/off and flash message on/off.

There are just a few more things, we should talk about:

  1. Wording: "dead", "mort" and "tot" (EN/FR/DE) sounds a little bit too strange. I suggest "broken", "en panne" and "defekt".
  2. Location: First I thought about to locate the word of this flash message nearby the broken cell, but after thinking about this, I recommend to leave it on the very left side of the braille display (starting on the first braille cell), as all the other braille characters aren't visible during the appearance of the flash message. So it's clear where you have to look for the content of the flash message.
  3. The Hz value should be configurable, if we us just a single beep.
  4. Maybe two very short beeps with 440 Hz (A4) followed by 294 Hz (D4) are better. Then you know immediately, that this braille cell is disabled/broken. (The full correct Hz value for D4 is 293.665 Hz.)
AAClause commented 4 years ago

Thanks for these suggestions! It's OK for me. Regarding the length of the tones, what do you suggest? You can test tones using the NVDA Python Console (default gesture: NVDA+Control+z); don't hesitate to adjust values and experiment: import time, tones; tones.beep(440, 100); time.sleep(0.1); tones.beep(293.665, 100)

DrSooom commented 4 years ago

Well, my Hokema Kalimba B11 sounds much better then these beeps. 😉

A4-D4 is too low and E5-A4 too high. Thus I changed it from a fifth (Quinte, Quinte) to a third (Tierce, Terz) and arranged both notes around A4. So we have B4-G4 with a total time of 150 ms incl. a pause of 50 ms.

import time, tones; tones.beep(493.883, 50); time.sleep(0.05); tones.beep(391.995, 50)

Source: https://danielmayr.at/abc/noten.html (Take care on the decimal comma and the non-breaking spaces behind the Hz values, as this site is in German.)