Altaya
BdW-Veteran
Liebe Bewahrer,
Es hat mich jetzt 3 Stunden gekostet herauszufinden wie das Folgende genau funktioniert und einen funktionierenden Code zu finden. Deshalb präsentiere ich alles nun auch Euch. Das findet bestimmt jemand anderes auch nützlich
Es ist vollbracht!
Nun kann die G13 von Logitech meine alten Saitek Command Units voll und eventuell sogar besser ersetzen!
Die G13 (und natürlich auch alle über die Logitech Gaming Software programmierbaren Geräte die verschiedene M-Modi anbieten) kann mittels LUA-Programming so programmiert werden, dass beliebige Tasten als M-Shift Tasten dienen, während man sie gedrückt hält.
Damit ist es nun möglich, die geräteeigene
Shift-Taste meiner bisherigen MadCatz/Saitek Command Unit auch auf den Logitech-Tastaturen zu imitieren.
Der einzige Nachteil: Auf der Command Unit kann man die Shift Taste mit dem Handballen bedienen, bei der Logitech G13 braucht man den Daumen.
Ein Vorteil: Durch insgesamt 3 M-Modi bei der G-13 habe ich die Tastenzahl, die direkt mit den 4 Fingern der linken Hand erreichbar sind nochmal um ein komplettes Set erweitert, zusätzlich zu den eh schon mehr Tasten der G13 im Vergleich zur MadCatz/Saitek Command Unit.
Wie funktioniert das alles nun?
Man muss in der LGS Software ein LUA-Script zusätzlich zum normalen Profil schreiben.
So kommt man ins Script Fenster:
LGS starten/maximieren.
Die Logitech G13 als Gerät unten links auswählen.
Rechtsklick auf das zu bearbeitende Profil, dann "Skript erstellen".
Script Fenster öffnet sich.
Hier hat man nun auch Zugang zur LUA-Dokumentation über den Hilfe-Button oben rechts.
- Skript-API
Normale Hilfe zur LGS erhält man durch Klick auf das Fragezeichen unten rechts im normalen Softwarefenster.
Generisches Beispiel für das Einrichten einer M-Shift Taste mittels LUA Script aus der Skript API-pdf-Datei:
Die G-Tasten werden also angesprochen durch diese Zeile:
(event == "G_PRESSED" and arg == 1)
im Beispiel ist G1 gemeint.
Das Script selbst funktioniert beim ausprobieren so leider nicht, ich konnte dann aber ein Funktionierendes finden was auch noch genau das macht, was ich möchte:
https://hokage.org/content/keiyas-logitech-g13-wow-setup/
Dort findet sich zum Glück auch die Antwort auf die Frage, wie man die beiden Daumentasten neben dem Stick auf der G13 anspricht, die ja keine G-Bezeichnung haben.
Sie heißen, wie ich mir schon gedacht habe, so:
"Nr" "23" und "Nr" "24"
und ein funktionierendes Script um sie als M-Shift-Tasten zu benutzen sieht so aus (copy und paste von der eben genannten Seite!)
Nun habe ich, was ich wollte:
Während Taste Nr. 23, die links neben dem Daumenstick, gedrückt ist, bin ich im Tastaturmodus "M2" und kann dort nochmal andere programmierte Tasten ansprechen.
Drücke ich die Taste unter dem Dauemnstick bin ich solange im M3-Modus bis ich sie wieder loslasse.
Genial.
Dazu muss man das Script nur, wie im zweiten Zitat, in das Scriptfenster beim gewünschten Profil reinkopieren und einmal auf "Speichern" oben links im Menü klicken.
Eine Anmerkung.
Das Script überschreibt wohl die über das Interface mögliche, "einfache" Belegung von Tasten. Man sollte daher vor oder nach dem Schreiben des Scripts die über ein Script geregelten Tasten am besten im normalen Userinterface auf "unbelegt" stellen, damit das Label verschwindet.
Wie man ein Custom Label programmiert habe ich noch nicht nachgeschaut, das geht aber sicher auch...
Hoffe jemand anderes findet das alles so toll wie ich
lg
Altaya
Edit: Ein Ausdruck des Profils das ich für PoE erstellt habe hat folgendes ergeben was die Nummern der nicht beschrifteten Tasten betrifft:
23 Taste mit Punkt links neben Stick
24 Taste mit Punkt unter Stick
25 Druck auf Stick
26 Stick nach Oben
27 Stick nach Rechts
28 Stick nach Unten
29 Stick nach Links
Es hat mich jetzt 3 Stunden gekostet herauszufinden wie das Folgende genau funktioniert und einen funktionierenden Code zu finden. Deshalb präsentiere ich alles nun auch Euch. Das findet bestimmt jemand anderes auch nützlich

