AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 Tastaturen an einem PC

Ein Thema von WochenEnte · begonnen am 12. Feb 2018 · letzter Beitrag vom 13. Feb 2018
Antwort Antwort
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#1

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 10:30
Hmm..

Das geht schon!

Stichworte:
GetRawInputDeviceList
-> Holen aller RAWInputdevices
GetRawInputDeviceInfo
-> Holen des RIDI_DEVICENAME
-> Damit Auflisten aller Keyboards
-> Auswählen und merken des DeviceNames (Des Keyboards, dessen Tasten du haben willst)

RegisterRawInputDevices
-> Registrieren eines InputDevices (mit RIDEV_INPUTSINK, damit Gloabl)

-> In 'procedure TForm.WndProc(var Message: TMessage);' auf WM_INPUT reagieren
-> Darin per GetRawInputData + GetRawInputDeviceInfo das Sender-Keyboard ermitteln
-> Wenn es das Ausgewählte ist: Mit dem Keyboard-RAW-Daten arbeiten

So, nur eine kurze Beschreibung.
Habe noch irgendwo ein Testtool, mit dem ich Tastatureingaben in einem Notepad mitschreiben konnte.
Mal sehen ob ich das noch irgendwo finde..
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#2

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 10:33
@HolgerX: Was ist mit den anderen Anwendungen? die bekommen doch auch die Ereignisse beider Tastaturen und machen bestimmt dann irgendwas, obwohl der Tastendruck nur für seine Anwendung gedacht war.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#3

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 10:45
Hmm..

@HolgerX: Was ist mit den anderen Anwendungen? die bekommen doch auch die Ereignisse beider Tastaturen und machen bestimmt dann irgendwas, obwohl der Tastendruck nur für seine Anwendung gedacht war.
Das kann sein.. Habe das Testtool noch nicht gefunden und kann auch somit nicht prüfen.
Jedoch kann er so zumindestens die Tastatureingaben in einer anderen App mitbekommen.

Wenn er nun für seine App Hotkeykombinationen definiert, welche nicht in der anderen App verwendet werden, sollte es so gehen!
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#4

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 11:09
Mit VMware kann man wenn die CPU "VT-d" hat (z.B. I5&I7, aber einige "K-Typen" nicht) eine USB-Tastatur direkt einer VM als USB-Gerät zuweisen, das funktioniert für BarcodeScannern mit USB-Tastatur-Emulation definitiv... da bekommt der HostPC nix mehr von den Barcodes/Macros mit.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#5

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 11:37
Bei den VMs wird oftmals das USB-Device beim Host abgemeldet, von einem anderen Treiber behandelt und in die VM weitergeleitet.
Darum bekommt der Host das dann nicht mehr mit, weil bei ihm das Gerät praktisch nicht mehr verwendet wird.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Feb 2018 um 11:50 Uhr)
  Mit Zitat antworten Zitat
WochenEnte

Registriert seit: 12. Feb 2018
4 Beiträge
 
#6

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 11:39
Bei den VMs wird das USB-Device beim Host abgemeldet, von einem anderen Treiber behandelt und in die VM weitergeleitet.
Darum bekommt der Host das dann nicht mehr mit, weil bei ihm das Gerät praktisch nicht mehr verwendet wird.
Aber kann man sowwas nicht auch pro anwendung einstellen? Das ich in einer anwendung sage "Tastatur xY" ist nur innerhalb dieser anwendung relevant, sonst nichts machen
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#7

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 12:20
@WochenEnte kannst du bitte deinen Beitrag korrigieren, wo du mich "nicht" zitierst hast, aber trotzdem meinen Namen dran geschrieben hast.

Du hattest was von einen Soundboard geschrieben. Im Prinzip möchtest du etwas wie in diesen Video:

https://www.youtube.com/watch?v=xvXw7Y4gKkg
https://www.youtube.com/watch?v=3vC5TsSyNjU

Unterschied ist doch nur, dass du einzelne Samples spielen willst.
Der Typ im Video hat anstelle der Effekt-Samples, kleine Musikteile auf den Knöpfen.

Der Knabe setzt da Abelton Live ein, dass geht auch mit anderer Software.
Reaper, Traktor, SampleDecks und viele viele andere.

Der Kontroller im 1. Video ist ein Abelton Live Push. Der im 2. ist eine Novation Launchpad.
Hier geht aber auch jeder Midi-Controller.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#8

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 12:22
Hmm..

Nicht das ich wüste..

Zurück zum Hook:
Bei SetWindowsHookEx kann eine Tasteneingabe geblockt werden..
Jedoch gibt es indessen Event keine Device Infos.
Somit nur ganz oder garnicht blocken.

Bei RegisterRawInputDevices haben wir zwar die Device-Infos, aber können nicht blocken.
Das WM_INPUT Event wird offensichtlich asynchron ausgeführt und somit hat die andere App bereits ebenfalls die Taste bekommen..

Die einzige Möglichkeit ist ein Treiber. Dieser ersetzt dann den Tastaturtreiber und ermöglicht die Unterbrechung auf Treiber ebene..

Bei den VMs ist das wahrscheinlich genau so gemacht (Treiber).


Ob Du nun für die (saubere) Trennung zwischen den beiden Keyboards einen 'Windows' Treiber proggen willst?
Ich könnte es nicht...
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
982 Beiträge
 
Delphi 6 Professional
 
#9

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 10:36
Hmm..

Was ich vergesen hatte, dass funktioniert auch für Barcodes-Scanner, welche sich als USB-Keyboard anmelden..
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

AW: 2 Tastaturen an einem PC

  Alt 12. Feb 2018, 10:42
Konnte man in der Registry unter Windows nicht auchmal die Scancodes (bzw. VKs) "umlenken"? Wenn man das seperat für bestimmte Keyboards einstellen kann, könntest du auch damit rumspielen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz