PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : taster erzeugt "normales" keyboard-event?



zeeman
07.02.04, 16:30
hallo!

ich bin's nochmal.
ist es über die serielle oder parallele schnittstelle möglich einen tastendruck auf einem normalen keyboard zu generieren.

ich stell mir es so vor, dass 2 pins geschlossen werden und dadurch irgendeine (am besten frei definierbare) taste an einen prozess/shell gesendet wird
dem programm soll nach möglichkeit kein unterschied zu einer normalen tastatur auffallen.

ich bräuchte (um es mal faktisch zu machen) mindestens 2 verschiedene "tasten" an einer seriellen schnittstelle (wenn nur eine möglich ist, auch bitte sagen)


ich verstehe soweit sled, dass ich das umbauen könnte.

kann mir einer verraten, wie ich einen tastendruck an einen prozess/shell senden kann (oder ist das eher was für munrix (oder wie das schwesterforum heißt)?)
das ging ja selbst unter VB6.0 mit nem lächerlichen Sendkey(blabla,false) (jaja, ich oute mich als ex-vb-programmierer)

MfG
Sebastian

E S
08.02.04, 21:46
Hi,

einfacher und ganz ohne Software geht das, indem Du den Taster an die Tastaturmatrix mit anschließt.
Du kannst sogar eine tastatur ausschlachten, die Taster an die Tastaturmatrixeingänge anschließen (alte Matrix durchmessen, bei folientastatur kann man sogar durch hingucken sehen, welche Taste was macht) und den Keyboardanschluß parallel zur normalen Tastatur legen. Sollange nicht gerade getippt wird, wenn der Taster gedrückt wird, ist es OK. Der Tastaturanschluß ist nämlich open collector, also kann es keinen Kurzschluß geben, jedoch können sich die Signale üüberlagern, wenn beide Tastaturchips gleichzeitig senden, also das signal beider Tastaturen unbrauchbar wird oder zumindest verfälscht.

Gruß
Elmar

zeeman
08.02.04, 23:05
hört sich gut an.

bin aber jetzt auf ne andere art umgestiegen.

das das programm OS ist hab ich mich mal durch die sourcen gewühlt und die programmteile von sled mit eingestrickt
gleich mal sehen ob das rennt....

ansonsten weiß jemand ggf. wie ich mehere verschiedene zustände/signale über einen com-port sende und mit 'ioct' auslese?

E S
09.02.04, 11:57
Hi,

man kann die Steuerleitungen der Seriellen Schnittstelle verwenden.

Die Leitung RTS signalisiert der Gegenstelle Empfangsbereitschaft und kann von Deiner Anwendung beliebig ein- und ausgeschaltet werden. Auch die Leitung DSR, die der Gegenstelle Betriebsbereitschaft meldet kann man ein- und ausschalten.

Zusätzlich kann man auf der Sendeleitung TxD neben Daten auch eine Alarmcondition erzeugen. Die Alarmcondition zieht die Leitung dauerhaft und dient zum Störungssignalisieren. Durch ein und ausschalten dieser Alarmcondition kann man also den Zustand der Leitung frei wählen.

Auf der Empfangsseite kann man CTS (empfängt norm. RTS) und DTR (Empfängt norm. DSR) auswerten, damit erhält man zwei Eingänge.
Die RxD Datenempfangsleitung kann natürlich auch die Alarmcondition auswerten.

Dann gibt es noch den RI durch den ein Modem einen eingehenden Anruf signalisiert.

So lassen sich, wenn man die Register der RS232 auswertet und steuert 3 Ausgänge und 4 Eingänge realisieren.


Denk aber dran, dass die Pegel der RS232 +/- 12V betragen. Ein High wird durch -12V, ein Low durch +12V repräsentiert.

Gruß
Elmar

theborg
09.02.04, 12:27
auf www.meierspage.de gibt es eine schaltung für bis zu 15 tastern die man per com anschlissen kann treiber für linux gibt es auch ich glaub lirc kann das