Artikel

Keymapper 8“ (8 Zoll)

Grundüberlegung: • Benötigt wird ein autarkes Tastenfolge Eingabegerät, welches Treiber und Software frei operieren kann. • Handhabung und Anpassung an neu benötigten Tastenfolgen muss einfach gehalten sein. Marktanalyse: • Es gibt derzeit keine Eingabegeräte die frei zu Programmieren sind und völlig ohne Extra Software Arbeiten. • Geräte sowie das Stream Deck sind sehr teuer und die Anzeige der Tasten ist Software beschränkt. • Treiber bedingt, sind einige Lösungen NICHT mit verschiedenen Betriebssystemen Kompatibel. (Win7 / win10 / Linux / IOS / / MacOS / Android / Unix / …. Also selber machen ist die Lösung...



Am Anfang war die Frage/Idee: Was verschwende ich alles an Zeit dafür, dass ich immer genau das Gleiche mache?


Heute musste ich im Büro wieder Ordner-Strukturen neu anpassen. Ich hatte 75 Ordner mit je einer Datei drin. Jetzt sollte es nur noch einen Ordner geben mit allen Dateien drin.
Also: Quellordner öffnen -> Datei auswählen -> Ausschneiden -> Ziel Ordner im 2tem Fenster auswählen -> Öffnen -> Einfügen.
Super jetzt nur noch 74x das Gleiche…. Mist, verklickt, wo ist nun die Datei hin… sch… kann man das nicht irgendwie anders machen: Makro oder extra Software installieren geht ja nicht, denn es ist der Firmenrechner.

Zur Entspannung erstmal ein Online-Spiel. „Halt Vorsicht das...“ sch… Chat. Entweder das Schreiben dauert zu lange und ich konnte meinen Kollegen nicht mehr Warnen oder beim Schreiben wurde ich vom Gegner erwischt. Kann ich da nicht etwas machen das ich schneller schreiben kann? Makro oder extra Software wird ja als Cheat von meinem Spiel erkannt, auch wenn es ja keines ist. Besser kein VAC-Bann riskieren.

Nun zur einfachen Anwendung z.B. Bildbearbeitung: Jedes Mal suche ich nach dem passenden Tool, obwohl ich immer nur die gleichen Sachen benutze.
Gerade am Zeichnen, dann ins Menü -> unter Menü -> unter Menü anklicken, das 2te Kästchen anklicken. Bestätigen.
Mist, verrutscht, also wieder lange Stift ausrichten bis ich am gleichen Pixel bin wie vor dem Menü-Ausflug. Geht das nicht mit nur einem Klick?

Also, da muss man doch was kaufen können.


Grundüberlegung:
• Benötigt wird ein autarkes Tastenfolge-Eingabegerät, welches treiber/softwarefrei operieren kann.
• Handhabung und Anpassung an neu benötigten Tastenfolgen muss einfach gehalten sein.

Marktanalyse:
• Es gibt derzeit keine Eingabegeräte die frei zu Programmieren sind und völlig ohne Extra-Software arbeiten.
• Geräte so wie das "Stream Deck" sind sehr teuer und die Anzeige der Tasten ist durch die Produkt Software beschränkt.
• Treiber bedingt, sind einige Lösungen NICHT mit verschiedenen Betriebssystemen kompatibel ( Win7 / win10 / Linux / IOS / MacOS / Android / Unix / … ).



Nun weiß ich ja Bescheid, Fazit „Selbermachen“.

Zuerst brauche ich eine solide Grundlage, z.B. eine Entwicklungsplatine. Diese muss mit einem PC kommunizieren können. Dies muss natürlich auch preislich im überschaubaren Bereich liegen. Was ich nach langem Suchen und Foren durchwühlen schlussendlich in den Tiefen des Internets gefunden habe ist Arduino, genauer den Leonardo Pro Atmega32U4.

Dieser kann mittels dem Universelen Seriellen Bus ( USB ) Daten verschicken, und "DAS" losgelöst von Treiber und Software. Jetzt ein Touchpanel als Eingabeelement und die Basis ist da.
Als nächstes wird mit ein wenig Kabel löten und der Micro Controller Programmierungssoftware ( Arduino ) die Entwicklungsplatine mit dem Touchpanel verbunden und ausprobiert. Jetzt noch ein einfaches ausgedrucktes Bild dahinter, damit auch ein fest abgesteckter Bereich ( unsere neue Taste ) gedrückt werden kann.

Programmtechnisch sieht es dann so aus:
• Touchpanel wird in Reihen und Spalten aufgeteilt ( Matrix )
• der Matrix wird zugeordnet, was an den PC gesendet werden soll, wenn ein Segment ausgelöst wird
• wird ein Bereich ausgelöst, wo auch etwas hinterlegt ist, dann wird über die USB-Schnittstelle diese Abfolge gesendet


Hm, aber nur eine feste Vorlage für nur eine Anwendung... da geht doch noch mehr.

Das ausgedruckte Bild, welches hinter dem Touchpanel hinterlegt wurde, kann ja einfach ausgetauscht werden. zudem muss die Entwicklungsplatine ja auch wissen, dass ich nun auf eine andere Vorbelegung wechseln möchte. Also brauche ich noch ein Menüsystem und 2 einfache Taster um dieses zu bedienen.
ABER hier kommt das große Problem: Speicherplatz. Dieses Atmega32U4 IC hat nur wenig Platz ( 128kb ). Die Lösung ist hier: wir speichern wo anders und er nimmt sich nach Anforderung einfach was er braucht. Wir erweitern das System mit einem SPI Reader Micro Speicher SD-Modul, somit haben wir genügend Platz für etliche neue Vorlagen ( Keymaps ).

Programmtechnisch sieht es dann so aus:
1. Klick auf Taste "A1"
2. ( Software ) fragt die Matrix:, „ist da was hinterlegt?“
3. Matrix schaut auf das SD-Modul ob im aktuell ausgewähltem Eintrag des Menüs eine Taste hinterlegt wurde
4. Matrix antwortet: Ja
5. ( Software ) schaut auf das SD-Modul in die Keymap des aktuell ausgewählten Memüeintrages und sendet die hinterlegte Tastenfolge über USB an den PC


Zum Anzeigen des aktuellen Menüeitrages, kommt noch ein 0,91 Zoll OLED I2C Display zum Projekt hinzu.
Jetzt noch eine Feedbackanzeige ( LED ) die beim Senden ausgelöst wird und 745 Zeilen Programmcode später ist der Keymapper „Fertig“.

Naja, so ein Haufen Zeug mit viel Kabelgewirr kann man sich ja nicht hinstellen. Somit brauchen wir noch ein Gehäuse. Das geht super easy…. (Puhh, hätte ich vorher gewusst, was da alles an Zeit drauf geht ….)



Benötigte Arbeitsschritte:

Zeitaufwand in Minuten ______ Arbeitsschritt
60______ Anfertigung einer groben Skizze, Gehäusematerial Findung
40______ Bastelglas schneiden
30______ Einschub schneiden u. kleben
120_____ Display Positionierung finden
40______ Schnitt: Platte Bodenkasten/Displaysockel
150_____ Biegung: Platte Bodenkasten/Displaysockel
10______ Positionierung Logik-Platine
20______ Ausschnitt: USB-Führung im Displaysockel
70______ Ausschnitt: Seitenteile
80______ Nacharbeiten Seitenteile/Auflage
20______ SD-Platine Passform anpassen
20______ Ausschnitt: SD-Führung im Displaysockel
90______ Photoshop – Keypmap Gerüstbau
70______ Ausschnitt: Touchpanel-Auflage
30______ Montage / Nacharbeiten Touchpanel-Auflage
40______ Erstellung: Strom/Signallaufplan
80______ Lötarbeiten: Verkabelung Display-Touchpanel-Stecker
80______ Lötarbeiten: Schaltereinheit Erstellung u. Einbau
40______ Lötarbeiten: Signallampeneinheit Erstellung u. Einbau
60______ Konzeptfindung: Positionierung Display
40______ Biegung: Displaysockel
90______ Lötarbeiten: Verkabelung Schalter/LED
60______ Fehlersuche: SD-Slot ( defekt )
20______ Reparatur: SD-Slot Werksfehler ( Lötbrücke )
60______ Touchpanel Resistor Bestimmung + Anschluss
10______ Schnitt: Displayblende
30______ Biegung: Displayblende
150_____ Touchpanel Matrixaufbau, Fehlschlag: Panel defekt
60______ Neu-Touchpanel Resistor Bestimmung + Anschluss
60______ Auflage Display schleifen
90______ Einschub: Erstellung u. Montage
90______ Lötarbeiten: Display / Touchpanel
20______ Software: Ausspielung der Software. Testbetrieb
40______ Lötarbeiten: Modifikation AN/Aus-Schalter USB-Kabel
130_____ Endmontage Abschluss, Tests
2100____ => /60 = 35 Stunden Gesamtzeit




War ja gar nicht soo aufwändig, oder?


Und weil es so schön war, hab ich dann gleich mit der Software Programmierung angefangen.

Da mit dem Wechsel der Keymap, mal eben kurz, auch andere Tasten-Settings abgerufen werden können, aber das Erstellen der Anweisungsdatei (Für welche Keymapper Version ist die Keymap? Wie viele Tasten beinhaltet das Setting? Auf welcher Taste ist was zu tun? Was soll im Display als Menüeintrag erscheinen?) doch schon etwas aufwendiger ist, muss da eine Vereinfachung her.

Hier kommt nach weiteren 2 Wochen, eigentlich eher 16 Tage, aber wer zählt denn da jetzt noch die Zeit…, der „Keymap-Creator“.
Der liegt bequem direkt auf der SD-Karte und wird auch dort benutzt. Er erzeugt Anweisungsdateien oder bearbeiten diese, mit einer sehr vereinfachten Darstellung der benötigten Anweisungen für den Atmega32U4 Chip. Somit wird aus: |wc6 save |wb0 |t2100 |wc6 ganz einfach : (Drücke>)[F5]save(Drücke>)[Enter](Warten)2100(Drücke>)[F5]

Da wir gerade dabei sind warum NUR Drücken und Warten…. Was ist denn mit:
AN/AUS- Modus oder
Halte gedrückt für Tastenkombinationen oder
kann man auch die Maus Tasten Klicken lassen oder
einem Touch-Modus Eingabebereich?

Tata, nun kann man:
(Wechsel>)
(Halte>)(lass_los>)(Alles_los_lassen)
(Maus_L)(Maus_M)(Maus_R)
| d480#650#220#350#.


Bereits erstellte Keymaps (durch Office, Paint, Photoshop usw.) werden automatisch erkannt und können mittels einfachen Ein- und Ausblenden als Vorlage des Eingabemusters benutzt werden. Somit entfallen auch die ständigen Fragen “Welche Taste war das?“ / “Wo lag die Taste nochmal?“

Jetzt heißt es nur noch “Was will ich überhaupt auf die Taste haben?“ und dann geht’s los.

JETZT heißt es aber

Ende


oder ….!?!

Meeple-Blau 01. April 2021 698 Gelesen Drucken