diff --git a/hosts/modules/gui/sxmo/hooks/sxmo_hook_inputhandler.sh b/hosts/modules/gui/sxmo/hooks/sxmo_hook_inputhandler.sh index 10fa8d00..b0174273 100755 --- a/hosts/modules/gui/sxmo/hooks/sxmo_hook_inputhandler.sh +++ b/hosts/modules/gui/sxmo/hooks/sxmo_hook_inputhandler.sh @@ -35,81 +35,78 @@ handle_with() { # - "lock" => display on but touchscreen disabled # - "proximity{lock,unlock}" => intended for when in a phone call -case "$STATE" in - "unlock") - case "$ACTION" in - # powerbutton_one: intentional default to no-op - # powerbutton_two: intentional default to screenoff - "powerbutton_three") - # power thrice: kill active window - handle_with sxmo_killwindow.sh - ;; +if [ "$STATE" = "unlock" ]; then + case "$ACTION" in + # powerbutton_one: intentional default to no-op + # powerbutton_two: intentional default to screenoff + "powerbutton_three") + # power thrice: kill active window + handle_with sxmo_killwindow.sh + ;; - "volup_one") - # volume up once: app-specific menu w/ fallback to SXMO system menu - handle_with sxmo_appmenu.sh - ;; - # volup_two: intentionally defaulted for volume control - "volup_three") - # volume up thrice: DE menu - handle_with sxmo_wmmenu.sh - ;; + "volup_one") + # volume up once: app-specific menu w/ fallback to SXMO system menu + handle_with sxmo_appmenu.sh + ;; + # volup_two: intentionally defaulted for volume control + "volup_three") + # volume up thrice: DE menu + handle_with sxmo_wmmenu.sh + ;; - "voldown_one") - # volume down once: toggle keyboard - handle_with sxmo_keyboard.sh toggle - ;; - # voldown_two: intentionally defaulted for volume control - "voldown_three") - # volume down thrice: launch terminal - handle_with sxmo_terminal.sh - ;; - esac + "voldown_one") + # volume down once: toggle keyboard + handle_with sxmo_keyboard.sh toggle + ;; + # voldown_two: intentionally defaulted for volume control + "voldown_three") + # volume down thrice: launch terminal + handle_with sxmo_terminal.sh + ;; + esac +fi + +if [ "$STATE" = "screenoff" ]; then + case "$ACTION" in + "powerbutton_two") + # power twice => toggle media player + handle_with playerctl play-pause + ;; + esac +fi + +# default actions +case "$ACTION" in + "powerbutton_one") + # power once => unlock + handle_with sxmo_state_switch.sh set unlock + ;; + "powerbutton_two") + # power twice => screenoff + handle_with sxmo_state_switch.sh set screenoff + ;; + # powerbutton_three: intentional no-op because overloading the kill-window handler is risky + + "volup_one") + handle_with sxmo_audio.sh vol up "$VOL_INCR_1" + ;; + "volup_two") + handle_with sxmo_audio.sh vol up "$VOL_INCR_2" + ;; + "volup_three") + handle_with sxmo_audio.sh vol up "$VOL_INCR_3" ;; - "lock"|"screenoff") - case "$ACTION" in - "powerbutton_two") - # power twice => toggle media player - handle_with playerctl play-pause - ;; - esac + "voldown_one") + handle_with sxmo_audio.sh vol down "$VOL_INCR_1" ;; - - *) - # default actions - case "$ACTION" in - "powerbutton_one") - # power once => unlock - handle_with sxmo_state_switch.sh set unlock - ;; - "powerbutton_two") - # power twice => screenoff - handle_with sxmo_state_switch.sh set screenoff - ;; - # powerbutton_three: intentional no-op because overloading the kill-window handler is risky - - "volup_one") - handle_with sxmo_audio.sh vol up "$VOL_INCR_1" - ;; - "volup_two") - handle_with sxmo_audio.sh vol up "$VOL_INCR_2" - ;; - "volup_three") - handle_with sxmo_audio.sh vol up "$VOL_INCR_3" - ;; - - "voldown_one") - handle_with sxmo_audio.sh vol down "$VOL_INCR_1" - ;; - "voldown_two") - handle_with sxmo_audio.sh vol down "$VOL_INCR_2" - ;; - "voldown_three") - handle_with sxmo_audio.sh vol down "$VOL_INCR_3" - ;; - esac + "voldown_two") + handle_with sxmo_audio.sh vol down "$VOL_INCR_2" + ;; + "voldown_three") + handle_with sxmo_audio.sh vol down "$VOL_INCR_3" ;; esac + handle_with echo "no-op"