Forum: Mikrocontroller und Digitale Elektronik mit AVR µC Mausklick an bestimmter Position simulieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alex P. (alex-p)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Forengemeinde,
ist es möglich (und wenn ja, wie), mittels Tastendruck eines auf einem 
am µC angeschlossenen Hardware Switch einen Touchklick an einer 
bestimmten Bildschirmposition zu simulieren?

Ein bisschen was zur Erklärung:

Ich habe derzeit an einen Linux Rechner einen Touchscreen Monitor via 
DVI und USB angeschlossen. Die µC Applikation soll über ein Standard 
USB-HUB, welches in die USB Verbindung Monitor - Rechner signaltechnisch 
integriert werden wird, eingebunden werden.

Da mir das Platinenätzen etc. hierfür zu aufwendig ist, dachte ich an 
ein Evaluation Board wie bspw. ATXMEGAA3BU-XPLD von ATMEL. Der XMega 256 
hat bereits einen USB Anschluss integriert.

Es ist NICHT möglich an der Linux Software etwas zu ändern oder in Linux 
das Programm zu schreiben, auch wenn dies sicher der einfachere Weg 
wäre.

Ich hoffe auf Hilfe und freue mich auf eure Beiträge.

Danke schon einmal vorab.

Gruß

Alex

von Phil J. (exloermond)


Bewertung
0 lesenswert
nicht lesenswert
Ja, machbar.
Der AVR muss ein HID simulieren.

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Dann musst du ein Zeichentablet simulieren, nicht eine Maus. Denn die 
Maus liefert keine absoluten Koordinaten.

: Bearbeitet durch User
von Markus F. (mfro)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Dann musst du ein Zeichentablet simulieren, nicht eine Maus. Denn die
> Maus liefert keine absoluten Koordinaten.

Das ist richtig, läßt sich aber leicht dadurch umgehen, daß man mittels 
entsprechend großer Relativbewegungen den Mauszeiger zunächst mal in 
eine Bildschirmecke manövriert.

von justav (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Windows bietet dafür mit Eingabehilfen eine direkte Eingabe über RS232.

Vielleicht hat Linux sowas auch.

von Markus W. (Firma: guloshop.de) (m-w)


Bewertung
0 lesenswert
nicht lesenswert
Wie schon geschrieben wurde, geht das per HID an USB. Am einfachsten 
vielleicht mit einem ATtiny85 und VUSB. Dafür gibts auch Beispielcodes 
bzw. Beispielprojekte vom VUSB-Entwickler.

justav schrieb:
> Windows bietet dafür mit Eingabehilfen eine direkte Eingabe über RS232.
>
> Vielleicht hat Linux sowas auch.

Linux ist da einfacher.

Zuerst das Tool "xdotool" installieren. Bei Linux reicht dazu 
üblicherweise ein einfaches Kommando:
1
sudo apt-get install xdotool

Dann – ebenfalls per Kommando – einen Maustastendruck simulieren, z.B. 
an der Position 1000/200 (nach rechts und nach unten von der linken 
oberen Bildschirmecke aus).
1
xdotool mousemove 1000 200 click 1

Weiter Infos zu "xdotool" mit dem Kommando
1
man xdotool

Fast schon schade, dass man nun keinen Mikrocontroller einsetzen muss 
und deswegen keine Ausrede hat, mal wieder etwas zu löten. ;-)

von Baendiger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Für Arduino gibt es eine Library um genau das zu machen. In der findest 
du Anregungen oder du nutzt gleich die Library. Sie funktioniert für 
alle AtMega32u4 basierten Arduino Boards.

von Alex P. (alex-p)


Bewertung
0 lesenswert
nicht lesenswert
Baendiger schrieb:
> Für Arduino gibt es eine Library um genau das zu machen. In der
> findest
> du Anregungen oder du nutzt gleich die Library. Sie funktioniert für
> alle AtMega32u4 basierten Arduino Boards.

Wow! Wahnsinn!

Danke für die wirklich vielen Antworten. Leider ist es so, dass der 
Linux-Rechner als Black Box zu sehen ist, dass heisst ich benötige 
zwingend Arduino oder einen µC (also vielleicht doch löten ;-) )

@ Baendiger: Weisst du zufällig wie diese Library heisst? Zufällig 
"Mouse" (Siehe: https://www.arduino.cc/en/Reference/MouseKeyboard)?

Ich finde die Arduino Umsetzung sehr interessant. Leider ist das Problem 
ja, dass eine Maus relative Werte überträgt und ein Touchmodul am 
Bildschirm absolute Werte, oder liege ich da falsch?

Danke.


Gruß.

Alex

von DerDom (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Google mal nach "Digispark ATTiny85".Ist so für 1€ zuhaben und macht 
genau was du willst.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.