Strom eines Pins der Tastatur testen?

Hi,l
kann ich mit einem C++ Programm Testen ob ein Bestimmter Pin der Tastatur gerade Strom gibt?

Danke im voraus,
Xalon
 
Ich kenn mich jetzt nicht 1000%ig mit dem PS2 oder USB Protokoll aus, aber ich würde einfach mal anhand meiner TechGI Erfahrung sagen: Nein.
 
Hmmm,also ich will eine kleine Eingabeeinheit bauen,mit der ich dann irgendwie mit meinem
Programm kommunizieren möchte...
Wenn ich also mein Programm anweisen will Funktion x auszuführen das ich dann nur eine
Taste auf meinem "Gerät" drücken muss.
Naja aber dazu muss ich ja irgendwie mit meinem Programm Eingaben des Geräts auslesen
können...
Hat jemend ne Idee wie ich das machen könnte?Find nichts in Google

Danke im voraus,
Xalon
 
Hmmm Danke,aber alles was ich gefunden habe ist recht kompliziert mit WriteFile() und ReadFile()
Kann man nicht einfach Testen ob gerade strom vom x.Druckerpin kommt?
Ich würde dann nämlich einfach nen Draht oder so in den x.Druckerpin stecken und mir dazu einen Schalter bauen.
Dann würde ich es mit meinem Programm ungefähr so auslesen :
Code:
If(strom(1))
{
system("dev-cpp.exe")
}
Ach geht das überhaupt? :D
Wenn ja dann könnt ich mir nämlich so ne Art Schnellstartleiste bauen ;)

Xalon
 
1. Was ist ein Druckerpin???
Du meinst bestimmt den Paralellport oder LPT1.
So einfach wie du dir das vostellst ist das nicht.

Nim am besten für sowas die Serielle Schnittstelle.

Schau dir die Pinbelegung an.

Da giebts z.b. RX und TX für Recive und Transmit.

So nun musst du ein gerät bauen was über den Transmit eine bitfolge sendet.
Wie etwa 110100101.
Jetzt brauchst du ein Programm das auf der Schittstelle horcht dann Bitfolge
empfängt und verarbeitet also darauf reagiert.

Mit nur einfach Spannung anlegen ist leider nicht getan.

mfg
 
tastatur:
:p sehr umständlich oder ;) ich denke mal dass das nicht möglich ist, da das betriebssystem in einen buffer schreibt/lest (?) ich denke mal eine logik familie, ein ?Controller oder ein Schieberegister ... also im prinzip setzt ein ? - Controller die Tastendrücke um und erkennt welche taste gedrückt wird. das ganze passiert in einer tastatur über eine Matrix (?) ... also eigentlich ist das nicht möglich ... unter linux wär es wohl möglich ... wär was für verregnete nachmittage,
lg

edit: über die serielle schnittstelle geht dass natürlich sehr einfach, noch einfacher über die parallele ... such unter google nach der pinbelegung und papers, wie eine parallele schnitstelle arbeitet (hardware handshake usw) dann ist es möglich ein programm zu schreiben, dass ein signal über einen pin empfängt. dazu würdest du eine schaltung benötigen , bzw. einen ?Controller der einen Drucker simuliert und ein programm dafür schreiben, dass die Tastverhältnisse der Signale abgleicht usw usw. (hatte mal eine laborübung dazu ^^) ... aber das ganze ist doch etwas kompliziert,
lg

edit: über die parallele wäre das ganze zu umständlich. mit einer schaltung für die serielle (RS232) würde das vielleicht einfacher funktionieren:

beispiel, damit einem ca. klar wird was das für ein aufwand wäre:

http://www.easysw.com/~mike/serial/serial.html
Kurze beschreibung der seriellen + programmbeispiele
.
lade dir "Keil ?Vision" runter, mit dieser software kannst du C-programme schreiben, die dann in asm code übersetzt werden, und ein *.hex file produzieren.
dieses hex-file wird über einen brenner in den ?-Controller gespielt.
dann benötigt man noch die grundbeschaltung für den ?C und fertig.

ein port über einen taster und einen widerstand (beliebig) auf Vcc.
und einen Port (siehe website) mit der seriellen schnittstelle verbunden.

software für den ?C sieht ca so aus:

Code:
....
#include <ATx2051.h>

void main(void)
{
P1_1 = 0;                         // ?C ports standardmäßig auf high
for(;;)
{
if(P1_1 == 1)                            // wenn taster gedrückt
{
SBUF = '1';                                // schreibt 1 in da schieberegister des ?C´s
}
}

das wars. das C-Programm auf deinem PC sieht dann so aus, dass es diesen "1"er empfängt, und dann ein programm startet.

----------------
 
Zurück
Oben