diff --git a/hosts/common/programs/sane-input-handler/default.nix b/hosts/common/programs/sane-input-handler/default.nix index 97bd6663..4c1bddae 100644 --- a/hosts/common/programs/sane-input-handler/default.nix +++ b/hosts/common/programs/sane-input-handler/default.nix @@ -149,6 +149,9 @@ in power_pressed.power_released.timeout.trigger = "powerbutton_one"; power_pressed.power_released.timeout.ms = 300; power_pressed.power_released.power_pressed.trigger = "powerbutton_two"; + # map power (short) -> volup/voldown + power_pressed.power_released.volup_pressed.trigger = "powerbutton_volup"; + power_pressed.power_released.voldown_pressed.trigger = "powerbutton_voldown"; # map: volume taps and holds volup_pressed = (recurseHold "volup" {}) // { diff --git a/hosts/common/programs/sane-input-handler/sane-input-handler b/hosts/common/programs/sane-input-handler/sane-input-handler index f559fef6..e427e900 100755 --- a/hosts/common/programs/sane-input-handler/sane-input-handler +++ b/hosts/common/programs/sane-input-handler/sane-input-handler @@ -155,6 +155,14 @@ dispatchOn() { # power thrice: kill active window handleWith swaymsg kill ;; + "powerbutton_volup") + # power (tap) -> volup: rotate CCW + handleWith swaymsg -- output '-' transform 90 anticlockwise + ;; + "powerbutton_voldown") + # power (tap) -> voldown: rotate CW + handleWith swaymsg -- output '-' transform 90 clockwise + ;; "volup_tap_1") # swallow: this could be the start to a media control (multi taps / holds),