Es ist vollbracht!
Nun kann die G13 von Logitech meine alten Saitek Command Units voll und eventuell sogar besser ersetzen!
Die G13 (und natürlich auch alle über die Logitech Gaming Software programmierbaren Geräte die verschiedene M-Modi anbieten) kann mittels LUA-Programming so programmiert werden, dass beliebige Tasten als M-Shift Tasten dienen, während man sie gedrückt hält.
Damit ist es nun möglich, die geräteeigene

Der einzige Nachteil: Auf der Command Unit kann man die Shift Taste mit dem Handballen bedienen, bei der Logitech G13 braucht man den Daumen.
Ein Vorteil: Durch insgesamt 3 M-Modi bei der G-13 habe ich die Tastenzahl, die direkt mit den 4 Fingern der linken Hand erreichbar sind nochmal um ein komplettes Set erweitert, zusätzlich zu den eh schon mehr Tasten der G13 im Vergleich zur MadCatz/Saitek Command Unit.
Wie funktioniert das alles nun?
Man muss in der LGS Software ein LUA-Script zusätzlich zum normalen Profil schreiben.
So kommt man ins Script Fenster:
LGS starten/maximieren.
Die Logitech G13 als Gerät unten links auswählen.
Rechtsklick auf das zu bearbeitende Profil, dann "Skript erstellen".
Script Fenster öffnet sich.
Hier hat man nun auch Zugang zur LUA-Dokumentation über den Hilfe-Button oben rechts.
- Skript-API
Normale Hilfe zur LGS erhält man durch Klick auf das Fragezeichen unten rechts im normalen Softwarefenster.
Generisches Beispiel für das Einrichten einer M-Shift Taste mittels LUA Script aus der Skript API-pdf-Datei:
-- Set the current M Key state to M1 when G1 is pressed
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 1) then
SetMkeyState(1);
end
end
Die G-Tasten werden also angesprochen durch diese Zeile:
(event == "G_PRESSED" and arg == 1)
im Beispiel ist G1 gemeint.
Das Script selbst funktioniert beim ausprobieren so leider nicht, ich konnte dann aber ein Funktionierendes finden was auch noch genau das macht, was ich möchte:
https://hokage.org/content/keiyas-logitech-g13-wow-setup/
Dort findet sich zum Glück auch die Antwort auf die Frage, wie man die beiden Daumentasten neben dem Stick auf der G13 anspricht, die ja keine G-Bezeichnung haben.
Sie heißen, wie ich mir schon gedacht habe, so:
"Nr" "23" und "Nr" "24"
und ein funktionierendes Script um sie als M-Shift-Tasten zu benutzen sieht so aus (copy und paste von der eben genannten Seite!)
function OnEvent(event, arg, family)
if ( family == "lhc" ) then
if ( event == "G_PRESSED" ) then
if ( arg == 23 ) then
SetMKeyState(2, family);
end
if ( arg == 24 ) then
SetMKeyState(3, family);
end
elseif ( event == "G_RELEASED" ) then
if ( arg == 23 ) then
SetMKeyState(1, family);
end
if ( arg == 24 ) then
SetMKeyState(1, family);
end
end
end
end
Nun habe ich, was ich wollte:
Während Taste Nr. 23, die links neben dem Daumenstick, gedrückt ist, bin ich im Tastaturmodus "M2" und kann dort nochmal andere programmierte Tasten ansprechen.
Drücke ich die Taste unter dem Dauemnstick bin ich solange im M3-Modus bis ich sie wieder loslasse.
Genial.
Dazu muss man das Script nur, wie im zweiten Zitat, in das Scriptfenster beim gewünschten Profil reinkopieren und einmal auf "Speichern" oben links im Menü klicken.
Eine Anmerkung.
Das Script überschreibt wohl die über das Interface mögliche, "einfache" Belegung von Tasten. Man sollte daher vor oder nach dem Schreiben des Scripts die über ein Script geregelten Tasten am besten im normalen Userinterface auf "unbelegt" stellen, damit das Label verschwindet.
Wie man ein Custom Label programmiert habe ich noch nicht nachgeschaut, das geht aber sicher auch...
Hoffe jemand anderes findet das alles so toll wie ich

lg
Altaya
Edit: Ein Ausdruck des Profils das ich für PoE erstellt habe hat folgendes ergeben was die Nummern der nicht beschrifteten Tasten betrifft:
23 Taste mit Punkt links neben Stick
24 Taste mit Punkt unter Stick
25 Druck auf Stick
26 Stick nach Oben
27 Stick nach Rechts
28 Stick nach Unten
29 Stick nach Links
Zuletzt bearbeitet: