mikrocontroller.net

Forum: PC-Programmierung 14 Tasten am PC emulieren wie?


Autor: Robin H. (Firma: vkl) (4klee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen PC dieser verfügt über PS/2 Ports,Parallel Port
sowie 4 RS232(2xUART) Ports und usb ports.

Betriebssystem WIN7X32.

Ich würde gerne Taster anschließen die gewisse Buchstaben auslösen 
sollten.
Ähnlich wie USB Tastatur oder PS/2 Tastatur.

Insgesamt hätte ich gerne 14 Tasten welche auf Betätigung jeweiligen 
Buchstaben senden sollen bzw. Tastenkombination senden sollten.

Was wäre die ideale Methode bzw. die einfachste und günstigste.

1. Parallel Port Tasten anschließen ?
2. Attiny167 verwenden?

Ich wäre dankbar um eure Vorschläge.

Autor: Florian F. (flof3000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du Deine Zeit mit reinrechnest:
Aktueller Arduino (Klon) und 
https://www.arduino.cc/en/Reference/KeyboardWrite

Autor: R. M. (restmuell) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
https://www.obdev.at/products/vusb/hidkeys.html

macht eigentlich genau, was du als Wunsch beschreibst.
mfG

Autor: Harald Wilhelms (wilhelms)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Robin H. schrieb:

> Ich würde gerne Taster anschließen die gewisse Buchstaben auslösen
> sollten.
> Ähnlich wie USB Tastatur oder PS/2 Tastatur.

...und warum nimmst Du dann nicht eine PS/2-Tastatur?

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
R. M. schrieb:
> macht eigentlich genau, was du als Wunsch beschreibst.

Nein, VUSB ist nicht USB-Konform und macht bei aktuellen Systemen nur 
Probleme.

Ein Arduino Pro Micro oder Leonardo mit ATMega32U4 dürfte das einfachste 
sein, wenn man selbst bauen will. Sonst gibt es das fertig für Leute, 
die sich Videospiele nachbauen.

Autor: Marc D. (gierig) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Sonst gibt es das fertig für Leute,
> die sich Videospiele nachbauen.


Ja, die Referenz sind die Produkte von Ultimarc.

z.B
https://www.ultimarc.com/ipac.html

eBay findet aber auch nachbauten / clones.

Autor: Robin H. (Firma: vkl) (4klee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab eine Denkblockade.
Ich weiß nicht was ich eingeben soll bzw. wie ich das am besten 
formuliere.
Falls es einen günstigen klone geben sollte.

Autor: R. M. (restmuell) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Horst schrieb:
> Nein, VUSB ist nicht USB-Konform und macht bei aktuellen Systemen nur
> Probleme.

Diese Aussage trifft zu, für verschiedene CDC-Implementationen 
(serieller Port), in diesen ist Low-Speed nicht erlaubt.

Hier wird allerdings HID, außerdem mit den OS-eigenen Treibern genutzt, 
damit gibt es auch keine Probleme mit speziellen Betriebssystemen.
mfG

Autor: Robin H. (Firma: vkl) (4klee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte tasten anschließen. nicht die ganze Tastatur.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Ich möchte tasten anschließen. nicht die ganze Tastatur.

dann nimm eine kleine Tastatur und schließe dort die Tasten an:

https://www.voelkner.de/products/221800/Logilink-N...

Autor: Achim S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Ich möchte tasten anschließen. nicht die ganze Tastatur.

was spricht denn dagegen, Eine Tastatur für 0€ zu nehmen, zu schälen und 
dort die Tasten anzuschließen? Kleiner, billiger, zuverlässiger wird es 
nicht, wenn Du nicht gerade 1000 Stück davon bauen willst.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Horst schrieb:
> Nein, VUSB ist nicht USB-Konform und macht bei aktuellen Systemen nur
> Probleme.

Nochmal zur Verdeutlichung des von "Restmüll" gesagten:

Bei HID (das per Definition Low-Speed-USB verwendet) ist VUSB 
standardkonform und kann daher ohne Bedenken verwendet werden.

Für die Anwendung des Threadstarters ist das also sehr gut geeignet.

Autor: R. M. (n_a_n)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Wieder einmal so ein Gleichungssystem, das total unterbestimmt ist.
Dann werden Dutzende Lösungen angeboten und vielleicht ist sogar eine 
dabei
die genau das erfüllt, was der TO eigentlich will.
Einfach ein bisschen mehr Infos und es kann geholfen, nicht geraten, 
werden.

Autor: Günter Lenz (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Robin H. schrieb:
>Parallel Port
>sowie 4 RS232(2xUART)

Dann brauchst du aber ein spezielles Programm,
daß dies auswertet.

>Ich möchte tasten anschließen. nicht die ganze Tastatur.

Wenn du mehrere Tasten anschließt hast du doch
unweigerlich eine Tastatur?

Autor: Mario M. (thelonging)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Was wäre die ideale Methode bzw. die einfachste und günstigste.

Die von Marc D. vorgeschlagene Lösung dürfte am einfachsten sein, wenn 
auch nicht die günstigste.

Ebay-Artikel Nr. 122348653948
Ebay-Artikel Nr. 122348652620

Autor: Sebastian S. (amateur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal nach: Tastaturerweiterung

Autor: Frank G. (frank_g53)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Achim S. schrieb:
> was spricht denn dagegen, Eine Tastatur für 0€ zu nehmen, zu schälen und
> dort die Tasten anzuschließen?

So habe ich auch eine Drahtlose-Arcadeconsole(Playstation) auf USB 
umgebaut.
Auf dem Bild sieht man (oder auch nicht) den Tastaturcontroller mit den 
angeschraubten Lüsterklemmen.

Die Schalter wurden so an den USB-Controller angeschlossen, dass sie 
einer bestimmten Taste entsprechen.

Bevor man den Controller aus der Tastatur entnimmt, empfiehlt es sich, 
die Matrixbelegung auszumessen.

Siehe auch:
http://www.instructables.com/id/Keyboard-encoder-f...

: Bearbeitet durch User
Autor: Netzwerker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mario M. schrieb:
> Die von Marc D. vorgeschlagene Lösung dürfte am einfachsten sein, wenn
> auch nicht die günstigste.
>
> Ebay-Artikel Nr. 122348653948
> Ebay-Artikel Nr. 122348652620

Naja, ein Arduino Beispiel umzuwandeln ist auch nicht so viel 
aufwändiger als die ipac zu konfigurieren, oder?

Dann geht es doch noch mal erheblich günstiger:
Ebay-Artikel Nr. 112277740342

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Bei HID (das per Definition Low-Speed-USB verwendet) ist VUSB
> standardkonform und kann daher ohne Bedenken verwendet werden.

Das kannst Du so sehen, Windows 10 ist da oft anderer Meinung. Meine 
Fußschalter mit VUSB auf einem Tiny85 liefen unter Windows7 stabil, 
Windows 10 hat die bei jedem Schluckauf rausgeworfen und nicht wieder 
erkannt. Ein Umbau auf Mega32U4 hat geholfen.

Autor: Mario M. (thelonging)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Netzwerker schrieb:
> Naja, ein Arduino Beispiel umzuwandeln ist auch nicht so viel
> aufwändiger als die ipac zu konfigurieren, oder?

Das soll der TO entscheiden. Aber ich fürchte, dass wir ihn erfolgreich 
vergrault haben.

Robin H. schrieb:
> Ich hab eine Denkblockade.

Autor: Robin H. (Firma: vkl) (4klee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, Ihr habt mich nicht vergrault.
Leider wie desöfteren befetzen sich gleich einige USER.
Wie immer das essentielle:: Ihr habt Lösungen geliefert.

Ich werde den Atmega mal probieren.
Konkret benötige ich das ca. 100 mal.

Ich hab keinen Bock alte Tastaturen zu zerlegen und dann jedesmal 
ausmessen für die Schalter Belegung.

Der I-Pac ist mir bekannt jedoch etwas zu teuer.

Lustigerweise war es mir nicht möglich den in Ebay zu finden. Deshalb 
Denkblokade.

 Bezüglich parallel port war mir auch klar das es evtl. Programmiert 
werden muss. Trotzdem hätte es ja sein können das jemand von euch ein 
fertiges Programm kennt.

Ich verbleibe mit dank für eure Vorschläge

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Eine weitere Möglichkeit ist ein "KeyWarrior", das ist ein 
vorprogrammiert verkaufter Microcontroller, der für den Anschluss 
mehrerer Taster gedacht ist, und --tadaa!-- Tastaturfunktionen hat.

https://www.codemercs.com/de/tastatur

Horst schrieb:
> Das kannst Du so sehen, Windows 10 ist da oft anderer Meinung.

Das hat dann sicher andere Ursachen. Würde Windows 10 
Low-Speed-USB-Geräte mit HID nicht akzeptieren, würde keine Maus und 
Tastatur funktionieren.

Autor: Achim S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Konkret benötige ich das ca. 100 mal.

Oh sorry. Hatte ich überlesen. War auf der falschen Fährt durch

> Ich habe einen PC

Autor: Marc D. (gierig) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Der I-Pac ist mir bekannt jedoch etwas zu teuer.

MiniPac ? Wäre günstiger...
https://www.ultimarc.com/minipac.html

nein das soll immer noch keine Werbung sein, aber das Zeugs funktioniert
und man kann die Default Belegung anpassen ohne irgendwas am Rechner
zu ändern.

> Lustigerweise war es mir nicht möglich den in Ebay zu finden. Deshalb
> Denkblokade.

Suchmasken und das Kreative Benutzen von Wörtern kann sehr kniffelig 
sein.
(kenn ich selber als Orthographie verweigerer)

Bei 100 Stück

würde ich zu sowas greifen...

Ebay-Artikel Nr. 232307411962

bzw.
http://de.farnell.com/holtek/ht82k629a-40diplf/ic-...

Das ist dann auch nen Datenblatt...

Fertiger KeyBoard Controller, wie er quasi im jedem
KeyBoard zu finden ist.... Hühnerfutter + Platine
Fertig ist die Laube. bzw. das 14 Key Keyboard..


Dürfte Schneller + günstiger sein gehen als sich nen µC zu schnappen
und das selber zu entwickeln.

lg Gierig

Autor: USB_Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Horst schrieb:
> Ein Umbau auf Mega32U4 hat geholfen.

Habe auch mittels Atmel XMEGA mit USB einige Tasten emuliert (HID).
Es gibt auch ein Sample im Atmel Studio bzw. ASF.

Autor: Sven L. (sven_rvbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessanter Thread.

Im Bereich POS, also Kassensysteme gibt es auch USB-Tastaturen, die man 
sogar selbst programmieren kann. So kann man dann mittels deren Treiber 
auch Codes senden, die keiner Taste auf der Tastatur entsprechen, aber 
trotzdem ausgwertet werden können.

Geht das bei vusb auch? Kann man da auch Tastaturcodes oder andere 
Befehle transparent senden, so das man nicht irgendwo quasi Buchstaben 
oder F-Tasten drückt, sodass in geöffneten Programmen  wie Browser oder 
Texteditor nichts passiert?


Natürlich sollen die "versteckten" Codes dann von einer Anwendung 
entgegengenommen und ausgewertet werden.

Autor: R. M. (restmuell) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sven,
im oben zitierten Beispielprojekt (hidkeys), wird im AVR eine Tabelle 
definiert, welcher Eingang, welchen Scancode + welchen Shift/Ctrl/Alt 
erzeugen soll. Damit funktioniert das mit dem normalen Tastaturtreiber 
des OS. Man könnte allerdings eventuell auch "unbelegte" Scancodes 
erzeugen, und versuchen, in der Anwendung an die "rohen" Scancodes 
ranzukommen.
Aber der Charme dieser Lösung ist ja, am Rechner nichts ändern zu 
müssen, zum Preis, den Controller für die Anwendung spezifisch zu 
programmieren.

Sollte ein "moderneres" Betriebssystem mit dem Gerät unzuverlässiger 
funktionieren, als ein "älteres" Betriebssystem, bei gleicher 
Rechnerhardware, würde ich den Fehler auch nicht unbedingt bei VUSB 
suchen. Wobei ich selbst gestaunt habe, wie zuverlässig USB 
funktionieren kann, wenn man erstmal von Windows weg ist...

mfG

Autor: X4U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robin H. schrieb:
> Was wäre die ideale Methode bzw. die einfachste und günstigste.

Bei 100 Stück wäre mein Vorschlag:

Fertige Folientastatur mit 16 Tasten. Dazu ein uC mit USB HID Keyboard 
(Gibt es in allen Geschmacks- bzw. Fanboy Richtungen) auf einem fertigen 
Bord (z.B. Wemos D1 mini für ca. 3 Euro, da ist dann Wlan gleich mit 
drin).

Da libs und demos bei fast allen Marken vorhanden sind kannst du dir das 
für wenig Geld schreiben lassen oder halt selber machen.

Autor: X4U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
X4U schrieb:
> (z.B. Wemos D1 mini für ca. 3 Euro, da ist dann Wlan gleich mit
> drin)

Sorry das Board hat nur seriell USB.

Autor: Netzwerker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
X4U schrieb:
> Wemos D1 mini für ca. 3 Euro, da ist dann Wlan gleich mit
> drin

Aber da fehlt Hardware USB. Es gibt zwar Software USB von cnlohr dafür 
aber das kann (KANN) die gleichen Probleme haben wie VUSB (oder auch 
nicht).

Ich würde auf einen µC setzen mit Hardware USB wie den atmega32U4 - der 
auf den vorgeschlagenen Arduino drauf ist und außerdem noch die 
preislich günstigste vorgeschlagene Lösung bisher (außer man macht 
selber platinen - bei 100 St. lohnt das vielleicht schon). Aber der TO 
hatte ja schon gesagt dass ihm auch auseinander klöppeln von 
Billigtatstaturen zu viel arbeit ist - da wird er ncht selber ein Board 
layouten wollen.

Und bei Arduno kann man das Keyboard-Demo nehmen, per copy'n'paste die 
Tasten oder Tastenkombinationen die man haben will an die Tasten binden 
und fertig ist die Laube.

Und bei 100St. macht einem der Chinamann oder sogar der deutsche 
Onlineversand sicher einen Rabattpreis. Ich meine Ali hat die für 
3,24€/St. - mal 100 und + DHL-Express + Märchensteuer sind das ~500€. 
Das will ich erst mal woanders billiger sehen...

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Netzwerker schrieb:
> da wird er ncht selber ein Board
> layouten wollen.

Oder können. Aber eine Tastaur erfordert so gut wie immer eine Platine - 
wie sollen denn die Tasten sonst montiert werden? Lochraster und fädeln, 
bei 100 Stück?

Also ist die geeignete Lösung eine Platine mit den 14 Tasten in der 
gewünschten Anordnung drauf plus einem Controller plus USB-Buchse. Aber 
wie die Bayern sagen: wer net ko, der ko halt net.

Georg

Autor: X4U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Netzwerker schrieb:
> Aber da fehlt Hardware USB. Es gibt zwar Software USB von cnlohr dafür
> aber das kann (KANN) die gleichen Probleme haben wie VUSB (oder auch
> nicht).

Korrekt, Wemos ist nicht geeignet, gibt aber ausreichend Boards für ein 
Paar Euro die das können.

Georg schrieb:
> Aber eine Tastaur erfordert so gut wie immer eine Platine -
> wie sollen denn die Tasten sonst montiert werden?

Folientasten zum aufkleben. Das ist aber Spekulation da Anwendung und 
Vorkenntnisse unbekannt sind.

Bei 100 Stück mach ich mir'n Board mit Touchsense und kleb eine Folie 
drüber.

Warum?

> Aber wie die Bayern sagen: wer net ko, der ko halt net.

Weil ich es kann ;-).

Autor: konsole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wäre es mit USB4ALL ???

Autor: X4U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
konsole schrieb:
> USB4ALL

Das ist chiplevel, der TE möchte wohl'n Gerät.

Autor: Sven L. (sven_rvbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
R. M. schrieb:
> im oben zitierten Beispielprojekt (hidkeys), wird im AVR eine Tabelle
> definiert, welcher Eingang, welchen Scancode + welchen Shift/Ctrl/Alt
> erzeugen soll. Damit funktioniert das mit dem normalen Tastaturtreiber
> des OS. Man könnte allerdings eventuell auch "unbelegte" Scancodes
> erzeugen, und versuchen, in der Anwendung an die "rohen" Scancodes
> ranzukommen.
Ja genau so irgendwie habe ich mir das vorgestellt und hatte gedacht, 
das das jemand schon mal probiert hat.

Bei den Kassentastaturen heissen diese Tasten POS-Key[1-128], diese 
lösen nichts aus, nur die (Kassen)-Anwendung reagiert darauf.

> Aber der Charme dieser Lösung ist ja, am Rechner nichts ändern zu
> müssen, zum Preis, den Controller für die Anwendung spezifisch zu
> programmieren.
Naja am Rechner muss man ja nichts ändern, außer die zusätzlichen 
Scancodes auszuwerten in einer eigenen Anwendung, was ich okay fände.

Allerdings wird HID nur im Userkontext verfügbar sein nehme ich an? 
oder?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven L. schrieb:
> Allerdings wird HID nur im Userkontext verfügbar sein nehme ich an?

Was magst Du damit meinen?

Autor: Sven L. (sven_rvbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öhm, das wenn ich Scancodes im Hindergrund als Windowsservice auswerden 
will, ich mir nicht sicher bin, ob das geht?

Das Scancodes von Tastaturen nur in der Sitzung des Benutzers 
angekommen, der angemeldet ist.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist natürlich korrekt; es wäre auch fatal, wenn es anders wäre -- 
Stichwort "Keylogger".

Wenn Du aber eh' ein eigenes Programm zur Auswertung der Tastendrücke 
schreiben willst, kannst Du natürlich auch andere Mechanismen als 
ausgerechnet eine HID-Tastatur verwenden.

Autor: Robin H. (Firma: vkl) (4klee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die ganzen Hinweise.
Ich habe den ATMEGA erhalten. Das ganze scheint schonmal zu 
funktionieren.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.

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