Druckknopf um Aktion in Software auszulösen

OP #6966284
Lesenswert?
• ▲
▼
Hallo zusammen,

ich programmiere seit einigen Jahren in meiner Freizeit kleinere 
Softwaretools mit "Qt" um Arbeitsabläufe zu automatisieren. Mein 
neuestes Projekt erfordert nun eine Hardwarekomponente. Genauer gesagt, 
möchte ich einfach mit einem Druckknopf in meiner Software eine Aktion 
auslösen. Prinzipiell könnte ich natürlich einen Knopf an der Tastatur 
wählen, allerdings soll es ein "richtiger" Knopf sein (von der Art her 
wie z.B. ein Alarmknopf in einer Bank unter den Tischen, wie man es in 
Filmen sieht).
Mein Problem: reine Software kann ich, insbesondere c++ mit "Qt". Ich 
habe nun leider keine Idee, wie ich die Sache mit dem Knopf realisieren 
kann. Ich habe zunächst gesucht, ob es einen "usb-knopf" gibt, der einen 
Tastendruck simuliert. Allerdings wurde ich nicht fündig.
Muss ich mit einem Mikrocontroller arbeiten? Z.B. arduino oder 
ähnliches? Habt ihr da konkrete Vorschläge, wie ich sowas angehen kann?
Danke im Voraus!
Gast #6966314
Lesenswert?
• ▲
▼
Also es gibt USB Buttons... oft als Buzzer.
Aber die sind meist ziemlich teuer.

Ich hatte neulich so einen Fall, bei dem eine Videoshow durch einen 
Näherungssensor ausgelöst werden sollte.

Dazu habe ich einfach einen Arduino micro genommen und die Keyboard 
Library verwendet. Der Arduino simuliert dann einen Tastendruck.

https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardpress/

Das geht super easy und ist insbesondere mit einem Taster schnell 
aufgebaut.
#6966443
Lesenswert?
• ▲
▼
Es gibt doch ein Knopf Tastaturen:
https://www.google.com/search?q=one+button+keyboard

Sonst würde mir noch einfallen:
-BT Selfieauslöser
-irgendwelcher Gamingkram(hebel und Knöpfe für Flugsims)
-Multimediabuttons in jeder Form und Grösse
-3€ Gamecontroller und 2 drähte an einen Button.
-Wenn ein Netzwerkport frei ist könntest du einen Loop per
Knopfdruck herstellen und den Link status überwachen.
Beitrag #6966839 wurde von einem Moderator gelöscht.
(Firma: Privat) #6968459
Lesenswert?
• ▲
▼
Ich würde es mir einfacher machen.
Einfach mit einem Bluetooth Barcode/QRcode Scanner
(gibt es für so ab ca. 40 € bei Amazon) oder sogar noch einen billigeren
mit USB-Kabel. Da haben sich die Manhatten - Dinger gut bewährt.
Dann online sich EAN - oder QR -Codes mit z.b. unterschiedlichen 
Zahlenreihen erstellen lassen, ausdrucken und diese einscannen.
Da hast du auch einen Knopf (am Scanner) und kannst zusätzlich mehrere
Aktionen (Barcodes) auslösen, je nach Anzahl der Barcodes. Der Scanner
ist ja einfach nur eine HID-Tastatur und kann somit in jedes Editierfeld 
eingelesen werden.
Das Auslesen und Zuordnen zu den jeweiligen Aktionen ist ja Kinderkram.
Das wäre schnell und einfach.
Gast #6968466
Lesenswert?
• ▲
▼
Michael P. schrieb:
> An die letzte Rückmeldung. Nett von dir, danke. Und Entschuldigung, dass
> ich nicht so ein Experte bin wie du. Wieso antwortest du, wenn du
> genervt bist?
Das ist ein bekannter Troll. Ignorier das einfach, geh einfach gar nicht 
drauf ein.

Nur damit es genannt wurde, es gibt USB-IO-Karten. Da kannst du 
beliebige Taster anschließen, deren Zustand dann über USB ausgelesen 
werden kann. Wenn es potentiell auch mal mehrere Taster werden oder auch 
eine Ausgabe nötig ist, wäre das vielleicht was.
Auf die Schnelle habe ich kein Beispiel gefunden, aber wenn du mit den 
anderen Lösungen nicht zufrieden bist, könnte man in der Richtung 
weitersehen.
Gast #6968479
Lesenswert?
• ▲
▼
Normaler Anschluss an USB.

Und dann mit einen normalen ON TIMER Funktion die Schnittstelle 
auslesen.

ON Timer (oder wie das bei dir heißt) ist einen System-Funktion.

Sie unterbricht den normalen Ablauf des Programms, ruft die SUB auf, 
arbeitet sie ab, und macht dann weiter im normalen Programmablauf.

In der Sub Redet das Prg mit den Arduino (Keine Dauergespräche bitte) 
und reagiert darauf.

Funktioniert übrigens unter z.b. VB-2010 hervorragend. Ich habe mal 
Testweise zwischen 2 Arduinos über 433 MHZ Daten so ausgetauscht. ;)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.