[Code] Logitech G15
Ja, auf 320x240 32bit. Damit kann man schon ordentlich was anfangen, vor allem weil man mehr Platz für Infos hat. Auch ist das Display nun schnell genug um z.B. Videos drauf laufen zu lassen, kann man je nach Applet auch für anderes gut gebrauchen, wo eben ein schneller Bildwechsel benötigt wird.
Inzwischen blick ich nun schon etwas mehr durch, hier und da konnte ich schon einiges einbinden (z.B. die Strukturen), aber das kann wohl noch dauern bis das Ganze auch wirklich funktioniert.
Wie gesagt würde ich den Code gerne so umschreiben, dass man sowohl das G15 bzw. G13 (selbes Display) ebenso wie die G19 in seinem Prog unterstützen kann, was ich nämlich in einem meiner aktuellen kleineren Projekte gerne tun würde. Vielleicht schreib ich den Code auch komplett neu, in fertigem Code rum basteln ist immer so ne Sache.
Und hergeben tue ich die G19 nicht mehr, die hat meine G15 abgelöst und ist noch mal deutlich besser.
Inzwischen blick ich nun schon etwas mehr durch, hier und da konnte ich schon einiges einbinden (z.B. die Strukturen), aber das kann wohl noch dauern bis das Ganze auch wirklich funktioniert.
Wie gesagt würde ich den Code gerne so umschreiben, dass man sowohl das G15 bzw. G13 (selbes Display) ebenso wie die G19 in seinem Prog unterstützen kann, was ich nämlich in einem meiner aktuellen kleineren Projekte gerne tun würde. Vielleicht schreib ich den Code auch komplett neu, in fertigem Code rum basteln ist immer so ne Sache.
Und hergeben tue ich die G19 nicht mehr, die hat meine G15 abgelöst und ist noch mal deutlich besser.
Als Alternative kanns Du auch MyLCD benutzen,dortHoto hat geschrieben: dass man sowohl das G15 bzw. G13 (selbes Display) ebenso wie die G19 in seinem Prog unterstützen kann.
werden mehr als nur Logitech-LCD's unterstützt.
- HeX0R
- Beiträge: 2959
- 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:
Da dürftest du eh Zeit genug haben.
Ich würde mal tippen, ausser dir nennt etwa ein anderer User in diesem Board dieses Keyboard sein eigen.
Beim G15 hab ich schon lange überlegt, ob ich bereit bin den Betrag zu berappen, aber das G19 ist meines Erachtens beim Preis jenseits von Gut und Böse.
Immerhin ist es trotz allem Schnickschnack doch "nur" ein Keyboard.
Ich würde mal tippen, ausser dir nennt etwa ein anderer User in diesem Board dieses Keyboard sein eigen.
Beim G15 hab ich schon lange überlegt, ob ich bereit bin den Betrag zu berappen, aber das G19 ist meines Erachtens beim Preis jenseits von Gut und Böse.
Immerhin ist es trotz allem Schnickschnack doch "nur" ein Keyboard.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Der Preis wird mit der Zeit auch noch etwas weiter nach unten gehen und für den Preis kriegt man wirklich eine 1A Tastatur, vor allem die Verarbeitung und alles wirkt noch mal ne Klasse besser als bei der G15 und dort war sie schon sehr gut. Ich bereue den Kauf jedenfalls nicht und Jeder der sie sich bisher zugelegt hat auch nicht (auf g15-applets.de zumindest). Und je mehr Software es gibt, die die Tastatur unterstützt, desto interessanter wird sie auch, trotz des Preises (akt. bei ca. 127 Euro).
Für mein Projekt ist jedenfalls das G19 Display ein wichtiger Bestandteil, ich komm nur zur Zeit nicht so recht zum programmieren, langsam aber sicher komme ich aber hinter den Aufbau der Treiber und ich hoffe die G19 bald in PB zum laufen zu kriegen.
Versteht sich von selbst, dass ich dann den Source hier veröffentlichen werde.
Für mein Projekt ist jedenfalls das G19 Display ein wichtiger Bestandteil, ich komm nur zur Zeit nicht so recht zum programmieren, langsam aber sicher komme ich aber hinter den Aufbau der Treiber und ich hoffe die G19 bald in PB zum laufen zu kriegen.
Versteht sich von selbst, dass ich dann den Source hier veröffentlichen werde.
Re: [Code] Logitech G15
So ... da nun PB4.5 intern die Images mit 24Bit als Minimum ansieht,
funktioniert diese Include nun nicht mehr.
Aber mit einer minimalen Änderung geht es trotzdem :
In der Prozedur G15_MakeImage() muss man kurzerhand die Imagetiefe festsetzen !
Man muss halt nur selber aufpassen, dass man für das G15 Display nur Schwarz
und Weiss zum malen nehmen darf !
Ok. Ist dirty, aber irgendwie muss ich als Anfänger das Ding doch zum laufen kriegen
By the way ... diese Include funktioniert auch mit der G19 !
(Hat doch zufällig ein G19 Nutzer nicht lesen können und einfach mein Applet
gestartet und es lief... )
Dort wird dann das Bild "hochskaliert". Ob es allerdings mit anderen Auflösungen und Farben
läuft, kann ich aus Ermangelung einer solchen Tastatur nicht sagen.
Und die 4 Buttons funktionieren ebenfalls ...
funktioniert diese Include nun nicht mehr.
Aber mit einer minimalen Änderung geht es trotzdem :
In der Prozedur G15_MakeImage() muss man kurzerhand die Imagetiefe festsetzen !
Code: Alles auswählen
Procedure G15_MakeImage(Image, *bitmap.lgLcdBitmap160x43x1)
Protected A.l, x.l, y.l, w.l, h.l, d.l, Result.l, hDC, *bmi.BITMAPINFO, *Buffer
Protected *H1.BYTE, *H2.LONG
If IsImage(Image) = 0
ProcedureReturn #False
EndIf
w = ImageWidth(Image)
h = ImageHeight(Image)
d = 8 ; ImageDepth(Image) ;###### HIER IST DIE Änderung
If d <> 8 Or w > #LGLCD_BMP_WIDTH Or h > #LGLCD_BMP_HEIGHT
ProcedureReturn #False
EndIf
[...]
EndProcedure
und Weiss zum malen nehmen darf !
Ok. Ist dirty, aber irgendwie muss ich als Anfänger das Ding doch zum laufen kriegen
By the way ... diese Include funktioniert auch mit der G19 !
(Hat doch zufällig ein G19 Nutzer nicht lesen können und einfach mein Applet
gestartet und es lief... )
Dort wird dann das Bild "hochskaliert". Ob es allerdings mit anderen Auflösungen und Farben
läuft, kann ich aus Ermangelung einer solchen Tastatur nicht sagen.
Und die 4 Buttons funktionieren ebenfalls ...
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
- HeX0R
- Beiträge: 2959
- 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: [Code] Logitech G15
Ich hab noch die Ur-Fassung gefunden, in der ich noch alle möglichen Bittiefen verarbeitet hatte.
Der Einfachheithalber hatte ich das irgendwann rausgeworfen, konnte ja nicht ahnen, dass es wieder gebraucht wird.
(Gibt ausserdem noch die Möglichkeit das Bild Invers darzustellen)
Edit:
Ich hab das auch mal in das Original eingepflegt.
Der Einfachheithalber hatte ich das irgendwann rausgeworfen, konnte ja nicht ahnen, dass es wieder gebraucht wird.
Code: Alles auswählen
Procedure G15_MakeImage(Image, *bitmap.lgLcdBitmap160x43x1, Invers = 0)
Protected A, x, y, w, h, d, Result, hDC, *bmi.BITMAPINFO, *Buffer
Protected *HB.BYTE, *HW.WORD, *HL.LONG, *H2.LONG
If IsImage(Image) = 0
ProcedureReturn #False
EndIf
w = ImageWidth(Image)
h = ImageHeight(Image)
d = ImageDepth(Image)
; If w > #LGLCD_BMP_WIDTH Or h > #LGLCD_BMP_HEIGHT
; ProcedureReturn #False
; EndIf
; fix widths and heights
If d = 1
d = 8
EndIf
If w > #LGLCD_BMP_WIDTH
w = #LGLCD_BMP_WIDTH
h = h * #LGLCD_BMP_WIDTH / ImageWidth(Image)
If h > #LGLCD_BMP_HEIGHT
h = #LGLCD_BMP_HEIGHT
w = w * #LGLCD_BMP_HEIGHT / ImageHeight(Image)
EndIf
ElseIf h > #LGLCD_BMP_HEIGHT
h = #LGLCD_BMP_HEIGHT
w = w * #LGLCD_BMP_HEIGHT / ImageHeight(Image)
If w > #LGLCD_BMP_WIDTH
w = #LGLCD_BMP_WIDTH
h = h * #LGLCD_BMP_WIDTH / ImageWidth(Image)
EndIf
EndIf
If w <> ImageWidth(Image) Or h <> ImageHeight(Image)
ResizeImage(Image, w, h)
EndIf
If MyG15\Simulate & #LCD_SIMULATE
CopyImage(Image, MyG15\ImageID)
ResizeImage(MyG15\ImageID, w*2, h*2)
If *bitmap = 0
ProcedureReturn #True
EndIf
EndIf
*bitmap\hdr\Format = #LGLCD_BMP_FORMAT_160x43x1
hDC = StartDrawing(ImageOutput(Image))
If hDC
*bmi = AllocateMemory(SizeOf(BITMAPINFO) + 255 * SizeOf(RGBQUAD))
If *bmi
*bmi\bmiHeader\biSize = SizeOf(BITMAPINFOHEADER)
*bmi\bmiheader\biWidth = w
*bmi\bmiheader\biHeight = - h
*bmi\bmiheader\biPlanes = 1
*bmi\bmiheader\biBitCount = d
*bmi\bmiheader\biCompression = #BI_RGB
*Buffer = AllocateMemory(w * h * (d / 8))
If *Buffer = 0
StopDrawing()
Else
Result = GetDIBits_(hDC, ImageID(Image), 0, h, *Buffer, *bmi, #DIB_RGB_COLORS)
StopDrawing()
If Result
Select d
Case 8
*HB = *Buffer
For y = 0 To #LGLCD_BMP_HEIGHT - 1
For x = 0 To #LGLCD_BMP_WIDTH - 1
If y >= h Or x >= w
A = 255
Else
*H2 = *bmi\bmiColors + (*HB\b & $FF) * SizeOf(RGBQUAD)
A = (*H2\l & $FF) + ((*H2\l >> 8) & $FF) + ((*H2\l >> 16) & $FF)
*HB + 1
EndIf
If Invers
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = B / 3
Else
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = 255 - (A / 3)
EndIf
Next x
Next y
Case 16
*HW = *Buffer
For y = 0 To #LGLCD_BMP_HEIGHT - 1
For x = 0 To #LGLCD_BMP_WIDTH - 1
If y >= h Or x >= w
A = 510
Else
A = (*HW\w & $ff) + ((*HW\w >> 8) & $ff)
*HW + 2
EndIf
If Invers
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = A / 2
Else
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = 255 - (A / 2)
EndIf
Next x
Next y
Case 24
*HL = *Buffer
For y = 0 To #LGLCD_BMP_HEIGHT - 1
For x = 0 To #LGLCD_BMP_WIDTH - 1
If y >= h Or x >= w
A = 765
Else
A = (*HL\l & $FF) + ((*HL\l >> 8) & $FF) + ((*HL\L >> 16) & $FF)
*HL + 3
EndIf
If Invers
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = A / 3
Else
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = 255 - (A / 3)
EndIf
Next x
Next y
Case 32
*HL = *Buffer
For y = 0 To #LGLCD_BMP_HEIGHT - 1
For x = 0 To #LGLCD_BMP_WIDTH - 1
If y >= h Or x >= w
A = 765
Else
A = (*HL\l & $FF) + ((*HL\l >> 8) & $FF) + ((*HL\L >> 16) & $FF)
*HL + 4
EndIf
If Invers
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = A / 3
Else
*bitmap\pixels[y * #LGLCD_BMP_WIDTH + x] = 255 - (A / 3)
EndIf
Next x
Next y
EndSelect
EndIf
FreeMemory(*Buffer)
EndIf
FreeMemory(*bmi)
Else
StopDrawing()
EndIf
EndIf
ProcedureReturn Result
EndProcedure
Edit:
Ich hab das auch mal in das Original eingepflegt.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: [Code] Logitech G15
Thx G15 Chef
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