Zweite Tastatur (USB) für Makros "missbrauchen"

  • [[EDIT: ich vergaß zu erwähnen, dass ich für folgendes dringend Hilfe benötige bzgl. der Abfrage+Umleitung der zweiten Tastatur. Danke]]

    Hi!

    Ich habe nun vor ein paar Tagen stundenlang nach sowetwas gegoogelt, aber nichts gefunden.

    Und zwar folgendes Szenario:
    an einen PC mit WinXP/2003 soll eine zweite Tastatur an USB angeschlossen werden.
    Alles was an der (zweiten) Tastatur eingegeben wird soll nicht als konventionelle Eingabe geschehen, sondern anders verarbeitet werden, z.B. Makros ausführen.

    Beispielanwendung: Durch drücken von "Q" an der zweiten Tastatur wird nicht ein "Q" geschrieben, sondern z.B. Word geöffnet.

    Okay, das ist an sich nicht spektakulär. Aber man stelle sich die Möglichkeiten vor, die einem dadurch geboten werden. So könnte man doch die Tasten der zweiten Tastatur allesamt bekleben mit Symbolen für hintelegte Makros - das würde doch 1. geil aussehen, und 2. effektiver sein, als sich 100te von Shortcuts zu Programmen und Funktionen zu merken.

    Also konkreter:
    - 2. Tastatur am PC (über USB) in WinXP/2003 identifizieren
    - diese Eingabe umleiten und auswerten
    - 1. Tastatur "ganz normal" (ggf. auch an USB angeschlossen; vielleicht machts dies ja einfacher?)

    Ich bedanke mich schonmal für rege Anregungen :thumbup:

    Einmal editiert, zuletzt von Striker2010 (2. Januar 2009 um 14:55)

  • Dieses Projekt würde mir super gefallen! Ich würde das auf jedem Fall benutzen!
    Tipp: Beschränke das nicht nur auf Buchstaben, es gibt ja auch externe Numpads und so...

    Viel Slück! ;)

  • ...sollten später dann alle, oder zumindest die Alphanumerischen, Tasten der zweiten Tastatur beliebig belegt werden können.
    Vielleicht gehen Ctrl/Alt/Del/... und Konsorten nicht, aber wer weiß?

    Was ich mir übers Internet mal zusammengelesen hab ist, dass Windows die Tastaturen in keinster weiße differenziert. Aber das waage ich zu bezweifeln, gerade doch bei USB hat doch jedes Gerät seine eigene ID, oder?
    Könnte man nicht über die ID dann die Daten abfangen, sei es auch der Keycode (also das, was die Tastatur "nackt" sendet und dann vom OS ausgewertet werden muss in ASCII z.B.)?

    Liebe "Hardwarenahen" Programmierer/Scripter/Coder... ihr kennt da bestimmt ein Trick ;)

    in diesem Sinne!

  • ...da hast du mich auf eine Idee gebracht! Deswegen hab ich mal gegooglet und fand prompt folgende Seite:
    Link entfernt

    da wird ein Keylogger mit vollem Code gezeigt. Soviel zum Thema Keylogger?!

    Ich möchte ja aber keinen Keylogger in dem Sinne realisieren. Ich würde gerne erfahren bzw. von jemand Erfahrenem wissen, wie man auf Hardwareebene die zwei Tastaturen unterscheiden kann in der Eingabe.
    Vielleicht weiß da ja jemand rat.

    Lg, Striker

    Edit peethebee: Link entfernt

    • Offizieller Beitrag

    Um es mal abschließend zu beantworten: Du kannst natürlich eine zweite Tastatur anschließen. Diese wird auch problemlos erkannt - ABER: Windows differenziert nicht von welcher Tastatur eine Eingabe kommt, das ist dem System schnuppe egal :P . Du kannst z.B. auf Tastatur1 <ALT> drücken und auf der zweiten <F4> und schon wird das aktuelle Programm beendet. :D

  • ...es müsste doch irgendwie gehen, die 2te Tastatur-Eingabe schon vorm 'Tastaturpuffer' umzuleiten o.ä.

    Also: Windows hat ja Treiber (lol). Und wenn die Tastatur an USB ist, dann geht es doch erst ins OS (Win), über den Treiber und dann in den Tastaturpuffer (bei PS/2 würds direkt reingehen).
    Wieso das ganze? Klar, die Legacy-Unterstützung vom BIOS wird ja nach laden eines PnP-OS 'außer Kraft gesetzt', also muss das OS dies übernehmen (ist das richtig?).

    Wenn es nun also möglich wäre, seitens eines Treibers ODER eines Programms über eine WinAPI o.ä. direkt auf der Geräteebene die Eingabe DIESER USB-Tastatur abfängt und nicht an den Tastaturpuffer weiterleitet, so könnte man mit der Eingabe ja machen was man will. Und nach diesem Prinzip wäre die erste ("normale") Tastatur unberührt.

    Dann würde das drücken von >ALT< auf der einen und >F4< auf der anderen kein Programm mehr schließen ;)

    aber danke für die Anregungen!
    Bin noch eifrig am Suchen im Googleparadies (ironischer weise mit dem Chrome von gleichnamien [IRONIE]Wohlfahrtsverband[/IRONIE] :thumbup: )

  • ...ich bin nun über etliches gestoßen (ja, ich such immernoch danach, ehrgeiz!) und lande nun in der registry von win...

    da gibts unter HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Enum \HID die ganzen Tastaturen und Mäuse. Keine Ahnung was da alles rumfährt, aber da gibts ein Teil: "Service" mit dem Wert "kbdhid".
    Dieses "kbdhid" taucht auch "weiter unten" auf unter \REGISTRY\MACHINE\SYSTEM\ControlSet001\Services\Kbdclass.

    Vielleicht jemand eine Idee? Ich bin so nah dran, die Eingabe der 2. Tastatur umzuleiten... 8o 8o 8o