Logitech G15 u. G19 EasyAccess
Re: Logitech G15 u. G19 EasyAccess
dann schau dir die "G15_G19_Devel.pbi" nochmal genau an, da stehts drin...
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Logitech G15 u. G19 EasyAccess
Um dich nich zu lang auf die Folter zu spannen, so stehts drin:
Man soll eine Prozedur in diesem Stil erstellen:
Und dann die Verbindung zum Display wie folgt aufbauen:
Und schon wirst du sehen, was bei den einzelnen Buttons für Debugs rauskommen, und wie du diese Daten verarbeiten kannst. Is eigentlich mit jedem anderen Callback zu vergleichen, du musst eben nur eine Prozedur mit entsprechenden Parametern erstellen...
(Steht übrigens alles so wunderbar erklärt im Code^^, ein bisschen probieren wirkt da wunder
Man soll eine Prozedur in diesem Stil erstellen:
Code: Alles auswählen
Procedure OnSoftButtonsCallBack(device.l, dwButtons.l, *pContext)
Debug device
Debug dwButtons
Debug "----"
EndProcedure
Und dann die Verbindung zum Display wie folgt aufbauen:
Code: Alles auswählen
Logi\Connect(ProgramName, 0, 0, @OnSoftButtonsCallBack())
(Steht übrigens alles so wunderbar erklärt im Code^^, ein bisschen probieren wirkt da wunder
(\/) (°,,,°) (\/)
-
- Beiträge: 390
- Registriert: 30.08.2004 09:05
- Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64 - Wohnort: Heidelberg
Re: Logitech G15 u. G19 EasyAccess
Das hatte ich gestern auch raus bekommen
Aber danke.
Ich hatte mir die G15_G19_Devel.pbi nicht angeschaut.
Kanns ja direct auf dem LCD anzeigen lassen.
Aber danke.
Ich hatte mir die G15_G19_Devel.pbi nicht angeschaut.
Kanns ja direct auf dem LCD anzeigen lassen.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Re: Logitech G15 u. G19 EasyAccess
Naja, das steht übrigens auch wunderbar als Kommentar in der G15_G19.pbi bei dem Connect()-Befehlt dabei, da hatte ich es damals entdeckt^^
(\/) (°,,,°) (\/)
- lassma-asma
- Beiträge: 107
- Registriert: 10.07.2007 09:14
- Wohnort: Saarland
Re: Logitech G15 u. G19 EasyAccess
ganz doofe Frage :
Wenn ich den Code vom ersten Post ( dieses Include) ausführe bekomme ich
#LGLCD_NOTIFICATION_CLOSE_CONNECTION
Konstante bereits mit anderem Wert deklariert
obwohl sie im Code darüber ja gar nicht vorkommt ...
wie kann das sein und was kann ich machen um das Include laufen zu lassen ?
danke schonma
Wenn ich den Code vom ersten Post ( dieses Include) ausführe bekomme ich
#LGLCD_NOTIFICATION_CLOSE_CONNECTION
Konstante bereits mit anderem Wert deklariert
obwohl sie im Code darüber ja gar nicht vorkommt ...
wie kann das sein und was kann ich machen um das Include laufen zu lassen ?
danke schonma
Gruß lassma-asma
MultiPONG
HANGMAN
PB 3.94 und PureBasic 4.51 !!!
MultiPONG
HANGMAN
PB 3.94 und PureBasic 4.51 !!!
- HeX0R
- Beiträge: 2961
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 - Kontaktdaten:
Re: Logitech G15 u. G19 EasyAccess
Ich schätze, du hast noch die alte User-Lib von mir.
Da war auch eine Resident-Datei dabei (ich schätze mal G15.res, weiss es aber nicht mehr), die musst du löschen und PB neustarten.
Am besten auch gleich die alte Lib aus PureLibraries\UserLibraries mitlöschen.
Da war auch eine Resident-Datei dabei (ich schätze mal G15.res, weiss es aber nicht mehr), die musst du löschen und PB neustarten.
Am besten auch gleich die alte Lib aus PureLibraries\UserLibraries mitlöschen.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: Logitech G15 u. G19 EasyAccess
Ich wollte das ganze mal für das neue SDK (1.x) anpassen, das seit Treiberversion 8.x nur noch existiert, und stosse da auf ein paar Probleme.
1. Ich kann die .Lib Datei nicht nutzen, git laufend POLINK Errors (undefined symbol), aber da nehm ich wohl die falsche Bezeichnung...
dann schwenke ich also zur DLL Nutzung.
Wenn ich die DLL per Openlibrary() aufrufe und die Funktionen per Prototype initialisiere, klappt alles, allerdings nur, wenn man die Funktionen
NICHT in einer Prozedur aufruft !
Also wenn ich z.B. das LogiLcdInit() in einer Prozedure benutze gibt es nen IMA.
Was mache ich da falsch ?
Kurz angerissen :
Ist hierbei egal, ob G15 oder G19 angebaut ist (also der LCDType)
Weiss jemand Rat ?
1. Ich kann die .Lib Datei nicht nutzen, git laufend POLINK Errors (undefined symbol), aber da nehm ich wohl die falsche Bezeichnung...
dann schwenke ich also zur DLL Nutzung.
Wenn ich die DLL per Openlibrary() aufrufe und die Funktionen per Prototype initialisiere, klappt alles, allerdings nur, wenn man die Funktionen
NICHT in einer Prozedur aufruft !
Also wenn ich z.B. das LogiLcdInit() in einer Prozedure benutze gibt es nen IMA.
Was mache ich da falsch ?
Kurz angerissen :
Code: Alles auswählen
#LOGI_LCD_TYPE_MONO = $00000001
#LOGI_LCD_TYPE_COLOR = $00000002
Lib = OpenLibrary(#PB_Any, "x86/LogitechLcd.dll")
Prototype.b _LogiLcdInit(friendlyName.p-Unicode, lcdType.l);
Prototype.b _LogiLcdIsConnected(lcdType)
; Prototype.b
If lib
Global LogiLcdInit._LogiLcdInit = GetFunction(Lib, "LogiLcdInit")
Global LogiLcdIsConnected._LogiLcdIsConnected = GetFunction(Lib, "LogiLcdIsConnected")
EndIf
Procedure LCDInit2(AppName.s, lcdType)
If LogiLcdInit
ProcedureReturn LogiLcdInit(AppName, lcdType)
EndIf
EndProcedure
If LCDInit2("Hello", #LOGI_LCD_TYPE_COLOR) ; IMA
; If LogiLcdInit("Hello", #LOGI_LCD_TYPE_COLOR) ; <-- Kein IMA,
If LogiLcdIsConnected
Debug LogiLcdIsConnected(#LOGI_LCD_TYPE_COLOR)
EndIf
EndIf
Weiss jemand Rat ?
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Logitech G15 u. G19 EasyAccess
Ich wollte schon fragen wo Du die dll her hast, aber nach einem Update per Hand
habe ich die nun auch.(da sieht man mal wieder wie gut automatische Udates laufen.. )
Um sicher zu sein das die dll auch geladen ist habe ich ein "Debug Lib" eingefügt.
Der Debugoutput
Edit
Mit der 32bit dll unter Windows7 64 bit bekomme ich auch den IMA
habe ich die nun auch.(da sieht man mal wieder wie gut automatische Udates laufen.. )
Code: Alles auswählen
#LOGI_LCD_TYPE_MONO = $00000001
#LOGI_LCD_TYPE_COLOR = $00000002
Lib = OpenLibrary(#PB_Any, "x64/logitechLcd.dll")
Debug Lib
Prototype.b _LogiLcdInit(friendlyName.p-Unicode, lcdType.l);
Prototype.b _LogiLcdIsConnected(lcdType)
; Prototype.b
If lib
Global LogiLcdInit._LogiLcdInit = GetFunction(Lib, "LogiLcdInit")
Global LogiLcdIsConnected._LogiLcdIsConnected = GetFunction(Lib, "LogiLcdIsConnected")
EndIf
Procedure LCDInit2(AppName.s, lcdType)
If LogiLcdInit
ProcedureReturn LogiLcdInit(AppName, lcdType)
EndIf
EndProcedure
If LCDInit2("Hello", #LOGI_LCD_TYPE_COLOR) ; IMA
; If LogiLcdInit("Hello", #LOGI_LCD_TYPE_COLOR) ; <-- Kein IMA,
If LogiLcdIsConnected
Debug LogiLcdIsConnected(#LOGI_LCD_TYPE_COLOR)
EndIf
EndIf
Der Debugoutput
Hier gibts keinen IMA,liegts an der 64bit Version ?2497360
1
Edit
Mit der 32bit dll unter Windows7 64 bit bekomme ich auch den IMA
Re: Logitech G15 u. G19 EasyAccess
Nunja ich hab mit PBx86 angenommen, auch die x86 DLL nutzen zu müssen, egal ob es auf x64 Win läuft oder nicht.
Aber jetzt wo du das erwähnst klingt es wohl logisch, weil ja nur ein Treiber installiert wird.... hmmm...
Edit:
1. PBx86 und x86.dll auf Win7 x64 = IMA
2. PBx86 und x64.dll = IMA
3. PBx64 und x86.dll = Sinnfrei...
4. PBx64 und x64.dll = ok
Wobei ich das 1. nicht ganz so verstehe, da es nun mit anderen DLL's auch so funktioniert.
Unter anderem gibt es ja 32Bit-G19 Apps die auch auf Win7 x64 problemlos laufen...
Also müsste ich mir dann ein 32 Bit Windows installieren und darauf die Apps basteln ? Klingt merkwürdig.
Aber jetzt wo du das erwähnst klingt es wohl logisch, weil ja nur ein Treiber installiert wird.... hmmm...
Edit:
1. PBx86 und x86.dll auf Win7 x64 = IMA
2. PBx86 und x64.dll = IMA
3. PBx64 und x86.dll = Sinnfrei...
4. PBx64 und x64.dll = ok
Wobei ich das 1. nicht ganz so verstehe, da es nun mit anderen DLL's auch so funktioniert.
Unter anderem gibt es ja 32Bit-G19 Apps die auch auf Win7 x64 problemlos laufen...
Also müsste ich mir dann ein 32 Bit Windows installieren und darauf die Apps basteln ? Klingt merkwürdig.
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
- 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: Logitech G15 u. G19 EasyAccess
Ähm, ich weiß nicht, ob das dazu passt, aber was ich festgestellt habe ist, dass eine mit PB kompilierte DLL (x86) NUR unter x86 funktioniert. Genauso verhält es sich mit den x64-DLLs. Weiß ja nicht, ich habe das auch schon bei einigen anderen DLLs bemerkt, ich glaube das ist einfach so.
Von dem her wäre:
2. PBx86 und x64.dll = IMA ;Doppelt Sinnfrei, warum sollte x86 mit x64 Sachen umgehen können? + Nr.3
3. PBx64 und x86.dll = Sinnfrei... ;An sich logisch, da x64 mit x86 umgehen kann, ABER eben nicht die richtige DLL ist.
Zusatz:
Mit unserer Engine3D.dll ist es genauso. x64 Programm braucht x64 DLL und x86 braucht x86 DLL. Anders kann die Umgebung nicht initialisiert werden.
Von dem her wäre:
2. PBx86 und x64.dll = IMA ;Doppelt Sinnfrei, warum sollte x86 mit x64 Sachen umgehen können? + Nr.3
3. PBx64 und x86.dll = Sinnfrei... ;An sich logisch, da x64 mit x86 umgehen kann, ABER eben nicht die richtige DLL ist.
Zusatz:
Mit unserer Engine3D.dll ist es genauso. x64 Programm braucht x64 DLL und x86 braucht x86 DLL. Anders kann die Umgebung nicht initialisiert werden.