Ich fange an, die .nix Möglichkeiten zu lieben und quasi alles zentral zu haben.
logiops bekomme ich aber gerade nicht hin, vielleicht hat wer einen Tipp:

Der Druck auf die Daumentaste soll die Tastenkombination LEFTMETA + S ausführen.

Starte ich logid als root (ohne Service), funktioniert die Config grundsätzlich. Ich probiere es nun in einer .nix Datei, dabei wird die Daumentaste als linke Maustaste interpretiert

#NixOS #logiops #Logitech

Nach diversen Versuchen läuft es auf eine sehr... gebastelte aber dafür funktionierende Lösung hinaus

#NixOS #Logitech #logiops

@tobi nix hat eine toJSON / toYAML Funktion für so etwas
@IncredibleLaser Das klingt so, als ob ich es mir in Ruhe anschauen werde. Danke Dir!
@tobi Hmmm, die "cid" und "keys"-Attribute hast du da als mehrzeiligen String drin mit Semikolon dahinter. Mach da mal nen normalen String (für cid) bzw. ein richtiges Array aus Strings bei keys draus, dann sollte das gleiche Ergebnis rauskommen wie in der manuell generierten Configdatei.

@dennis Das hatte ich zu Beginn so, fiel damit aber auf die Nase (tut nicht). Gucke ich mir die dadurch erzeugte Config an, kommt das bei raus (ohne Zeilenumbruch):

device=({buttons={action={keys=("KEY_LEFTMETA", "KEY_S");type="Keypress";};cid="0xc3;";};dpi=1000;hiressscroll={hires=true;invert=false;target=false;};name="MX Master 3S";smartshift={on=true;threshold=30;torque=50;};});

@tobi Da ist aber auch das Semikolon hinter dem Wert für cid drin, das muss denke ich noch raus, weil das ja Teil der Configdatei ist und nicht des Wertes an sich.
@dennis IMHO müsste das Semikolon drin bleiben. So schaut die funktionierende Config aus
@tobi Am Ende ja, einer davon, aber in er Nix-Config ist das ja momentan noch zusätzlich in dem String mit drin, am Ende sind es also zwei.

@dennis Verstanden, ändert leider aber nichts. Zusätzlich wird 0xc3 in "" gepackt (was nicht soll).

Ich schiebe das "Problem" erst einmal nach hinten, ggf. ist logiops einfach die falsche Lösung für mein Problem

@tobi nixOS hat relativ harte Defaults was systemd service hardening angeht. Ggf. mal per systemctl cat service schauen, was da so aktiv ist, das macht manchmal Probleme. Afaik hat modernes systemd auch ne Funktion um ne Shell im Kontext eines Servixes zu bekommen.