InkScape III

Interaktive Arbeitsblätter

k23/boerse.pic/iapuz01.jpg

Mit InkScape kann man Lernpuzzles sehr schnell erstellen:

  • ein Dreieck bzw. Sechseck mit entsprechend ausgerichteten Textdummys erzeugen,

  • genügend viele davon zu einer Lösungsfigur zusammenschieben,

  • die Dummys an jeder Stoßkante durch Aufgaben/Lösung-Paare ersetzen,

  • die übrigen Textdummys ggf. löschen,

  • ausdrucken - laminieren - ausschneiden - fertig!

Der letzte Schritt ist mit Abstand der zeitaufwendigste, da man je nach Gruppenstärke von jedem Puzzle gleich mehrere anfertigen muss. Diesen Schritt kann man sich sparen, wenn man InkScape auch zum Lösen der Puzzles einsetzt. Dazu sind noch nicht einmal viele Kenntnisse in InkScape nötig - AutoHotKey hilft über die wenigen kleinen Hürden.

Wenn Sie der ganzen Sache nicht besonders trauen, empfehle ich einen ganz unverbindlichen Test:
Installieren Sie InkScape auf Ihrem Rechner, laden Sie eines der Interaktiven Puzzles und lösen Sie es. Sie werden sehen, das Herumschubsen von Puzzleteilen am Bildschirm ist keine besonders schwierige Aufgabe.
Jetzt stellen Sie sich vor, Sie fordern Ihre Schüler auf, InkScape zu starten, die Puzzle-Datei zu laden und die Aufgaben zu lösen. Wie viele Ihrer Kids werden das genau so tun, wie Sie es erwarten? Wie viele werden statt dessen lieber mit InkScape herumspielen oder sich durch ungewollte Klicks in den Tiefen des Programms verlaufen?

Hier kommt AutoHotKey ins Spiel.

k23/boerse.pic/iapuz02.jpg

Im Idealfall doppelklicken die Schüler nur auf eine ahk-Datei und dann:

  • erscheint ein kleines Hinweisfenster (erstes Bild), dass man warten soll, bis die ersten Puzzleteile erscheinen,

  • wird InkScape geladen und öffnet automatisch die vorgesehene Datei,

  • verschwindet nach dem Klick auf [OK] die InkScape-Oberfläche und das gesamte Puzzle wird maximal groß dargestellt.

  • Die Puzzleteile schnappen beim Verschieben automatisch aneinander.

  • Ggf. kann die mitgestoppte Zeit angezeigt werden.

  • Nach dem Lösen kann das Ergebnis mit einem Blick kontrolliert werden.

k23/boerse.pic/iapuz03.jpg

Damit das wirklich so funktioniert, müssen auf den Schülerrechnern die Programme

  • InkScape (ab Version 1.2) und

  • AutoHotKey (ab Version 2.03)

ordnungsgemäß installiert worden sein. Beide Programme sind kostenlos und schon seit vielen Jahren etabliert.

Falls Sie auch Puzzles mit verdrehten Teilen nutzen wollen, muss auf dem Rechner neben dem deutschen Tastaturlayout auch das US-englische Original installiert sein. Das ist bei einer normalen Windows-Installation eigentlich der Fall. Test:
Wenn Sie bei gedrückter Windows-Taste die Leertaste betätigen, wird zwischen den beiden Tastaturen umgeschaltet.

Falls das nicht passiert, müssen Sie die US-Tastatur nachinstallieren (Heise), eine sehr gute Anleitung finden Sie auf den Seiten des Heise-Verlags. Alternativ können Sie das Komplettpaket nutzen.



Ist AutoHotKey gefährlich?

Nein!!!

Durch die Installation des Programms wird Ihr Windows erweitert. AutoHotKey wird ab dann bei jedem Rechnerstart geladen und sitzt einfach im Arbeitsspeicher und tut zunächst einmal nichts.

