Guide Knopf 360 Controll (XBOX Knopf in Mitte) ansprechen
-
3dhubiflieger
- Beiträge: 123
- Registriert: 27.10.2013 12:13
Guide Knopf 360 Controll (XBOX Knopf in Mitte) ansprechen
Hallo, ich suche noch eine Möglichkeit den Guide Button in der Mitte eines XBOX 360 Gamepads anzusprechen ! Wie heisst die Funktion in der Xinput.dll ? Hat jemand dazu Infos ? Ich würde dieses Feature noch gern in mein Programm http://joystartend.npage.de integrieren. Ich habe den Thread Guidecall http://forum.xbmc.org/printthread.php?tid=164695 gefunden. Also muss es irgendwo eine Möglichkeit geben diese Button anzusprechen.
- Chimorin
- Beiträge: 451
- Registriert: 30.01.2013 16:11
- Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit
Re: Guide Knopf 360 Controll (XBOX Knopf in Mitte) anspreche
PB bietet die Möglichkeit, alle Funktionen einer DLL auflisten zu lassen. Du könntest dir ein Programm schreiben, welches genau das macht. Werden aber vermutlich ziemlich viele Funktionen sein, welche du eventuell mit "Regular Expressions" auf "Guide" "Button" und sonstigen Wörtern in der Masse verkleinern könntest.
Oder eben Googlen (Was du aber ziemlich sicher schon getan hast)
Oder eben Googlen (Was du aber ziemlich sicher schon getan hast)
-
3dhubiflieger
- Beiträge: 123
- Registriert: 27.10.2013 12:13
Re: Guide Knopf 360 Controll (XBOX Knopf in Mitte) anspreche
So, nach einer weiteren Suche habe ich 2 Links gefunden, welche in meine Richtung gehen. Ich hab allerdings keine Ahnung wie ich den jetzt nun genau den Status des Guidebuttons abfragen soll. Bzw ich verstehe die Erklärung mit den Funtionen von 100 - 103 nicht.
#XINPUT_GAMEPAD_GUIDE = $0400 ;Das hab ich schonmal als Konstante herrausgefunden
xinput = OpenLibrary (#PB_Any, "xinput1_3.dll") ;in dieser Dll soll die Funktion drin stecken
;XInputGetstateEx ist undocumentiert. Ist aber das selbe wie XInputGetState blos, das halt
;hier noch der Status des Guidebuttons mit zurückgegeben wird. Oder irre ich mich ???
Guidefunction = GetFunction(xinput, "XInputGetStateEx")
Debug Guidefunction ;jetzt müsste doch nen Pointer kommen ?? ....zeigt aber 0 an ??
;Hier ab ich die Infos her....Hab noch keine richtige Ahnung von Dlls....Kann mir jemand helfen ?
http://code.google.com/p/x360ce/issues/detail?id=417
http://www.autohotkey.com/board/topic/9 ... de-button/
#XINPUT_GAMEPAD_GUIDE = $0400 ;Das hab ich schonmal als Konstante herrausgefunden
xinput = OpenLibrary (#PB_Any, "xinput1_3.dll") ;in dieser Dll soll die Funktion drin stecken
;XInputGetstateEx ist undocumentiert. Ist aber das selbe wie XInputGetState blos, das halt
;hier noch der Status des Guidebuttons mit zurückgegeben wird. Oder irre ich mich ???
Guidefunction = GetFunction(xinput, "XInputGetStateEx")
Debug Guidefunction ;jetzt müsste doch nen Pointer kommen ?? ....zeigt aber 0 an ??
;Hier ab ich die Infos her....Hab noch keine richtige Ahnung von Dlls....Kann mir jemand helfen ?
http://code.google.com/p/x360ce/issues/detail?id=417
http://www.autohotkey.com/board/topic/9 ... de-button/
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Guide Knopf 360 Controll (XBOX Knopf in Mitte) anspreche
Versuch es mal mit:
Gruß
Thomas
Code: Alles auswählen
Guidefunction = GetFunctionEntry(xinput, 100) Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
3dhubiflieger
- Beiträge: 123
- Registriert: 27.10.2013 12:13
Re: Guide Knopf 360 Controll (XBOX Knopf in Mitte) anspreche
Hallo Ihr fleissigen Helfer ! Habe es dank ts-soft doch tatsächlich geschaft heut noch ne Procedure für den Guidebutton zu schreiben ! Ich hoffe Ihr könnt Sie auch gebrauchen ! Allerdings hab ichs nur nur wegen Deiner Hilfe >ts_soft< und meinen Links hin bekommen ! Hier ist die Procedure (Is übrigens meine erste in Bezug auf Strukturen) Gibt es vielleicht Verbesserungsmöglichkeiten ?...
Code: Alles auswählen
Procedure Guidebutton()
;ermittelt ob der Guidbutton (der Knopf in der Mitte) gedrückt wurde !
Global xinput
#XINPUT_GAMEPAD_GUIDE = $0400 ;Der Guidebutton !!
#DLLDatei = "xinput1_3.dll"
Structure XINPUT_GAMEPAD
wButtons.w
bLeftTrigger.b
bRightTrigger.b
sThumbLX.w
sThumbLY.w
sThumbRX.w
sThumbRY.w
EndStructure
xinput = OpenLibrary (#PB_Any,#DLLDatei)
If xinput
CallFunctionFast (GetFunctionEntry(xinput, 100) , 0, @XINPUT_gamepad)
CloseLibrary (xinput)
Variable.Xinput_Gamepad
If Variable\wbuttons = #XINPUT_GAMEPAD_GUIDE
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndIf
ProcedureReturn #False
EndProcedure
;Hab mal ne Schleife ohne Ende genommen, da ich zu faul war :)
Repeat
Debug guidebutton()
ForEver
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Guide Knopf 360 Controll (XBOX Knopf in Mitte) anspreche
Naja, Strukturen und Konstanten sind immer Global gültig und sind innerhalb einer Procedure deshalb auch deplaziert.
Prototypes sind den CallFunction... immer vorzuziehen.
Also grob überarbeitet:
Gruß
Thomas
Prototypes sind den CallFunction... immer vorzuziehen.
Also grob überarbeitet:
Code: Alles auswählen
#XINPUT_GAMEPAD_GUIDE = $0400 ;Der Guidebutton !!
#DLLDatei = "xinput1_3.dll"
Structure XINPUT_GAMEPAD
wButtons.w
bLeftTrigger.b
bRightTrigger.b
sThumbLX.w
sThumbLY.w
sThumbRX.w
sThumbRY.w
EndStructure
Prototype guidbutton(UserIndex.l, *pState.XINPUT_GAMEPAD)
Procedure Guidebutton()
;ermittelt ob der Guidbutton (der Knopf in der Mitte) gedrückt wurde !
Protected xinput, getguidbutton.guidbutton, x_struct.XINPUT_GAMEPAD
xinput = OpenLibrary (#PB_Any, #DLLDatei)
If xinput
getguidbutton = GetFunctionEntry(xinput, 100)
getguidbutton(0, @x_struct)
CloseLibrary (xinput)
If x_struct\wbuttons = #XINPUT_GAMEPAD_GUIDE
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndIf
ProcedureReturn #False
EndProcedure
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
