An einem PC sind zwei USB-Tastaturen angeschlossen. Wie kann ich in einem Programm die Eingaben der beiden Tastauren auseinanderhalten?
Davis schrieb: > An einem PC sind zwei USB-Tastaturen angeschlossen. Wie kann ich in > einem Programm die Eingaben der beiden Tastauren auseinanderhalten? Du hast im: /dev/input/by-path/ Verzeichnis einen Eintrag pro Device:
1 | ls -l /dev/input/by-path/ |
2 | insgesamt 0 |
3 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 pci-0000:00:1d.0-usb-0:1:1.0-event-mouse -> ../event7 |
4 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 pci-0000:00:1d.0-usb-0:1:1.0-mouse -> ../mouse1 |
5 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 platform-i8042-serio-0-event-kbd -> ../event0 |
6 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 platform-i8042-serio-1-event-mouse -> ../event6 |
7 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 platform-i8042-serio-1-mouse -> ../mouse0 |
8 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 platform-i8042-serio-2-event-mouse -> ../event8 |
9 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 platform-i8042-serio-2-mouse -> ../mouse2 |
10 | lrwxrwxrwx 1 root root 9 Mai 17 13:57 platform-pcspkr-event-spkr -> ../event5 |
Wenn mehrere Tastaturen angeschlossen sind, so gibt's auch mehrere Devices deren 'events' man nutzen kann. (Hier sind's mehrere Mäuse)
Norbert schrieb: > Wenn mehrere Tastaturen angeschlossen sind, so gibt's auch mehrere Devices Dabei hilfreich: wenn man nicht will, dass die events/Tastendrücke von der Zweittastatur mit denen der Ersttastatur zusammengewürfelt werden: "EVIOCGRAB"-ioctl auf den event-device-filehandle.
Vielen Dank für eure Antworten. Unter LINUX sieht das "relativ" problemlos aus. Was ist mit Windows?
Norbert schrieb: > Wenn mehrere Tastaturen angeschlossen sind, so gibt's auch mehrere > Devices deren 'events' man nutzen kann. (Hier sind's mehrere Mäuse) Schon richtig. Ich bin mir aber nicht sicher ob die üblichen Programmiersprachen unter Windows das so ohne weiteres können. Der TE hat leider nicht angegeben, welches OS er verwendet. Und das normale Programm wie Word oder so kann es gar nicht, wozu auch...
egal schrieb: > Schon richtig. Ich bin mir aber nicht sicher ob die üblichen > Programmiersprachen unter Windows das so ohne weiteres können. Der TE > hat leider nicht angegeben, welches OS er verwendet. Und das normale > Programm wie Word oder so kann es gar nicht, wozu auch... Einen C-Compiler gibt's auch bei Windows, die Frage ist eher ob das Win-OS so etwas 'Frickeliges' (um mal eine hier sehr gerne genutzte Umschreibung Unixoider Betriebssysteme zu verwenden) zur Verfügung stellt. Welche Programme involviert sind wissen wir alle nicht.
Unter Windows geht das über die "Raw Input API": http://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v=vs.85).aspx ...hier wird das z.B. eingesetzt (C#): http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard
bluppdidupp schrieb: > Unter Windows geht das über die "Raw Input API": > http://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v=vs.85).aspx > ...hier wird das z.B. eingesetzt (C#): > http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard Vielen Dank: das habe ich gesucht :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.