Tastatureingabe überprüfen



  • Hallo,

    ich möchte, dass meine Tastatur die Farben ändert, wenn z.B. 5 min. keine Tastatureingabe erfolgt.

    Was ich benötige ist ein Programm, das ständig die Tastureingabe überprüft. Wenn z.B. 5 min. keine Eingabe stattgefunden hat, müsste es eine exe Datei aufrufen, die eig nichts macht, bis eine Tastatureingabe erfolgt. Nach der Eingabe müsste die exe Datei sich schließen und wieder die Tastatureingabe überprüfen, etc.

    Ich hoffe ich konnte mein Problem schildern. Leider habe ich Grundkenntnisse in der Programmierung und Google konnte mir nicht helfen ^^

    Vielen Dank


  • Mod

    Und was ist deine Frage? Ob dir das jemand programmieren kann?



  • irgendwie weiß ich nicht wie ich da anfangen soll, obwohl das ziemlich simpel sein müsste...
    Wie kann ich denn die Tastatur beobachten, ob sie seit z.B. 5 min "nichts tut"?



  • Was ich benötige ist ein Programm, das ständig die Tastureingabe überprüft

    Also einen Keylogger? 😶 Spaß...

    irgendwie weiß ich nicht wie ich da anfangen soll, obwohl das ziemlich simpel sein müsste...
    Wie kann ich denn die Tastatur beobachten, ob sie seit z.B. 5 min "nichts tut"?

    Edit: Siehe Antwort von Martin Richter unten.

    Das wäre Betriebssystemabhängig, unter Windows sind mir für User Mode zwei Möglichkeiten bekannt:
    1. GetAsyncKeyState(), iterieren über alle keys und schauen ob sie gerade gedrückt sind...
    2. LowLevelKeyboardHook: Du bekommst eine Windows message geposted, wenn eine Taste betätigt wird.

    Dann musst Du einfach wenn eine Taste gedrückt wurde Dir die aktuelle Zeit merken. Und dann kannst du periodisch wiederum die aktuelle Zeit mit der zuletzt gespeichert Zeit vergleichen. Wenn die Differenz > 5 Minuten ist, kannst Du irgendwas anderes machen.

    Das schwierigste dürfte sein, die Farbe Deiner Tastatur zu ändern. Wenn Du weißt wie sowas einfach geht, würde es mich auch interessieren!



  • @HarteWare sagte in Tastatureingabe überprüfen:

    Was ich benötige ist ein Programm, das ständig die Tastureingabe überprüft

    Also einen Keylogger? 😶 Spaß...

    irgendwie weiß ich nicht wie ich da anfangen soll, obwohl das ziemlich simpel sein müsste...
    Wie kann ich denn die Tastatur beobachten, ob sie seit z.B. 5 min "nichts tut"?

    Das wäre Betriebssystemabhängig, unter Windows sind mir für User Mode zwei Möglichkeiten bekannt:

    1. GetAsyncKeyState(), iterieren über alle keys und schauen ob sie gerade gedrückt sind...
    2. LowLevelKeyboardHook: Du bekommst eine Windows message geposted, wenn eine Taste betätigt wird.

    Dann musst Du einfach wenn eine Taste gedrückt wurde Dir die aktuelle Zeit merken. Und dann kannst du periodisch wiederum die aktuelle Zeit mit der zuletzt gespeichert Zeit vergleichen. Wenn die Differenz > 5 Minuten ist, kannst Du irgendwas anderes machen.

    Vielen Dank für die Antwort. Ich werde es demnächst ausprobieren 😃

    Das schwierigste dürfte sein, die Farbe Deiner Tastatur zu ändern. Wenn Du weißt wie sowas einfach geht, würde es mich auch interessieren!

    Das erledigt die Razer Software. Man kann in der Software einstellen, wie die Tastatur leuchten soll, wenn bestimmte Programme laufen.



  • @UchihaMadara Ah jetzt verstehe ich was Du vor hast. Das könnte sogar gehen.



  • Also vielleicht so ausgedrückt:
    Programm 1 läuft überwacht die Tastatur
    Tastatur wird seit 5 min nicht benutzt -> Programm 2 läuft
    Tastatur wird wieder benutzt -> Programm 2 wird beendet.
    Programm 1 läuft weiterhin und überwacht die Tastatur
    Tastatur wird nicht seit blablabla Minuten nicht benutzt -> Programm 2 läuft wieder.

    Programm 2 wird in die Razer Software eingefügt.
    An sich muss das Programm 2 nichts können.



  • @UchihaMadara
    Hast du denn einen C++-Compiler installiert? Oder glaubst du, jemand lädt die exe-Dateien irgendwo hoch? Denn das wird mit Sicherheit nicht passieren.
    Es ist zwar nicht sonderlich elegant, aber für den Anfang und zum Ausprobieren reicht wirklich GetAsyncKeyState:
    Hier ist ein kleines Beispiel - die Dateioperationen müssten noch entfernt werden.
    Mit ShellExecute können Prozesse gestartet werden.



  • @yahendrik
    Ja, habe einen Compiler. Vielen Dank für die Hilfe.



  • Habe es geschafft, dass wenn ich z.B. 10 Sekunden keine Eingabe betätige, dass sich Editor xD öffnet.
    2 Fragen: Wie kann ich z.B. die Anwendung schließen? Editor schließen in C++.
    Die nächste blöde Frage, wie kann ein Programm aussehen, dass im Hintergrund läuft und nichts macht?



  • @UchihaMadara sagte in Tastatureingabe überprüfen:

    in C++.

    Das alles was du da fragst hat nicht wirklich etwas mit C++ zu tun.

    @UchihaMadara sagte in Tastatureingabe überprüfen:

    Die nächste blöde Frage, wie kann ein Programm aussehen, dass im Hintergrund läuft und nichts macht?

    für deine Keyboard-Spielerei? Einen Lowlevel Keyboardhook installieren. der wird dann nur aufgerufen wenn es auch etwas zu verarbeiten gibt.



  • @Swordfish
    Habe jetzt alles bis auf das Programm was nichts machen soll.
    Eine while-Funktion mit sleep (100) wäre das in Ordnung, oder gibt es da eine bessere Lösung?
    Die CPU soll ja nicht glühen xD



  • Du sollst einen Keyboard Hook installieren, Baby.



  • @Swordfish
    Danke für die alternative Lösung, jedoch möchte ich das umsetzen wonach ich frage.



  • Ja, wonach fragst Du?

    @UchihaMadara sagte in Tastatureingabe überprüfen:

    Habe jetzt alles bis auf das Programm was nichts machen soll.

    kann ja nur ein schlechter Witz sein. Wofür soll ein Programm das nichts tut *überhaupt* laufen.



  • @Swordfish
    Ja, in der Theorie muss es nichts tun.
    In der Praxis muss es bestimmt irgendwas hochzählen, damit es aktiv bleibt.
    Was sieht ein Programm aus, das läuft aber wenig Ressourcen verbraucht?





  • @Swordfish
    Super vielen Dank 😃



  • Habe es geschafft, vielen Dank für eure Hilfe 😃
    Eine letzte Frage hätte ich noch, wie kann man eine exe Datei mit Windows zusammen starten lasse, sodass ich nicht jedes mal beim Hochfahren die exe Datei ausführen muss.



  • Run and RunOnce Registry Keys oder einfach in den Autostart-(engl. Autorun-) Ordner im Startmenü einen Link machen.


Log in to reply