1

Thema: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

hallo zusammen!
Ich habe mir ein praktisches Skript geschrieben, von dem ich total begeistert bin. Mit diesem Skript kann man das MouselessBrowsing von Firefox komfortabel über Dragon bedienen.mich hat es immer etwas genervt, dass ich Internetseiten mit Formularen, zum Beispiel beim online Banking oder online Shopping nicht so richtig mit Dragon bedienen konnte. Wenn nämlich der Cursor in einem Textfeld war und ich ohne Fokuswechsel einen bestimmten Link aufrufen wollte, so musste ich Immer Show numbers plus zu Hilfe ziehen ( was den zusätzlichen Befehl "Show Numbers" erforderlich machte)denn wenn man das Mouseless Browsing per Voice aus einem Textfeld heraus bedient, so erscheint im Textfeld z.B. "Str 40", aber es wird nicht der Link geöffnet, der sich hinter der 40 verbirgt.*nerv*

mein Skript Funktioniert nun folgendermaßen:
Zuerst muss man in Firefox beim MouselessBrowsing einstellen, das man Mouseless Browsing exklusiv über das Numpad bedienen möchte.
Mein Skript nutzt dann die Windows Keycodes für das Numpad. man braucht insgesamt 3 Skripte, eines für einstellige Ziffern(test<0bis9>), eines für zweistellige Ziffern(test <0bis9><0bis9> und eines für dreistellige Ziffern(test<0bis9><0bis9><0bis9>. das Skript habe ich "test" genannt, weil Test ein kurzes Wort ist, das man ohne weiteres beim Surfen vor dem Klick eines Links aussprechen kann.
hier beispielhaft der Code für einen Link mit einer zweistelligen Ziffer:

Declare Function keybd_event Lib "user32.dll" (ByVal vKey As _

Long, bScan As Long, ByVal Flag As Long, ByVal exInfo As Long) As Long

Dim numpad As Integer
Sub Main
diramt = ListVar1


diramt = diramt +96
keybd_event(diramt,0,0,0)
diramt = ListVar2
diramt = diramt + 96
keybd_event(diramt,0,0,0)
keybd_event(diramt,0,2,0)
diramt = ListVar1
diramt = diramt + 96
keybd_event(diramt,0,2,0)
End Sub

ich habe natürlich keine Ahnung, ob ich das nicht etwas umständlich programmiert habe. Ich habe mich immer noch nicht so wirklich in VB eingearbeitet big_smile wenn ihr also Refactoring- Vorschläge habt, bin ich keinem böse;-)

2

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Nice work Suzanne, glad to see you now contributing scripts, keep it up :-)

Lindsay

3 Zuletzt bearbeitet von Sandra.H.H (13.06.2016 13:39:29)

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Ab der Version 11 wird die Navigation in Firefox jedenfalls teilweise über die für den Internet-Explorer bekannten DNS-Befehle (LINK ..., BILD ..., Text eingeben usw.) unterstützt, alternativ und teilweise etwas vollständiger läßt sich Mouseless Browsing aber auch in den neueren FF-Versionen bis zur Ausgabe 46.0 mit untenstehendem Skript verwenden. Die Aussprache der gewünschten Zahl (i.e. der gewünschten ID -Zahl in MouselessBrowsing-Notation) auf der bereisten Internet-Seite ist bereits der Befehl. Dementsprechend ist als Befehlsname die Liste selbst einzutragen

<0-999>

und mit den entsprechenden Zahlen

0
1
2
.
.
.
999


vollständig zu versehen (für den normalen Gebrauch reicht wahrscheinlich auch eine Liste <0-500>). Vgl. Bild.

