feat(otd): open tablet driver config

This commit is contained in:
Guz
2025-10-27 17:15:17 -03:00
parent 63f5c981da
commit 063f99f9a7

View File

@@ -11,6 +11,98 @@
reaper
];
xdg.configFile."OpenTabletDriver/settings.json" = lib.mkIf osConfig.hardware.opentabletdriver.enable {
force = true;
text = builtins.toJSON {
Profiles = let
mkBinding = k: {
Path = "OpenTabletDriver.Desktop.Binding.${
if lib.hasInfix "+" k
then "MultiKeyBinding"
else "KeyBinding"
}";
Settings = [
{
Property =
if lib.hasInfix "+" k
then "Keys"
else "Key";
Value = k;
}
];
Enable = true;
};
in [
{
Tablet = "Huion HS610";
OutputMode.Path = "OpenTabletDriver.Desktop.Output.LinuxArtistMode";
OutputMode.Settings = [];
OutputMode.Enable = true;
Filters = [];
AbsoluteModeSettings.Display = {
Width = 1720.0;
Height = 1080.0;
X = 1280.0;
Y = 540.0;
Rotation = 0.0;
};
AbsoluteModeSettings.Tablet = {
Width = 254.0;
Height = 158.75;
X = 127.0;
Y = 79.375;
Rotation = 0;
};
AbsoluteModeSettings.EnableClipping = true;
AbsoluteModeSettings. EnableAreaLimiting = false;
AbsoluteModeSettings. LockAspectRatio = false;
RelativeModeSettings = {
XSensitivity = 10.0;
YSensitivity = 10.0;
RelativeRotation = 0.0;
RelativeResetDelay = "00:00:00.1000000";
};
Bindings.TipActivationThreshold = 1.0;
Bindings.TipButton = {
Path = "OpenTabletDriver.Desktop.Binding.MouseBinding";
Settings = [
{
Property = "Button";
Value = "Left";
}
];
};
Bindings.EraserActivationThreshold = 1.0;
Bindings.EraserButton = null;
Bindings.PenButtons = [
(mkBinding "Space")
(mkBinding "Control+K")
];
Bindings.AuxButtons = [
null
null
null
null
(mkBinding "D5")
null
(mkBinding "LeftControl")
(mkBinding "LeftShift")
(mkBinding "Control+Z")
(mkBinding "Control+Shift+Z")
(mkBinding "B")
(mkBinding "E")
];
Bindings.MouseButtons = [];
Bindings.MouseScrollUp = null;
Bindings.MouseScrollDown = null;
}
];
LockUsableAreaDisplay = true;
LockUsableAreaTablet = true;
Tools = [];
};
};
# Easier access to krita
home.file.".bin/ffmpeg" = {
executable = true;