Battlefield 3 Joystick und mehere Gamepads HowTo

Marcellus5000

PC-Selbstbauer(in)
Hallo zusammen,

ich habe das Problem, dass mein alter Logitech WingMan Force 3D nicht erkannt wird solange noch andere Controller stecken.
Da mir das gekrabble unter dem Schreibtisch und Entfernen der USB Stecker zu müßig ist und das Deaktivieren der Geräte im Gerätemanager zu fummelig ist, nutze ich devcon.
Hier eine Anleitung dazu. Wer also mehrere Controller/Gamepads etc und einen Joystick nutzt und ähnliche Problene hat, kann ja mal schauen, ob ihm das hilft.



  • Devcon runterladen:

64 Bit Intel (z.B. Windows 7 64 Bit):
Download Windows Driver Kit Version 7.1.0 from Official Microsoft Download Center
Iso runterladen, mounten oder brennen. setuptools_x64fre_cab001.cab suchen mit 7z öffnen und die Datei _devcon.exe_00000 rauskopieren und in devcon.exe umbennen

32: Bit / andere
Befehlszeilendienstprogramm "DevCon" als Alternative zum Geräte-Manager
Datei runterladen.


  • Gamepad HW ID rausfinden
devcon findall hid* und id suchen. Anhand der Beschreibung die relevanten Controller suchen und Eintrag bis zum zweiten \ kopieren (Beispiel siehe unten)



  • Devcon im Script nutzen
mit devon enable und disable kann man die anderen Controller deaktivieren und wieder aktivieren:
z.b. devcon disable "HID\VID_046D&PID_C218"

Das ganze halt noch in eine *.cmd Datei fürs Deaktvieren kopieren und entsprechend in eine *.cmd fürs Aktivieren.
 
Zuletzt bearbeitet:
Achso und hier noch für Leute die eine Soundblaster mit dem Scout Mode nutzen
Ich habe bei mir die Hotkeys für diesen so eingestellt an=alt+s und aus=alt+d

Hier der Code dazu (in *.vbs datei kopieren)
Das Ausschalten läuft bei mir im Autostart von Windows und das Einschalten in einem Script, das den Jostick aktiviert, sowie den P0 Level der Graka

'scout mode einschalten
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "%{s}"

und
'scout mode ausschalten
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "%{d}"
 
Da ich statt eines Controllers/Gamepads ein Bluray-Laufwerk deaktivieren und wieder aktivieren möchte/muss, wird mir diese Anleitung bestimmt hilfreich sein. Jedoch möchte ich wissen, wohin ich die Devcon.exe kopieren muss (in welchen Ordner). Ich hoffe, jemand kann mir helfen.

Gruß, 98romi

Nachtrag:
Also wenn ich mein Bluray-Laufwerk am Laptop deaktivieren und wieder aktivieren möchte muss ich das also folgendermaßen schreiben:

devcon disable HID\bluray-laufwerk-id
devcon enable HID\bluray-laufwerk-id

Bitte verbessert mich, wenn ich es falsch gemacht habe.

Falls jemand wissen möchte warum ich das Bluray-Laufwerk deaktivieren und wieder aktivieren muss: http://extreme.pcgameshardware.de/p...fuer-windows-7-wegen-dvd-bluray-laufwerk.html
 
Zuletzt bearbeitet:
Wegen dem Ort, der ist egal. Wenn Du in der *.cmd/bat Datei den Pfad zu devcon.exe angibst (zb d:\tools\devcon.exe) oder Du packst es in einen Pfad der in %PATH% Variablen gelistet ist
echo %PATH%

Dann BD mit devcon findall (devon -help) suchen (müßte ja was mit usb sein also geht auch devcon findall | find /I "usb"

devcon disable HID\bluray-laufwerk-id
devcon enable HID\bluray-laufwerk-id

[/url]

Nein HID bedeutet Human Interface Device. Bei Dir müßte es USB sein.
Sonst passt es.
 
Danke für die Antwort!
Könntest du mir bitte mal die ganze Batch-Datei schreiben? Da ich die ID meines Bluray-Laufwerk nicht weiß, nimm einfach folgende ID: Laufwerk
Dann muss ich nur noch die richtige ID einsetzen.
Danke!
MFG, 98romi
 
notepad öffnen und dann speichern Batch an.cmd mit diesem Inhalt
@echo off
d:/tools/devcon.exe enable Laufwerk


notepad öffnen und dann speichern Batch aus.cmd mit diesem Inhalt
@echo off
d:/tools/devcon.exe disable Laufwerk


So OK? :D
 
Danke für die Hilfe!
Geht es so auch?:

@echo off
d:/tools/devcon.exe disable Laufwerk
d:/tools/devcon.exe enable Laufwerk

MFG, 98romi
 
kein Thema.
Wenn Du es so machst schaltet es aus und dann sofort wieder ein .
Du kannst ein pause einbauen. Dann wartet das script bis du irgendeine Taste drückst und führt dann das Einschalten aus.


@echo off
d:/tools/devcon.exe disable Laufwerk
pause
d:/tools/devcon.exe enable Laufwerk
 
Kann man es auch so machen, dass zwischen dem Deaktivieren und Aktivieren eine bestimmte Zeit gewartet wird (zum Beispiel 5 Sekunden)?
 
Da gibt es nen billigen aber effektiven trick
ping -n 5 localhost >nul
Das bewirkt das der rechner sich fünf mal selber pingt ohne das eine ausgabe zu sehen ist. Das sind dann ca fünf Sekunden
 
OK danke für die Antwort!
Ich habe im Internet auch einige Programme gefunden, mit denen man die Batch ein paar Sekunden anhalten kann (zum Beispiel wait.exe). Würde es mit diesen auch funktionieren?
MFG, 98romi
 
Ich glaube, dass es auch ohne Internet geht, weil ich bei einem anderen PC genau dieses Kommando von dir (5 localhost>nul) in eine Batch-Datei (im Autostart-Ordner) geschrieben habe. Bei diesem PC dauert es immer kurz, bis nach dem Anmelden eine Internetverbindung besteht, die Batch-Datei öffnet sich jedoch sofort.
 
Ich glaube, dass es auch ohne Internet geht, weil ich bei einem anderen PC genau dieses Kommando von dir (5 localhost>nul) in eine Batch-Datei (im Autostart-Ordner) geschrieben habe. Bei diesem PC dauert es immer kurz, bis nach dem Anmelden eine Internetverbindung besteht, die Batch-Datei öffnet sich jedoch sofort.

localhost = 127.0.0.1 ist immer erreichbar, auch ohne Netzwerrkarte und egal in welchem Betriebsystem.
Das ganze wird nur gemacht um ca 5 Sekunden pause einzubauen.
 
Zurück