Erst, wenn eine passende ahk-Datei durch Doppelklick (wie ein Programm oder eine cmd-Datei) gestartet wird, passiert etwas. Was genau passiert, können Sie wie bei einer cmd-Datei vor dem Start nachlesen, denn die ahk-Dateien liegen als offener Text vor, es gibt keine versteckten Trojaner o.ä., die auf Ihrem Rechner Schaden anrichten könnten.

Dennoch sollten Sie beim Einsatz fremder ahk-Dateien ein gewisses Maß an Vorsicht walten lassen und zumindest mal einen Blick auf die Datei riskieren, denn sonst könnte Ihnen jemand z.B. einen Keylogger unterschmuggeln, der alle Ihre Tastenanschläge speichert und so ggf. Passwörter etc. ausspäht.



Ein Puzzle spielen

k23/boerse.pic/iapuz04.jpg

Wenn Sie sich für ein Puzzle aus der Tauschbörse entschieden haben, klicken Sie mit der rechten Maustaste auf die Zip-Datei und wählen Sie aus dem Kontextmenue ›Ziel speichern unter…‹. Speichern Sie sie die Datei in dem Ordner, auf den die Schüler Zugriff haben.

Wechseln Sie in diesen Ordner, klicken Sie mit der rechten Maustaste auf die heruntergeladene Zip-Datei und wählen Sie diesmal aus dem Kontextmenue ›Öffnen‹. Sie sehen dann in einem neuen Fenster zwei Dateien, die Sie jetzt in den Ordner auspacken müssen, in dem die Zip-Datei liegt. Nach dem Auspacken finden sich in dem Ordner drei Dateien mit gleichem Namen, aber unterschiedlichen Endungen (.zip, .svgz und .ahk). Die Zip-Datei kann nach dem Auspacken gelöscht werden.

Die Schüler müssen diesen Ordner öffnen und dann die zum Puzzle gehörende AutoHotKey-Datei doppelklicken.

Wenn ein Schüler versehentlich die InkScape-Datei doppelklickt, ist das nicht weiter schlimm. Das Puzzle wird von InkScape geladen und angezeigt - mehr passiert nicht. Abhilfe schaffen das Beenden von InkScape und ein Doppelklick auf die richtige Datei. (Auf den meisten Schülerrechnern sollte die InkScape-Datei gar nicht angezeigt werden, da sie mit den Attributen ›readonly‹ und ›hidden‹ versehen ist.)


Beispiele für ein einfaches AHK-Script

Eine AutoHotKey-Datei ist so etwas ähnliches wie eine Windows-Command-(cmd)-Datei nur dass sie beim Aufruf nicht von Windows sondern vom im Speicher vorgeschalteten AutoHotKey ausgeführt wird. Ein kurzes Beispiel :

#Requires AutoHotkey v2.0
_wdatei:="ia_tri_subtraktion_04.svgz"; nur diese Zeile muss für ein anderes Puzzle angepasst werden
SetWorkingDir A_InitialWorkingDir
run _wdatei, , "Max"
Result := MsgBox("Warte, bis die Puzzleteile am Bildschirm angezeigt werden `nund sich sonst nichts mehr tut, `nund klicke dann mit der Maus auf ›OK‹!", , 262144)
; jetzt wartet AutoHotKey, bis auf 'OK' geklickt wurde
; InkScape-Oberfläche verstecken
send "{F11}" "+{F11}"
sleep 3000 ; kann u.U. kürzer sein

; Puzzleteile maximal groß am Bildschirm darstellen
send "{ESC}" "F1" "^a" "3" "{ESC}"

; A. Bergkemper, 07/2023

Erläuterung der einzelnen Befehle
- Zeile 2 legt die zu spielende InkScape-Datei fest
- Zeile 3 legt das Arbeitsverzeichnis fest, hier der Ordner, in dem das ahk-Script liegt
- Zeile 4 startet InkScape maximiert zusammen mit der Puzzle-Datei aus Zeile 2
- Zeile 5 gibt eine dreizeilige Meldung aus, dass man ein wenig warten soll, bevor man auf [OK] klickt

Alle bisher in der Tauschbörse Unterricht veröffentlichten Interaktiven Puzzles sollten sich mit dieser *.ahk-Datei starten lassen, es muss nur jeweils die zweite Zeile (_wdatei:=…) angepasst werden, in der die zu spielende InkScape-Datei zwischen den beiden Anführungszeichen festgelegt wird. InkScape muss regulär installiert worden sein, damit die ‚run‘-Anweisung das Programm starten kann.

Die weiteren Zeilen schicken nacheinander Tastenanschläge an InkScape und sorgen so dafür, dass der Bildschirm maximiert wird, die Programmoberfläche verschwindet und die zu verschiebenden Teile den vorhandenen Bildschirmplatz maximal nutzen. (Wenn man zu früh auf [OK] klickt, sendet AutoHotKey die vorprogrammierten Tastenanschläge, bevor InkScape geladen und aktiv ist. Sie landen dann im Nirwana und InkScape bekommt davon nichts mit.

… und ein umfangreiches AHK-Script

Wenn man sich die Dokumentation von AutoHotKey betrachtet, wird schnell klar, dass dieses Programm sehr viel mehr kann als nur Tastenanschläge an Programme zu schicken. AutoHotKey macht süchtig und ich habe nach vielen Experimenten eine Reihe von Erweiterungen in das einfache Puzzlescript aufgenommen und die ganze Sache zu einem allgemeinen Tool umgebaut, das auch von anderen Interaktiven Arbeitsblättern benutzt werden kann.

Ab Mai ‚23 besteht das zu einem Puzzle gehörende ahk-Script nur noch aus (mindestens) den ersten vier Zeilen des nachfolgenden Beispiels:

#Requires AutoHotkey v2.0
_wdatei :="gewichte_01r.svgz" ; welches Puzzle soll geladen werden?
_winkel := 60                             ; wie stark wird ein Puzzleteil ggf. gedreht (30, 60, 120)
#include <puzzletools>

; ab hier optional
; Beschreibung
_filediz := "Deine Aufgabe:`n"
_filediz .= "`n"
_filediz .= "Du sollst ein Puzzle lösen, bei dem es um ›Gewichte‹ geht.`n"
_filediz .= "Die passenden Stoßkanten ergeben zusammen immer 1kg.`n"
_filediz .= "`n"
_filediz .= "`nBeispiel:    400g und 600g ==> 1000g   ==> 1kg`n"
_filediz .= "`nEinige Puzzleteile müssen gedreht werden."
k23/boerse.pic/how2puzzle.png

Der ›#include‹-Befehl sucht nach einer Datei ›puzzletools.ahk‹ und wird dann durch diese ersetzt. Aus den vier Zeilen werden dadurch (zurzeit) mehr als 300 Zeilen, nebenstehendes Bild, das von dem neuen Script als Help-Screen angezeigt wird, zeigt einige der erweiterten Möglichkeiten.

Alle Puzzles sind inzwischen auf die neue Version umgestellt. Falls Sie eins testen wollen, dass noch nicht mit den Puzzletools arbeitet, ersetzen Sie einfach die mitgelieferte ahk-Datei durch eine neue, die aus genau vier Zeilen bestehen muss (siehe etwas höher). Die Zeilen 8-13 können Sie entsprechend anpassen, wenn Sie zu Beginn in dem blauen Fenster eine zusätzliche Beschreibung wünschen.

Außer einigen HotKeys und zwei Hilfebildschirmen wurde in die Puzzletools ein Timer eingebaut, den ich im AutoHotKey-Forum gefunden habe. Dieser Timer beginnt zu laufen, sobald das Puzzle maximal groß angezeigt wurde, nachdem man auf das Anfangs-‚OK‘ geklickt hat. Wenn eine Beschreibung (_filediz) existiert, wird der Timer nach dem Wegklicken des Fensters noch einmal neu gestartet.

Wichtiger Hinweis:
Fast alle Tasten, die beim Puzzlen nicht benötigt werden, dafür aber beim normalen Gebrauch von InkScape irgendeine Reaktion auslösen könnten, die jetzt beim Puzzlen aber unerwünscht ist, werden durch das Script blockiert. Wenn also nach dem Spielen eines Puzzles bei Ihnen viele Tasten nicht mehr funktionieren, müssen Sie nur mit »Alt-q« das Puzzlescript beenden.

Die jüngste Erweiterung ist ein Protokoll, in dem festgehalten wird
- welche Datei bearbeitet wurde,
- die Startzeit und
- die Endezeit (dahinter die Zeit, die seit Beginn des Puzzles verstrichen ist).

Der letzte Eintrag kann mehrfach erfolgen.

Zu den Puzzletools gehören zurzeit neben der ahk-Datei noch vier PNG-Dateien.

Um diese Puzzletools zu nutzen, müssten Sie sie jeweils in den Ordner kopieren, in dem Sie ein Puzzle ausgepackt haben - oder Sie legen sie so ab, dass sie automatisch gefunden werden.
Der Inhalt der Zip-Datei muss dazu in den Ordner »Dokumente« kopiert werden. Sie haben alles richtig gemacht, wenn
- im Ordner »Dokumente« ein Ordner »Autohotkey« existiert,
- in diesem Ordner »Autohotkey« ein Ordner »Lib« auftaucht und
- in diesem Ordner »Lib« die vier Bilder und die ahk-Datei ›puzzletools.ahk‹ erscheinen.

AutoHotKey sucht beim Ausführen des include-Befehls die zugehörige Datei zunächst im Ordner, in dem das Script gestartet wurde. Findet es die Include-Datei dort nicht, versucht es den o.a. Ordner.

puzzletools.zip


Eine ›gedrehte Version‹ selbst erzeugen

Packen Sie dazu ein beliebiges InkScape-Puzzle aus der Tauschbörse in einem leeren Ordner aus, ersetzen Sie die ahk-Datei durch die vier Zeilen oben und passen Sie die Zeilen 2+3 entsprechend an. Danach starten Sie die neue ahk-Datei, verdrehen beliebig viele Puzzleteile und speichern die jetzt veränderte InkScape-Datei unter einem neuen Namen (ich benutze immer alternamer.svgz).

Achten Sie beim Verdrehen darauf, dass alle Einträge auf allen Teilen sichtbar bleiben! Ggf. müssen Sie einige Teile etwas verschieben, bevor Sie die endgültige Version der Datei speichern.
Zuletzt braucht es noch eine neue ahk-Datei, in der der neue Dateiname entsprechend geändert werden muss.



Probleme

Zunächst einmal, ganz so leicht wie ich Sie mit dem ersten Abschnitt dieses Kapitels Glauben machen will, ist die Geschichte leider doch nicht. Der Lehrer sollte schon einige Zeit mit InkScape herumgespielt haben, um bei auftretenden Problemen schnell und sicher helfen zu können. Vorzugsweise sollte er selbst Puzzles erstellt oder zumindest einige gelöst haben.
Es können nämlich einige Ungereimtheiten auftreten, die einem den Spaß kräftig verleiden und bei den Schülern Frust erzeugen können, wenn

  • Schüler einen Anfasser erwischen und ein Puzzleteil dadurch verformen anstatt es zu verschieben,

  • sie eine falsche Taste drücken und InkScape damit in einen anderen Modus schalten,

  • sie das Spielfeld verschieben, weil der Mauszeiger zu weit aus dem Bildschirm rutscht, und dieser auf einmal leer ist,

  • die Puzzleteile überhaupt nicht einrasten wollen,

Wer InkScape kennt, kann in den ersten beiden Fällen mit Strg-z (ggf. mehrfach) solche Schäden leicht reparieren, denn InkScape hat eine sehr lange Undo-Liste. Beim verschobenen Bilschirm helfen

  • die Taste ‚5‘ (zeigt die ganze Seite an) oder

  • die Tastenfolge Strg-a, ›3‹, Esc (zeigt alle Puzzleteile an) oder besser

  • Alt-z oder auch nur einfach ‚z‘ (wie zuvor, wenn der entsprechende (Auto)HotKey definiert ist)

Das Einrastproblem löst man ggf. mit ›%‹ (Shift-5 im Buchstabenbereich). Mit ›%‹ wird das Einrasten ein- bzw. ausgeschaltet. Ohne automatisches Einrasten funktioniert die Lösungskontrolle nicht sauber.

Wenn der Lehrerplatz an einen Beamer angeschlossen ist, sollte beim ersten Durchgang das Lösen eines Puzzles mal exemplarisch langsam vorgeführt werden. Dabei können dann auch gleich einige möglische Fehler gezeigt und dadurch vermieden werden.
Ich würde an dieser Stelle auch gleich den eingebauten Timer vorführen, denn das dürfte bei vielen Schülern eine kleine Herausforderung erzeugen - man könnte ja schneller als der Lehrer sein …

Je nachdem wie InkScape auf dem Schülerrechner bei der letzten Sitzung beendet wurde, kann es passieren, dass beim Öffnen der Datei ein oder mehrere Andockfenster auftauchen. Diese sollte man vor dem Klick auf das erste »OK« schließen, da sie beim Puzzlen bestenfalls stören. Mir ist leider kein Tastenbefehl bekannt, der alle geöffneten Andockfenster schließt, sonst hätte ich ihn in das ahk-Script aufgenommen. F12 schaltet sie ein/aus.

Drehen von Puzzleteilen
Das Drehen wird bei InkScape durch die eckigen Klammern ausgelöst: ›[‹ dreht das ausgewählte Teil um 15o nach links, ›]‹ dreht nach rechts.

Auf der deutschen Tastatur erreicht man die eckigen Klammern mit Alt-Gr-8 und Alt-Gr-9. Bei InkScape-Versionen bis 1.1 lassen sich ausgewählte Objekte damit wie gewünscht drehen - bei jüngeren Versionen geht das so leider nicht mehr. Hier kommt bei InkScape scheinbar ›eine zusätzlich gedrückte Alt-Taste‹ an, was bewirkt, dass sich das Teil nur um einen Bildschirmpixel dreht, abhängig von der eingestellten Vergrößerung.

Auf der US-Tastatur liegen die beiden eckigen Klammern auf den Tasten rechts neben dem ›P‹ und das Drehen von ausgewählten Teilen funktioniert damit in allen InkScape-Versionen. Schaltet man die Tastaturbelegung auf ‚US-Englisch‘ um, klappt das Drehen mit den eckigen Klammern (jetzt über die Tasten ›Ü‹ und ›+‹) wie vorgesehen.



Ein Komplettpaket zum Testen

Für den Fall, dass das Drehen von ausgewählten Puzzleteilen nicht funktioniert oder Sie InkScape nicht auf Ihrem Rechner installieren wollen, kann man eine Version InkScape 1.1 (zusätzlich) in den Ordner \inkscape_11\ kopieren und eine angepasste Version puzzletools.ahk benutzen, die auf diese Version zugreift.

Ein fertiges Paket biete ich hier zum Download an, es enthält auch gleich über 140 fertige Beispiele aus mehreren Bereichen.
Ersetzen Sie die Datei puzzletools.ahk im Ordner »Dokumente\Autohotkey\Lib« durch die ›passende‹ und packen Sie das Testpaket im Wurzelverzeichnis auf C:\, D:\, E:\ oder F:\ aus. Sie können dafür auch einen USB-Stick verwenden. Wenn AutoHotKey v2 auf Ihrem Rechner installiert ist, sollte das Puzzle geöffnet werden, wenn Sie einfach auf eines der Beispiele aus dem Puzzle-Ordner doppelklicken.
InkScape-Puzzle-Testpaket (90MB)
Passende Puzzletools