Sprachausgabe via Raspberry am Rollstuhl - Problem mit MOUSEMOTION in PyGame

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo in die Runde,

    ich arbeite gerade an einer neuen, nutzerfreundlicheren Version der Sprachausgabe meines Kumpels.
    Da er nicht in der Lage ist zu sprechen, hilft ihm die Sprachausgabe im Alltag.

    Die neue Version soll das Auswählen der Sprachkategorie und des Sprachbefehls erleichtern.
    Wichtig ist hierbei, dass möglichst kein Mausklick notwendig ist.
    (Maussteuerung erfolgt via Bluetooth über den Rollstuhl Joystick,
    für einen Klick muss ein Button am Rollstuhl für 2 Sekunden gehalten werden)

    Meine Idee war daher, mit aktiven Bereichen in einer GUI zu arbeiten.

    289kcyg.png

    Sobald der Mauszeiger den linken Balken berührt, wird er in die Mitte des Displays zurück gesetzt und die Kategorie gewechselt.
    Durch Berührung des Mauszeigers des oberen und unteren Balken wird durch die Sprachbefehle gescrollt.
    Der rechte Balken startet den mplayer der eine WAV Datei mit dem Sprachbefehl abspielt.

    Das große Problem ist allerdings, dass auf dem Raspberry eine Berührung des Balken gleich mehrere Events auslöst.
    Der Sprachbefehl wird beispielsweise gleich 4x abgespielt.
    Öffne ich die GUI am Macbook, funktioniert es einwandfrei....

    Daher der meine bitte, ob ihr mal über den Code schauen könntet und
    einen Tipp für mich habt :)

    Vielen Dank vorab

    lg bigdane

    Einmal editiert, zuletzt von bigdane69 (1. Juli 2014 um 16:55)

  • Sprachausgabe via Raspberry am Rollstuhl - Problem mit MOUSEMOTION in PyGame? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Ich bin alles aber kein GUI Typ, würde aber den gleichen Ansatz gehen wie bei den Gpios, Softwaredebouncing. Sprich du startest und resettest ein Timer bei eventauslösung, so das der Event halt nur 1x ausgelöst wird.


    btw. Ich find es immer noch Super was du da für deinen Kumpel bastelst und wieviel Zeit du reinsteckst.

    Edit. Nun scheint Tapatalk gar keine Codetags mehr anzuzeigen :denker:

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (1. Juli 2014 um 18:16)

  • Das merkwürdige ist ja, ich setzte den Mauszeiger bei eintreten des Events sofort wieder in die Mitte und dennoch schmeißt er das Event mehrfach. Ich denke daher das ein Timer auch nicht weiter hilft...

  • Ich hatte ein ähnliches Phänomen mal bei der Joypad Abfrage gehabt.
    Irgendwie war da etwas mit pygame.event. Kann aber leider jetzt nicht viel dazu schreiben.

    Ich hätte aber eine Idee, wie man das Problem über Umwege lösen könnte. Ist ganz sicher nicht das eleganteste, könnte aber funktionieren. ;)

    Ist jetzt nur ein ganz stümperhafter Versuch von mir, sich dem Problem zu nähern. Jetzt sollte zumindestens die Sprachausgabe nur einmal ausgelöst werden.

    Bin zwar "rookie" was Python angeht, aber vllt. komme ich noch auf die Lösung, wenn ich das bei nächster Gelegenheit mal austeste.

    Beste Grüße!

    ...and write down with pencil&paper...
    Where can i download "pencil&paper" ?

    Einmal editiert, zuletzt von LieberScholli (2. Juli 2014 um 03:23)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!