Virtueller Ziffernblock

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo Leute,
    gestern habe ich mich ein wenige mit meinem RPi3 und dem RPi Touchscreen 8" rumgespielt.

    Soweit funktioniert alles, auch die vituelle tastatur... ich habe das matchbox-keyboard mal ausprobiert.

    Ich stelle jedoch fest dass das keboard doch recht viel platz frisst vom Display (vor allem da ich nur den Ziffernblock benötige).

    Nun ist die Frage, gibt es für die PI einen virtuellen Numbock, kann man matchbox evtl konfigurieren, dass nur die Ziffern eingeblendet werden oder eine andere Lösung?

    Deluxe Variante wäre natürlich wenn ich in ein Feld klicke dass dann der Numblock aufgeht (ähnlich wie beim Android).
    Danke Euch viele Grüße und bleibt gesund

  • Hi Tekkineo,

    ich habe mich mal 2016 im Rahmen eines stabilen Touchpanels auf unserem Faschingswagen mit dem matchbox-keyboard befasst. Auch ich musste das Tastaturlayout anpassen. Ich erinnere mich noch, dass man das in irgendwelchen Textdateien konfigurieren konnte. Es ist prinzipiell schon möglich und auch tatsächlich hinzubekommen, das Layout auf die Tasten eines Ziffernblocks zu reduzieren. Ich bin gerade in der Arbeit, kann aber bei Interesse Deinerseits abends mal genauer reinschauen.

    Links:

    github-Repository des damaligen Projektes "bauwong" (Erstversion von meinem yamuplay)

    PDF-Doku zum damaligen Projekt: Das Matchbox-Keyboard wird in Kapitel 3.3.5 (ab Seite 26) kurz angerissen

    Unterverzeichnis mit meinen matchbox-Dateien

  • schreibe hier einfach rein, wo's konkrete Probleme gibt. Dann werde ich mir die Punkte mal anschauen...

    EDIT:

    Zur "Deluxe-Lösung", die virtuelle Tastatur zu öffnen, wenn man in ein Textfeld klickt, kann ich auch nicht viel sagen. Da müssten die Linux-Füchse ran...

    In einer selbst geschriebenen (Python-)GUI kann man natürlich das GetFocus-Event abfangen und dann die Tastatur aktivieren. Ist aber nur eine Idee.

    Ich habe es 2016 über ein Desktop-Icon gelöst

  • Hi Schlizbäda!
    also ich hab mir das mal angesehen... ganz schlau werd ich aus dem pi und dem Keyboard nicht...

    ich habe matbox instaliert und das normale Layout habe ich am tft.

    ich habe mir dann das stammverzeichnis von matchbox angesehen - da ist mittlerweile ein Numpad drin (als bock) - für einen test auch ok...

    Ich las, dass man am pi einen Ordner .matchboxdatei anlegen muss und dort alle editieren kann bzw. reinkopieren soll
    https://www.raspberrypi.org/forums/viewtopic.php?t=122020

    das habe ich mal auch gemacht und ich habe den mitgelieferten numbock gesehen - der sieht eher nicht so dolle aus - brauch zuviel platz... ich denke das einfachste ist es eine Zeilte mit allen Zahlen zu realisieren...

    über nano habe ich dann auch versucht die Datei die ich in .matchbox hatte zu editieren - leider hat der nicht das angezeigt was ich wollte...

  • sodala,

    ich bin jetzt nochmals hergegangen und habe die Installation unter dem aktuellen Raspbian Buster Desktop full vom 13.02.2020 vorgenommen:

    1. Versuch:

    Die 0815-Installation über sudo apt-get install matchbox-keyboard funktioniert zwar, aber es wird die Uralt-Version V0.1 installiert! Damit funktioniert u.a. der Kommandozeilenparameter -s nicht, der in https://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/ beschrieben wird.

    2. Versuch:

    Installation gemäß https://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/

    Diese Installationsanleitung von 2016(!) funktioniert auch unter Buster immer noch :)

    hiermit wird immerhin Version 0.2 von matchbox-keyboard installiert, bei der u.a. wenigstens die Größeneinstellung mit dem Kommandozeilenparameter -s <percentage> funktioniert. Unter https://github.com/xlab/matchbox-keyboard fand ich die Version 1.5, die ich aber auf die Schnelle nicht zum Kompilieren brachte. Das liegt vermutlich mal wieder an meiner notorischen Linux-Noobhaftigkeit. :baeh2:

    Wo ist das Matchbox-Keyboard nach sudo make install installiert?

    which matchbox-keyboard

    /usr/local/bin/matchbox-keyboard

    XML-Konfiguration für Ziffernblock

    Verschiedene Beispiellayouts für Tastaturen befinden sich nach der Installation auf dem RPi unter /usr/local/share/matchbox-keyboard in Form von xml-Dateien, u.a. die Datei keyboard-numpad-small.xml. Davon eine Kopie erstellen:

    sudo cp /usr/local/share/matchbox-keyboard/keyboard-numpad-small.xml /usr/local/share/matchbox-keyboard/keyboard-numpad-schlizbaeda.xml

    Diese Kopie nacheditieren:

    sudo nano /usr/local/share/matchbox-keyboard/keyboard-numpad-schlizbaeda.xml

    Verwendung des neuen Keyboard-Layouts:

    matchbox-keyboard -s 25 numpad-schlizbaeda

    Dieses Kommando zeigt ferner, dass der Dateiname immer mit keyboard- beginnen muss und mit .xml endet.

    Meine Beispieldatei herunterladen und auf den RPi nach /usr/local/share/matchbox-keyboard kopieren...

    :auslachen: Ich musste die Datei *.xml.txt nennen, weil die Forensoftware sonst streikt. Nach dem Download wieder in *.xml umbenennen.

    Viel Erfolg!

  • Hi! Danke Dir schon mal!
    habe das alles grad ausprobiert - teilerfolg... ähnlich gestern... bis zu den letzten schritten ist alles ganz gut durchgelaufen und ich sah den Numblock auch auf dem Touchscreen.
    ich wollte dann mit

    Code
    sudo nano /usr/local/share/matchbox-keyboard/keyboard-numpad-schlizbaeda.xml

    das Layout anpassen und im ersten step testen ob ich das richtig mache - habe statt der 7 links oben eine 0 eingegeben - gespeichert gestartet erfolglos... also das Numpad war da, aber nicht eine 0 anstelle von der 7.

    Muss ich nach dem ändern die Datei iwie aktualisieren?

    denn ideal wäre - das kam mir heute im laufe des Tages, wenn ich eine Zeile habe und diese größentechnisch so anpasse dass ich die Ziffern 1-0, ., Backspace, Enter habe. Alles in einer Zeile... ich wollte dann eben oben in der Datei einfach die Zahlen anpassen und die Row-sprünge weg machen. dann sollte es doch gehen oder?

  • Hi Tekkineo,

    anbei nochmals eine Variante für einen einzeiligen "Ziffernblock".

    Achtung:

    Ich habe absichtlich einen Fehler eingebaut. Wenn Du ein Terminalfenster öffnest und folgenden Befehl absetzt:
    matchbox-keyboard -s 50 numrow-Tekkineo

    erhältst Du folgende Fehlermeldung:

    Code
    matchbox-keyboard:/usr/local/share/matchbox-keyboard/keyboard-numrow-Tekkineo.xml:20: XML Parse error:mismatched tag
    matchbox-keyboard: *Error* XML Parse failed.

    Damit weißt Du, was zu tun ist:
    sudo nano /usr/local/share/matchbox-keyboard/keyboard-numrow-Tekkineo.xml

    und die Zeile 20 korrigieren. Ich habe in die Datei als Kommentar reingeschrieben, was zu tun ist.

    Wenn in diesen Konfigurationsdateien etwas nicht stimmt, liegt es meistens daran, dass die XML-Syntax verletzt wurde.

    ...und jetzt aber viel Glück -- ich bin raus!

  • Hi! also wenn ich den befehl

    Code
    matchbox-keyboard -s 50 numrow-Tekkineo

    eingebe, kam und kommt immer folgende Meldung

    Cannot open display

    ich habe die textfile mittels winscp auf /home/pi kopiert.

    Dort umbenannt; also das .txt rausgenommen und mittels

    Code
    sudo nano /home/pi/keyboard-numrow-Tekkineo.xml

    die Zeile 20 wie beschrieben auf </key> geändert...

    direkt am raspi kann ich die Datei nun auch ohne fehler öffnen und ich sehe in chromium den code...

    gehe ich jetzt auf Zubehört ->Keyboard erscheint ein Pfeil mit Sanduhr, aber es passiert gar nix... es öffnet sich kein Fenster mit Ziffernblock oder eben den Zahlen.

    sage ich:

    Code
    sudo cp /usr/local/share/matchbox-keyboard/keyboard-numrow-Tekkineo.xml /usr/local/share/matchbox-keyboard/keyboard-numrow-Tekkineo.xml

    kommt die Meldung der gleichen Datei und es öffnet sich trotzdem nix mehr...

    generell bringen bei mir alle befehle matchbox-keyboard - s.... immer die meldung cannot open display

    PS: die XML von Dir ähnellt auch start der meinen...
    ich checks langsam echt ned dass er jetzt gar nix mehr anzeigt;(

  • Mist - falsche Zeile kopiert...

    ich meinte

    Code
    sudo cp home/pi/keyboard-numrow-Tekkineo.xml /usr/local/share/matchbox-keyboard/keyboard-numrow-Tekkineo.xml

    Das war glaub ich die Zeile...
    jedenfalls: was ich mir überlegte...
    kann ich dieses matchbox keyboard iwie deinstallieren und dann nochmal neuinstallieren und mit der anweisung bei 0 anfagen nur dass ich eben die neue xml. verwende und nicht die des nummernblocks?

  • Also wenn das matchbox-keyboard über den Startmenüeintrag von Raspbian ausgeführt werden soll, dann muss die entsprechende *.desktop-Datei editiert werden:

    sudo nano /usr/local/share/applications/inputmethods/matchbox-keyboard.desktop

    In der Zeile 4 (Exec=...) müssen natürlich die Kommandozeilenparameter ergänzt werden:

    Code
    [Desktop Entry]
    Name=Keyboard
    Comment=Virtual Keyboard
    Exec=matchbox-keyboard -s 50 numrow-Tekkineo
    Type=Application
    Icon=matchbox-keyboard.png
    Categories=Panel;Utility;MB
    X-MB-INPUT-MECHANSIM=True

    So sah es jedenfalls bei mir aus.

    Ich gebe zu, der Speicherort dieser Datei ist schwierig zu finden. Ich wusste das als Linux-Dauernoob auch nicht und behalf mir über die Kommandofolge
    ls -lR / >Verzeichnisbaum.txt # gesamten Verzeichnisbaum durchsuchen...

    nano Verzeichnisbaum.txt

    Dann Suche mit Strg-O nach Dateinamen ".desktop" und weil's davon 1000017 gibt, die Suche nochmals mit "matchbox-keyboard.desktop" verfeinert.

    Der dritte Treffer (oder so) in der Datei lautete dann eben
    /usr/local/share/applications/inputmethods/matchbox-keyboard.desktop

  • Vielen Dank euch!
    ich werde heute mal ausprobieren wie beschrieben... wenns nicht funktioniert, dann werde ich mal über

    Spoiler anzeigen


    sudo apt-get remove --purge matchbox

    oder so versuchen matchbox runterzuhauen.
    die xml was geändert wurde sollte ja nicht betroffen sein.
    dann alles neu drauf und step by step abarbeiten.... der wechsel von tastatur auf numblock funktionierte ja auch :)
    Ich gebe euch rückmeldung!
    DANKE auf jeden fall schon mal!!!:thumbup:

  • Also sudo apt-get install matchbox-keyboard installiert die alte Version 0.1, siehe Beitrag #6.

    Zum kompletten Entfernen der Installation das Kommando sudo apt-get purge matchbox-keyboard verwenden. purge löscht dabei auch ALLE Konfigurationsdateien, evtl. auch die von uns reinkopierten...

    Ansonsten wirklich so installieren, wie ich es ab Beitrag #6 beschrieben habe (ozzmaker). Ich habe es auf einem RPi 1B mit dem aktuellen Raspbian Buster vom 13.02.2020 genau so durchgeführt, bevor ich es hier im Forum beschrieb. Die einzelnen Befehle mit Copy-Paste auf dem RPi, z.B. über den PC in einem ssh-Terminal absetzen. Es funzt.

  • also langsam werde ich mit diesem PI aggressiv!
    Erstmal vielen Dank für den Input! Ich finde es von euch super beschrieben und das Problem liegt eindeutig an mir - vermutlich bin ich echt zu dumm dazu...
    ich habe mal am Display auf den Pfad /usr/local/share/applications/inputmethods/ navigiert... dort drin ist eine Datei "keyboard" (mit dem Tastaturicon) Wenn ich das ding doppelklicke werde ich ja gefragt ob ich das öffnen oder Ausführen möchte. Gehe ich auf ausführen passiert nix... gehe ich auf öffnen kommt mir genau die Syntax die du geschrieben hast und ich kann unter Zeile 4 die Syntax eingeben... aber ich habe wieder keine Rechte das zu speichern :@

    über das Terminal mit Sudo nano... wird immer ein Leeres fenster geöffnet wie wenn eine neue datei angelegt wird - egal ob ich

    Code
    matchbox-keyboard.desktop
    Keyboard
    keyboard.desktop 

    eingebe.

    Ich denke ich werde jetzt mal alles runterhaun und dann eben nochmal neu probieren...

    es ist echt nervig dass ich jedes mal beim pi gegen ne wand laufe...

  • Echt schade! Da ist man willig und offen und dann werden einem solche Prügel zwischen die Beine geworfen. Ich kenne das und zwar zur Genüge! Du bist definitiv nicht zu dumm dazu! Adiam fagget's g'scheid! ("Manchmal läuft es wirklich blöd")
    Zu sudo nano ... fällt mir jetzt nur noch ein, beim Dateinamen tatsächlich den absoluten Pfad anzugeben, aber das hast Du wohl getan. Ansonsten die Pfadangabe wirklich exakt überprüfen.

    Eine Neuinstallation eines Raspbians (sorry, das heißt ja jetzt Raspberry Pi OS :baeh2:) ist gerade für soche Versuche nie ein Fehler. Aber fahre vorher noch schnell (heute ist Samstag) in den Elektronikmarkt des geringsten Misstrauens und hole Dir (mindestens) eine weitere µSD-Karte >= 8GB und führe darauf die Neuinstallation durch.

  • Hi!
    Also erstmal wie immer vielen lieben dank eure Ausdauer ist echt hammer!
    Ich glaube wenn man mit einem Pi arbeiten will muss man eine masochistische Ader haben oder sehr viel gedult aufbrigen :)

    Ich habs zum laufen gebracht - allerdings nicht ohne... denke aber dass es für andere auch eine Hilfe ist wenn ich kurz berichte!

    Also 1: Deinstallieren

    ich habe über den Befehl

    Code
    sudo apt-get purge matchbox-keyboard 

    versucht matchbox erst runterzuhauen... nachdem habe ich mir nochmal die Strukturen angeguckt im "Explorer" von WinSCP. Interessanterweise war alles da... ich dachte mri schon.... geht ja schon mal geil los :(
    Und ja, ich habe erst nach dem Löschen in diese Struktur navigiert... eben damit alles aktualisiert ist.
    Auch nach einem Reboot kam ich noch in diese Stellen. Die von mir händisch angelegten xml´s waren auch noch da...
    sofern ich konnte und berechtigungen hatte habe ich aber diese händisch gelöscht... also keine Ahnung wie viel leichen da jetzt noch sind :)

    1: Neuinstallation Ich bin nach Post #6 Versuch zwei vorgegangen und habe gestartet bis es zum kopieren der Datei ging... Da habe ich dann unter /home/Pi gleich die xml. numrow-Tekkineo vom Usb-Stick hinkopiert. und dann eben wie im Post #6 die datei an nach /usr/local/share/matchbox-keyboard kopiert
    mit sudo nano geöffnet - kontrolliert passt... über das touchscreen wollt ich starten... nix - alles gleich wie voher es ging keine Tastatur auf...
    Das habe ich denke ich alles versucht im log von putty anzuhängen...

    3: Problemlösung

    ...und jetzt wirds interessant...

    Ich machte noch folgendes...

    Code
    mkdir ~/.matchbox
    sudo cp /usr/share/matchbox-keyboard/keyboard-numrow-Tekkineo.xml ~/.matchbox/keyboard.xml

    auch das brachte mich nicht weiter...
    dann machte ich folgendes...
    weil ich das wo anders im Netz fand...

    Code
    sudo chown pi:pi ~/.matchbox/keyboard.xml


    Und dann gings!!!

    kann es sein dass ich im letzten Schritt das Layout "aktiviere"?
    @schlizbäda: Das Layout von Dir ist TOP Danke!
    Ich habe mir die xml angesehen und sah dass die Größe 2300 ist. Wenn ich mich nun mit der Größe spielen möchte würde ich diesen Wert ändern... muss ich dann wieder das unter 3. beschriebene durchführen oder reicht es wenn ich den wert unter ~/.matchbox/keyboard.xml durchführe?

    Ich mache jetzt erst mal von dieser schweren Geburt ein Backup und spiele mich dann weiter :)
    Endlich mal ein Erfolg... danke euch!!!:bravo2:
    auch wenn ich noch nicht ganz verstehe wie das zum laufen kam :)

  • gerade ein interessantes Pähnomen...

    ich wollte für das Keyboard automatisch beim Systemstart öffnen...

    Code
    mkdir ~/.config/autostart
    sudo nano ~/.config/autostart/matchbox-keyboard.desktop
    
    [Desktop Entry]
    Name=Matchbox-keyboard
    Exec=matchbox-keyboard
    Type=application

    hat soweit auch funktioniert... allerdings wird das layout nun in briefmarkengröße (bild tiny) geöffnet... gehe ich aber auf start zubehör öffnet sich das sich das ding ganz normal...
    öffne ich zwei verschiedene matchboxes?!

    Im Idealfall würde ich eben dass der Pi so sartet wie im Bild Ideal angeordnet...

    Sprich:

    Zeile der Zahlen unterhalb von der Startzeile im Vordergrund.

    Chromium (immer) dahinter, oder eben direkt drunter

  • Hi Tekkineo,

    vermutlich "weiß" das "System" beim Aufruf in Autostart die tatsächliche Größe des Desktops noch nicht und nimmt eine kleine Standardauflösung an, evtl. 640x480-Standard-VGA?

    Wenn es eine Option ist, kannst Du ja versuchen, in der /boot/config.txt eine feste Videoauflösung vorzugeben. Damit musste ich letztens in der Arbeit experimentieren. Ich habe es in diesem Forum hier und hier mal inklusive weiterer Hintergrundinformationen beschrieben, samt Beispiel-config.txt zum Download.

    EDIT:

    durchgestrichen, weil der TE das Original-Raspidisplay verwendet und keinen HDMI-Bildschirm, wofür dieser Hinweis gedacht war.

    EDIT:

    Und richte Dir vorher auf Deinem RPi ssh ein, um bei einer falschen Bildschirmauflösung in der /boot/config.txt wenigstens noch von außen auf den RPi zu kommen, falls auf dem RPi-Bildschirm selbst nichts zu erkennen sein sollte!

  • Hi Schlizbäda

    Danke Dir für den Tipp!
    Das werde ich probieren - es ist das original touch für den Raspi - also 800x600.

    Nach der Freude dass gestern alles funktionierte kam gestern abend wieder die Realität und es geht von 100 was vormittag ging vielleicht noch 25%.

    ich beginne diese Himbeere zu hassen weil ich nicht weiß woran es liegt...

    Einmal editiert, zuletzt von Tekkineo (9. Juni 2020 um 14:06) aus folgendem Grund: werde jetzt alles nochmal neu aufsetzten (wegen dem Spannungsproblem) da werde ich dann alles was mit matchbox und den autostart zu tun hat über das Display und Tastatur machen (und nicht via putty) vielleicht regelt sich das dann auch...

Jetzt mitmachen!

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