nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Add Braille device button emulation to Braille viewer

Open seanbudd opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe.

Without a Braille device, Braille gestures cannot be tested using NVDA. This is because of how inputCore.registerGestureSource works.

Describe the solution you'd like

Braille gestures are configured on a braille device level, and as such, emulating input gestures is not possible with keyboard commands. To test braille consistently, it would be helpful to have a braille display driver to emulate braille keys using the Braille viewer.

Describe alternatives you've considered

Adding the ability to map Braille input gestures to keyboard commands.

Additional context

seanbudd avatar Jul 18 '22 03:07 seanbudd

script_braille_scrollForward was emulated on #13131 using the following patch, which triggers the script after a delay when the braille viewer is opened:

diff --git a/source/brailleViewer/brailleViewerGui.py b/source/brailleViewer/brailleViewerGui.py
index 33f3ead0a..a8bf947dc 100644
--- a/source/brailleViewer/brailleViewerGui.py
+++ b/source/brailleViewer/brailleViewerGui.py
@@ -451,6 +451,9 @@ class BrailleViewerFrame(
 			self._newCellCount = currentCellCount
 
 		self._triggerGuiUpdate()
+		import core
+		from globalCommands import commands
+		core.callLater(2000, commands.script_braille_scrollForward, "")
 
 	def _triggerGuiUpdate(self):
 		continuousTimerRunning = self._timer.IsRunning() and not self._timer.IsOneShot()

seanbudd avatar Aug 05 '22 01:08 seanbudd