Alternativ kann man den reinen Zahlen auch noch ein Kennwort voranstellen (z. B.  "Number" oder "Numero"

NUMBER <0-500>





Declare Function keybd_event Lib "user32.dll" (ByVal vKey As _
Long, bScan As Long, ByVal Flag As Long, ByVal exInfo As Long) As Long
Const VK_CTRL = 17
Const VK_NUMPAD = 96
Sub Main
spoken_id_number = ListVar1
num_digits = Len(spoken_id_number)
keybd_event(VK_CTRL,0,0,0)
For i = 1 To num_digits
single_digit = Mid(spoken_id_number, i, 1)
keybd_event(VK_NUMPAD+single_digit,0,0,0)
keybd_event(VK_NUMPAD+single_digit,0,2,0)
Next
keybd_event(VK_CTRL,0,2,0)
End Sub


Innerhalb der MB-Einstellungen auch hier auswählen, NUMPAD exklusiv für MB zu reservieren (vgl. Anh.). LISTVAR1 läuft von 0 bis 999, die Aufloesung in Digits führt zu einer schnellen und präzisen Umsetzung. Funktioniert seit jeher tadellos.

MhG Sandra


EDIT 110616 – Die oben vorgestellte Variante erlaubt es, die jeweiligen mit Mouseless Browsing erzeugten IDs über die normale Aussprache von Zahlen aufzurufen. Lautet die ID zum Beispiel 201, formuliert man ganz normal "ZWEIHUNDERTEINS" und nicht "Zwei Null Eins".

Bitte auch die weiter unten nachgetragenen Anhänge III und IV zu denMouselessBrowsing-Einstellungen beachten.

Beitrags-Anhänge

DNS mit FIREFOX und MouselessB.JPG 87.64 kb, 2 Downloads seit 2016-06-10 

Mouseless Browsing Einstellungen I.JPG 83.98 kb, 1 Downloads seit 2016-06-13 

MouselessBrowsing Einstellungen II.JPG 66.96 kb, 1 Downloads seit 2016-06-13 

Sie haben nicht die Berechtigung, um diese Datei herunterzuladen.

4

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Hallo Sandra.H.H (und alle, die ihre Kreationen im Forum bereitstellen möchten),
es ist wohl heutzutage üblich, schlampig recherchierte, programmierte oder kommentierte Erzeugnisse und Erkenntnisse der geneigten Öffentlichkeit voller Stolz und ungeprüft zu präsentieren - diese Praxis darf aber nicht für unser Forum gelten.

Deshalb, bitte schön:
- beschreibt verständlich, wofür die Sprachbefehle gedacht sind, was sie bewirken
- gebt einen Befehlsnamen an (als Muster und Vorschlag)
- gebt an, für welche Anwendung der Sprachbefehl gilt
- und testet den Sprachbefehl mal selber.

Zu SandraH.H.s Lösung:

Da ListVar per definitionem einstellig ist, sind die Zeilen

spoken_id_number = ListVar1
num_digits = Len(spoken_id_number)
...
For i = 1 To num_digits

doch offensichtlich glatter Nonsens. Und der Ausdruck VK_NUMPAD+single_digit ist auch nicht ganz korrekt, da VK_NUMPAD numerisch und single_digit Zeichenkette ist (Mid-Funktion). Allerdings funktioniert es trotzdem, warum sei hier nicht erläutert.

Deshalb folgende Korrektur:

Declare Function keybd_event Lib "user32.dll" (ByVal vKey As _
Long, bScan As Long, ByVal Flag As Long, ByVal exInfo As Long) As Long
Const VK_CTRL = 17
Const VK_NUMPAD = 96
Sub Main
keybd_event(VK_CTRL,0,0,0)
For i = 1 To UtilityProvider.ContextValueCount
    single_digit = CLng(UtilityProvider.ContextValue(i-1))
    keybd_event(VK_NUMPAD+single_digit,0,0,0)
    keybd_event(VK_NUMPAD+single_digit,0,2,0)
Next
keybd_event(VK_CTRL,0,2,0)
End Sub

Für den angestrebten Zweck (dreistellige Zahlen) braucht man die drei Sprachbefehle
Test <0-9>
Test <0-9> <0-9>
Test <0-9> <0-9> <0-9>

Gesprochen werden muss z.B. "Test 1 2 3" und nicht etwa "Test 123" (einhundert ...!). 

Obigen Befehlscode kann man nun unverändert für alle drei Befehlsvarianten benutzen. Man schreibt den ersten Befehl und kopiert diesen dann zur zweiten und dritten Variante, lediglich der Befehlsname muss angepasst werden.

Um das Thema abzurunden: Für Mouseless Browsing wären auch ein paar Befehle zur Steuerung (Aktivierung etc,) sinvoll.
Aber das überlass ich der Community.

Gruß,Pascal

5

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Skript läuft seit den Tagen von Firefox 4 ohne Fehl und Tadel, die Kenntnis von MouselessBrowsing als seit Jahren führendem Addon zur alternativen Steuerung von und Bewegung in Firefox via Keyboard wird vorausgesetzt. Sollten Fragen im Hinblick auf spezielle Menüpunkte von MB bestehen, werden diese nach bestem Wissen und Gewissen und auf Basis der eigenen Arbeitspraxis beantwortet, im Übrigen sei auf die ausführliche Hilfe innerhalb von MB selbst verwiesen. MHG. Sandra

6

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Eine Ergänzung noch für all jene, denen die keyb_event-Funktion aus dem Windows-API zu kryptisch vorkommt. Ich hab auch keine Ahnung, warum der Erst-Verfasser des Skriptes meinte, sie verwenden zu müssen.
Man kann statt dessen ganz einfach die Dragon-Anweisung "SendDragonkeys" benutzen. Ich beziehe mich bez. der Einzelheiten auf meinen vorigen Beitrag.

Sub Main
strZ=""
For i = 1 To UtilityProvider.ContextValueCount
    strZ=strZ & "{NUM" & UtilityProvider.ContextValue(i-1) & "}"
Next
SendDragonKeys strZ
End Sub

Die numerische Tastatur wird bei SendDragonKeys mit {NUM1}... angesprochen (siehe "Scripting für Dragon NaturallySpeaking").

Gruß, Pascal

7

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

MouselessBrowsing-Einstellungen III und IV, Nachtrag zum Skript vom 10.6.

MhG Sandra

Beitrags-Anhänge

MouselessBrowsing Einstellungen III.JPG 77.76 kb, 1 Downloads seit 2016-06-13 

MouselessBrowsing Einstellungen IV NUMPAD.JPG 62.74 kb, 2 Downloads seit 2016-06-13 

Sie haben nicht die Berechtigung, um diese Datei herunterzuladen.

8

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

P.Roch schrieb:

Hallo Sandra.H.H (und alle, die ihre Kreationen im Forum bereitstellen möchten),
es ist wohl heutzutage üblich, schlampig recherchierte, programmierte oder kommentierte Erzeugnisse und Erkenntnisse der geneigten Öffentlichkeit voller Stolz und ungeprüft zu präsentieren - diese Praxis darf aber nicht für unser Forum gelten.

...


(I) ... LISTVAR1 läuft von 0 bis 999, die Aufloesung in Digits führt zu einer schnellen und präzisen Umsetzung. Funktioniert seit jeher (i.e. seit 2010 auf vielen Rechnern) tadellos.
...
Die oben vorgestellte Variante erlaubt es, die jeweiligen mit Mouseless Browsing erzeugten IDs über die normale Aussprache von Zahlen aufzurufen. Lautet die ID zum Beispiel 201, formuliert man ganz normal "ZWEIHUNDERTEINS" und nicht "Zwei Null Eins".

(II) Der Ton macht die Musik.

(III) Die Auflösung der IDs in einzelne Ziffern (201 ist dann  "Zwei Null Eins" zu diktieren) funktioniert grundsätzlich auch und ist letztendlich eine Frage der eigenen Präferenz; in Hinblick auf die gelernte Navigation im Internet Explorer, wo Links über die normale Formulierung von Zahlen aufgerufen werden, muß man sich aber jedesmal umstellen. deswegen haben wir seinerzeit der "normalen" Sprechweise den Vorzug geben und sie in unser Skript eingebaut.

MhG Sandra

9

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Sandra.H.H schrieb:

(II) Der Ton macht die Musik.

Nichts für ungut, Sandra.H.H, in der ursprünglichen Fassung war von der Liste <0-9> die Rede, was mich zu den Einwänden veranlasste. Die nachträgliche Bearbeitung Ihres Beitrages macht diese Einwände selbstverständlich gegenstandslos.
Die generelle Aufforderung für sorgfältige Arbeitsweise halte ich aufrecht.
Gruß, Pascal

10 Zuletzt bearbeitet von Sandra.H.H (14.06.2016 12:17:45)

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Den größten Erkenntnisgewinn bringen doch immer die Diskussionen, die sich in evolutiven Schritten bewegen. Die Beifügung der gesammelten Einstellung von Mouseless Browsing selber ist in der Tat absolut sinnvoll, weil man sich bei den zahlreichen Parametern leicht verirrt. 

Mit der Summe seiner Möglichkeiten dürfte MB immer noch eine sinnvolle Ergänzung respektive Hilfe zur bequemen Navigation innerhalb von Firefox darstellen, weil sich im Gegensatz zur (deutlich verbesserten) Sprachsteuerung in Firefox mit Dragon NaturallySpeaking wirklich alles über die IDs aufrufen ist, manchmal werden die Seiten aber durch diese Omnipotenz von MB schon einmal unübersichtlich. Einzelne Anzeigeelemente lassen sich allerdings abschalten.

Besonderes Augenmerk innerhalb der Einstellungen von MB  verdient das vierte Register (Styles) dahingehend, daß sich die Schriftgröße der angezeigten IDs hierauf die eigenen Bedürfnisse einstellen läßt.

Weil wir die Schriftgröße mit der Standardeinstellung "xx-small" selbst bei einer Monitoreinstellungen von 1280 x 1024 als deutlich zu klein empfunden haben, haben wir den in der ersten Zeile ausgewiesenen Wert auf  "small" korrigiert:

"font-family:arial, sans-serif; font-size:-small; line-height:130%;"

X-small wäre die Zwischengröße.


MhG Sandra

Aus gegebenem Anlass sei an dieser Stelle noch einmal die Warnung wiederholt, nicht auf die neue Version 47 von Firefox upzudaten, weil MB mit mit diesem Release offensichtlich inkompatibel ist. Erfahrungsgemäß werden Updates für MB nur in großen Intervallen aufgelegt, sodass leider keine schnelle Besserung in Sicht ist.

MhG Sandra

11

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Sandra.H.H schrieb:

Aus gegebenem Anlass sei an dieser Stelle noch einmal die Warnung wiederholt, nicht auf die neue Version 47 von Firefox upzudaten, weil MB mit mit diesem Release offensichtlich inkompatibel ist.

Hallo, die Erfahrung habe ich auch machen muessen. Mich interessiert insbesondere, ob man mit MB auch die Tabs via ID ansteuern kann. Bisher hatte ich kein Glueck.

Könnten Sie mir sagen, mit welcher Firefox / MB Versionen-Kombination Sie da Glueck haben?

DNS 13 Premium auf Windows 7 (64-bit)
Logitech PC 960 Stereo Headset USB
Intel Core i5-4200U 1.6 GHz - 4 MB L3-Cache - 4 GB RAM

12 Zuletzt bearbeitet von Sandra.H.H (14.06.2016 18:22:20)

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Stimmt, das Problem kennen wir auch; trotz der Optionsauswahl "Show Tab IDs" werden die Zahlen jedenfalls in der letzten verfügbaren MB leider nicht zuverlässig angezeigt. Allerdings sind die jeweiligen IDs technisch hinterlegt, denn die einzelnen Tabs lassen sich (von links nach rechts) mit der NUMPAD-Tastenfolge  "01" für den ersten, "02" für den zweiten usw. Tab ansteuern. Mehr als neun Tabs zusammen sind allerdings nicht möglich.

MhG Sandra

13 Zuletzt bearbeitet von firefly (16.06.2016 12:00:41)

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Hier gibt es ja noch alte Versionen. Mit welcher hat es denn noch mit welcher FireFox-Version funktioniert? Weiß das noch jemand?

Edit: Mit dem VimFx Plugin habe ich Erfolg. Es wird auch aktiv entwickelt. Kann es nur empfehlen.

DNS 13 Premium auf Windows 7 (64-bit)
Logitech PC 960 Stereo Headset USB
Intel Core i5-4200U 1.6 GHz - 4 MB L3-Cache - 4 GB RAM

14

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

… Nachtrag zur Diskussion um MBrowsing und Firefox 47: der Entwickler hat gestern mitgeteilt, eine überarbeitete Version eingereicht zu haben in der Hoffnung auf schnelle Freigaben durch Mozilla.

MHG. Sandra

15 Zuletzt bearbeitet von Sandra.H.H (29.07.2016 15:32:47)

Re: Skripte zur komfortablen sprachgesteuerten Nutzung von Firefox

Was lange währt  ...

Die überarbeitete Version von Mouseless Browsing (0.57) ist seit etwa zwei Wochen "im Handel" und funktioniert reibungslos mit FF 47, allerdings erkennt die automatische Update- Funktion von Firefox ausgerechnet dieses Addon nicht  (zuverlässig) automatisch. Deswegen bitte die aktuelle Version über den Versionsverlauf des Addons innerhalb der Mozilla-Galerie aufrufen und von dort aus installieren. Gegebenenfalls das XPI-Modul über einen Rechtsklick der Maus über der Schaltfläche "zu Firefox hinzufügen" manuell herunterladen und installieren.

MhG Sandra