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


von Robin H. (Firma: vkl) (4klee)


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.

von Florian F. (flof3000)


Lesenswert?

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

von R. M. (Gast)


Lesenswert?

https://www.obdev.at/products/vusb/hidkeys.html

macht eigentlich genau, was du als Wunsch beschreibst.
mfG

von Harald W. (wilhelms)


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?

von Horst (Gast)


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.

von Marc (gierig) Benutzerseite


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.

von Robin H. (Firma: vkl) (4klee)


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.

von R. M. (Gast)


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

von Robin H. (Firma: vkl) (4klee)


Lesenswert?

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

von Peter II (Gast)


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-Nummerische-Tastatur-USB.html?ref=43&products_model=R98683&gclid=EAIaIQobChMIoZXwxt3o1gIVDmUZCh34Cgm0EAQYAiABEgKhn_D_BwE

von A. S. (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von R. M. (n_a_n)


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.

von Günter Lenz (Gast)


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?

von Mario M. (thelonging)


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.

http://www.ebay.de/itm/Ultimarc-Mini-PAC-Tastatur-Encoder-Board-Nur-kein-USB-Kabel-Gurt-MAME-/122348653948
http://www.ebay.de/itm/Ultimarc-IPAC-2-Tastatur-Encoder-Mit-USB-Kabel-New-2015-Version-MAME-/122348652620

von Sebastian S. (amateur)


Lesenswert?

Such mal nach: Tastaturerweiterung

von Frank G. (frank_g53)


Angehängte Dateien:

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-for-MAME-arcade/

: Bearbeitet durch User
von Netzwerker (Gast)


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:
http://www.ebay.de/itm/Pro-Micro-5V-16MHz-Arduino-Pro-Mini-kompatibel-ATmega32u4-Micro-USB-/112277740342

von Horst (Gast)


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.

von Mario M. (thelonging)


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.

von Robin H. (Firma: vkl) (4klee)


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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von A. S. (Gast)


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

von Marc (gierig) Benutzerseite


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...

http://www.ebay.de/itm/10Pcs-Tastatur-Encoder-Holtek-Usb-Ps-2-Dip40-Ht82k629-Ht82k629a-Ic-Neu-P-/232307411962?_trksid=p2385738.m2548.l4275

bzw.
http://de.farnell.com/holtek/ht82k629a-40diplf/ic-usb-ps2-cont-win-2000-keyboard/dp/1420877

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

von USB_Gast (Gast)


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.

von Sven L. (sven_rvbg)


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.

von R. M. (Gast)


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

von X4U (Gast)


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.

von X4U (Gast)


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.

von Netzwerker (Gast)


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...

von Georg (Gast)


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

von X4U (Gast)


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 ;-).

von konsole (Gast)


Lesenswert?

wie wäre es mit USB4ALL ???

von X4U (Gast)


Lesenswert?

konsole schrieb:
> USB4ALL

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

von Sven L. (sven_rvbg)


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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

Was magst Du damit meinen?

von Sven L. (sven_rvbg)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Robin H. (Firma: vkl) (4klee)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.