summaryrefslogtreecommitdiffstats
path: root/lass
diff options
context:
space:
mode:
authorlassulus <git@lassul.us>2023-02-19 10:01:55 +0100
committerlassulus <git@lassul.us>2023-02-19 10:01:55 +0100
commit92cfeace5435e09b203a1e4f91eee28bd5d198ce (patch)
treeeb27195e466452c783c3387802b6dff99649f72b /lass
parent9e059195325e61e38a31a7905b1fe08656f49aba (diff)
l aergia.r: add antimicrox for gamepad mouse mode
Diffstat (limited to 'lass')
-rw-r--r--lass/1systems/aergia/physical.nix1
-rw-r--r--lass/2configs/antimicrox/default.nix33
-rw-r--r--lass/2configs/antimicrox/empty.amgp20
-rw-r--r--lass/2configs/antimicrox/mouse.amgp272
-rw-r--r--lass/2configs/xmonad.nix6
5 files changed, 329 insertions, 3 deletions
diff --git a/lass/1systems/aergia/physical.nix b/lass/1systems/aergia/physical.nix
index 0e5a88aa1..0786acbe1 100644
--- a/lass/1systems/aergia/physical.nix
+++ b/lass/1systems/aergia/physical.nix
@@ -3,6 +3,7 @@
imports = [
./config.nix
(modulesPath + "/installer/scan/not-detected.nix")
+ <stockholm/lass/2configs/antimicrox>
];
disko.devices = import ./disk.nix;
diff --git a/lass/2configs/antimicrox/default.nix b/lass/2configs/antimicrox/default.nix
new file mode 100644
index 000000000..16f546ce6
--- /dev/null
+++ b/lass/2configs/antimicrox/default.nix
@@ -0,0 +1,33 @@
+{ config, lib, pkgs, ... }:
+{
+ systemd.services.antimicrox = {
+ wantedBy = [ "multi-user.target" ];
+ environment = {
+ DISPLAY = ":0";
+ };
+ serviceConfig = {
+ User = config.users.users.mainUser.name;
+ ExecStartPre = lib.singleton (pkgs.writeDash "init_state" "echo 0 > /tmp/gamepad.state");
+ ExecStart = "${pkgs.antimicrox}/bin/antimicrox --no-tray --hidden --profile ${./mouse.amgp}";
+ };
+ };
+
+ environment.systemPackages = [
+ (pkgs.writers.writeDashBin "gamepad_mouse_disable" ''
+ echo 1 > /tmp/gamepad.state
+ ${pkgs.antimicrox}/bin/antimicrox --profile ${./empty.amgp}
+ '')
+ (pkgs.writers.writeDashBin "gamepad_mouse_enable" ''
+ echo 0 > /tmp/gamepad.state
+ ${pkgs.antimicrox}/bin/antimicrox --profile ${./mouse.amgp}
+ '')
+ (pkgs.writers.writeDashBin "gamepad_mouse_toggle" ''
+ state=$(${pkgs.coreutils}/bin/cat /tmp/gamepad.state)
+ if [ "$state" = 1 ]; then
+ /run/current-system/sw/bin/gamepad_mouse_enable
+ else
+ /run/current-system/sw/bin/gamepad_mouse_disable
+ fi
+ '')
+ ];
+}
diff --git a/lass/2configs/antimicrox/empty.amgp b/lass/2configs/antimicrox/empty.amgp
new file mode 100644
index 000000000..0257bfe71
--- /dev/null
+++ b/lass/2configs/antimicrox/empty.amgp
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gamecontroller configversion="19" appversion="3.3.2">
+ <!--The SDL name for a joystick is included for informational purposes only.-->
+ <sdlname>XInput Controller</sdlname>
+ <!--The Unique ID for a joystick is included for informational purposes only.-->
+ <uniqueID>030000005e0400008e020000010100001118654</uniqueID>
+ <stickAxisAssociation index="2" xAxis="3" yAxis="4"/>
+ <stickAxisAssociation index="1" xAxis="1" yAxis="2"/>
+ <vdpadButtonAssociations index="1">
+ <vdpadButtonAssociation axis="0" button="12" direction="1"/>
+ <vdpadButtonAssociation axis="0" button="13" direction="4"/>
+ <vdpadButtonAssociation axis="0" button="14" direction="8"/>
+ <vdpadButtonAssociation axis="0" button="15" direction="2"/>
+ </vdpadButtonAssociations>
+ <names>
+ <controlstickname index="2">R Stick</controlstickname>
+ <controlstickname index="1">L Stick</controlstickname>
+ </names>
+ <sets/>
+</gamecontroller>
diff --git a/lass/2configs/antimicrox/mouse.amgp b/lass/2configs/antimicrox/mouse.amgp
new file mode 100644
index 000000000..313e598de
--- /dev/null
+++ b/lass/2configs/antimicrox/mouse.amgp
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gamecontroller configversion="19" appversion="3.3.2">
+ <!--The SDL name for a joystick is included for informational purposes only.-->
+ <sdlname>XInput Controller</sdlname>
+ <!--The Unique ID for a joystick is included for informational purposes only.-->
+ <uniqueID>030000005e0400008e020000010100001118654</uniqueID>
+ <stickAxisAssociation index="2" xAxis="3" yAxis="4"/>
+ <stickAxisAssociation index="1" xAxis="1" yAxis="2"/>
+ <vdpadButtonAssociations index="1">
+ <vdpadButtonAssociation axis="0" button="12" direction="1"/>
+ <vdpadButtonAssociation axis="0" button="13" direction="4"/>
+ <vdpadButtonAssociation axis="0" button="14" direction="8"/>
+ <vdpadButtonAssociation axis="0" button="15" direction="2"/>
+ </vdpadButtonAssociations>
+ <names>
+ <controlstickname index="2">Stick 2</controlstickname>
+ <controlstickname index="1">Stick 1</controlstickname>
+ </names>
+ <sets>
+ <set index="1">
+ <stick index="2">
+ <deadZone>1</deadZone>
+ <maxZone>29501</maxZone>
+ <modifierZone>1412</modifierZone>
+ <diagonalRange>90</diagonalRange>
+ <stickbutton index="7">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ <accelerationmultiplier>4</accelerationmultiplier>
+ <startaccelmultiplier>20</startaccelmultiplier>
+ <minaccelthreshold>3</minaccelthreshold>
+ <extraaccelerationcurve>easeoutquad</extraaccelerationcurve>
+ <slots>
+ <slot>
+ <code>3</code>
+ <mode>mousemovement</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="6">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ </stickbutton>
+ <stickbutton index="5">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ <accelerationmultiplier>4</accelerationmultiplier>
+ <startaccelmultiplier>20</startaccelmultiplier>
+ <minaccelthreshold>3</minaccelthreshold>
+ <extraaccelerationcurve>easeoutquad</extraaccelerationcurve>
+ <slots>
+ <slot>
+ <code>2</code>
+ <mode>mousemovement</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="4">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ </stickbutton>
+ <stickbutton index="3">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ <accelerationmultiplier>4</accelerationmultiplier>
+ <startaccelmultiplier>20</startaccelmultiplier>
+ <minaccelthreshold>3</minaccelthreshold>
+ <extraaccelerationcurve>easeoutquad</extraaccelerationcurve>
+ <slots>
+ <slot>
+ <code>4</code>
+ <mode>mousemovement</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="2">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ </stickbutton>
+ <stickbutton index="1">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ <accelerationmultiplier>4</accelerationmultiplier>
+ <startaccelmultiplier>20</startaccelmultiplier>
+ <minaccelthreshold>3</minaccelthreshold>
+ <extraaccelerationcurve>easeoutquad</extraaccelerationcurve>
+ <slots>
+ <slot>
+ <code>1</code>
+ <mode>mousemovement</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="8">
+ <mousespeedx>74</mousespeedx>
+ <mousespeedy>74</mousespeedy>
+ </stickbutton>
+ </stick>
+ <stick index="1">
+ <deadZone>2578</deadZone>
+ <maxZone>30799</maxZone>
+ <stickbutton index="7">
+ <mouseacceleration>linear</mouseacceleration>
+ <slots>
+ <slot>
+ <code>6</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="6">
+ <mouseacceleration>linear</mouseacceleration>
+ </stickbutton>
+ <stickbutton index="5">
+ <mouseacceleration>linear</mouseacceleration>
+ <slots>
+ <slot>
+ <code>5</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="4">
+ <mouseacceleration>linear</mouseacceleration>
+ </stickbutton>
+ <stickbutton index="3">
+ <mouseacceleration>linear</mouseacceleration>
+ <slots>
+ <slot>
+ <code>7</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="2">
+ <mouseacceleration>linear</mouseacceleration>
+ </stickbutton>
+ <stickbutton index="1">
+ <mouseacceleration>linear</mouseacceleration>
+ <slots>
+ <slot>
+ <code>4</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </stickbutton>
+ <stickbutton index="8">
+ <mouseacceleration>linear</mouseacceleration>
+ </stickbutton>
+ </stick>
+ <dpad index="1">
+ <dpadbutton index="6">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ </dpadbutton>
+ <dpadbutton index="4">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ <slots>
+ <slot>
+ <code>0x1000017</code>
+ <mode>keyboard</mode>
+ </slot>
+ </slots>
+ </dpadbutton>
+ <dpadbutton index="3">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ </dpadbutton>
+ <dpadbutton index="2">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ <slots>
+ <slot>
+ <code>0x1000011</code>
+ <mode>keyboard</mode>
+ </slot>
+ </slots>
+ </dpadbutton>
+ <dpadbutton index="1">
+ <wheelspeedx>10</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ <slots>
+ <slot>
+ <code>0x1000016</code>
+ <mode>keyboard</mode>
+ </slot>
+ </slots>
+ </dpadbutton>
+ <dpadbutton index="12">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ </dpadbutton>
+ <dpadbutton index="9">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ </dpadbutton>
+ <dpadbutton index="8">
+ <wheelspeedx>2</wheelspeedx>
+ <wheelspeedy>10</wheelspeedy>
+ <slots>
+ <slot>
+ <code>0x1000010</code>
+ <mode>keyboard</mode>
+ </slot>
+ </slots>
+ </dpadbutton>
+ </dpad>
+ <trigger index="6">
+ <deadZone>2000</deadZone>
+ <throttle>positivehalf</throttle>
+ <triggerbutton index="1">
+ <mousespeedx>100</mousespeedx>
+ <mousespeedy>100</mousespeedy>
+ </triggerbutton>
+ <triggerbutton index="2">
+ <mousespeedx>100</mousespeedx>
+ <mousespeedy>100</mousespeedy>
+ <slots>
+ <slot>
+ <code>250</code>
+ <mode>mousespeedmod</mode>
+ </slot>
+ </slots>
+ </triggerbutton>
+ </trigger>
+ <trigger index="5">
+ <throttle>positivehalf</throttle>
+ </trigger>
+ <button index="11">
+ <slots>
+ <slot>
+ <code>1</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </button>
+ <button index="5">
+ <slots>
+ <slot>
+ <code>1</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </button>
+ <button index="3">
+ <slots>
+ <slot>
+ <code>2</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </button>
+ <button index="2">
+ <slots>
+ <slot>
+ <code>3</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </button>
+ <button index="1">
+ <slots>
+ <slot>
+ <code>1</code>
+ <mode>mousebutton</mode>
+ </slot>
+ </slots>
+ </button>
+ </set>
+ </sets>
+</gamecontroller>
diff --git a/lass/2configs/xmonad.nix b/lass/2configs/xmonad.nix
index b506e026d..1789725d1 100644
--- a/lass/2configs/xmonad.nix
+++ b/lass/2configs/xmonad.nix
@@ -159,14 +159,14 @@ myKeyMap =
${pkgs.clipmenu}/bin/clipmenu
''}")
- , ("M4-<F2>", windows copyToAll)
-
- , ("M4-<F4>", spawn "${pkgs.nm-dmenu}/bin/nm-dmenu")
, ("M4-<Insert>", spawn "${pkgs.writeDash "paste" ''
${pkgs.coreutils}/bin/sleep 0.4
${pkgs.xclip}/bin/xclip -o | ${pkgs.xdotool}/bin/xdotool type -f -
''}")
+ , ("M4-<F1>", spawn "/run/current-system/sw/bin/gamepad_mouse_toggle")
+ , ("M4-<F2>", windows copyToAll)
+ , ("M4-<F4>", spawn "${pkgs.nm-dmenu}/bin/nm-dmenu")
, ("M4-<F5>", spawn "${pkgs.acpilight}/bin/xbacklight -set 1")
, ("M4-<F6>", spawn "${pkgs.acpilight}/bin/xbacklight -set 10")
, ("M4-<F7>", spawn "${pkgs.acpilight}/bin/xbacklight -set 33")