Add a bemenu control mode to access bemenu control with buttons

Signed-off-by: Stacy Harper <contact@stacyharper.net>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
master
Stacy Harper 3 years ago committed by Maarten van Gompel
parent d430cce8ff
commit f86cc46d03
  1. 7
      configs/appcfg/sway_template
  2. 22
      configs/sway/xkb_mobile_movement_buttons
  3. 22
      configs/sway/xkb_mobile_normal_buttons
  4. 6
      scripts/core/sxmo_dmenu.sh
  5. 2
      scripts/core/sxmo_inputhandler.sh
  6. 20
      scripts/core/sxmo_menumode_toggler.sh

@ -61,11 +61,13 @@ exec sxmo_idle.sh start
input 0:0:axp20x-pek { input 0:0:axp20x-pek {
repeat_delay 200 repeat_delay 200
repeat_rate 15 repeat_rate 15
xkb_file /usr/share/sxmo/sway/xkb_mobile_normal_buttons
} }
# Volume buttons # Volume buttons
input 1:1:1c21800.lradc { input 1:1:1c21800.lradc {
repeat_delay 200 repeat_delay 200
repeat_rate 15 repeat_rate 15
xkb_file /usr/share/sxmo/sway/xkb_mobile_normal_buttons
} }
exec sxmo_multikey.sh clear exec sxmo_multikey.sh clear
@ -84,6 +86,10 @@ exec sxmo_multikey.sh clear
# Next workspace # Next workspace
bindsym --input-device=1:1:1c21800.lradc XF86AudioLowerVolume exec sxmo_multikey.sh voldown "sxmo_inputhandler.sh voldown_one" "sxmo_inputhandler.sh voldown_two" "sxmo_inputhandler.sh voldown_three" bindsym --input-device=1:1:1c21800.lradc XF86AudioLowerVolume exec sxmo_multikey.sh voldown "sxmo_inputhandler.sh voldown_one" "sxmo_inputhandler.sh voldown_two" "sxmo_inputhandler.sh voldown_three"
mode "menu" {
bindsym --input-device=1:1:1c21800.lradc XF86AudioMute exec nothing # placeholder for "menu" mode
}
# Kill focused window # Kill focused window
bindsym $mod+Shift+q kill bindsym $mod+Shift+q kill
@ -252,3 +258,4 @@ exec sxmo_modemmonitortoggle.sh restart
exec sxmo_notificationmonitor.sh exec sxmo_notificationmonitor.sh
exec mako exec mako
exec sxmo_hooks.sh lisgdstart exec sxmo_hooks.sh lisgdstart
exec sxmo_menumode_toggler.sh

@ -0,0 +1,22 @@
xkb_keymap {
xkb_keycodes "(unnamed)" {
minimum = 122;
maximum = 124;
<VOL-> = 122;
<VOL+> = 123;
<POWR> = 124;
alias <I122> = <VOL->;
alias <I123> = <VOL+>;
alias <I124> = <POWR>;
};
xkb_types "(unnamed)" {
};
xkb_compatibility "(unnamed)" {
};
xkb_symbols "(unnamed)" {
name[group1]="Mobile Convenient Buttons";
key <VOL-> { [ Down ] };
key <VOL+> { [ Up ] };
key <POWR> { [ Return ] };
};
};

@ -0,0 +1,22 @@
xkb_keymap {
xkb_keycodes "(unnamed)" {
minimum = 122;
maximum = 124;
<VOL-> = 122;
<VOL+> = 123;
<POWR> = 124;
alias <I122> = <VOL->;
alias <I123> = <VOL+>;
alias <I124> = <POWR>;
};
xkb_types "(unnamed)" {
};
xkb_compatibility "(unnamed)" {
};
xkb_symbols "(unnamed)" {
name[group1]="Mobile Convenient Buttons";
key <VOL-> { [ XF86AudioLowerVolume ] };
key <VOL+> { [ XF86AudioRaiseVolume ] };
key <POWR> { [ XF86PowerOff ] };
};
};

@ -28,7 +28,11 @@ esac > /dev/null
case "$(sxmo_wm.sh)" in case "$(sxmo_wm.sh)" in
sway) sway)
exec bemenu --scrollbar autohide -s -n -w -c -l "$(sxmo_rotate.sh isrotated > /dev/null && printf 8 || printf 15)" "$@" swaymsg mode menu -q # disable default button inputs
bemenu --scrollbar autohide -s -n -w -c -l "$(sxmo_rotate.sh isrotated > /dev/null && printf 8 || printf 15)" "$@"
returned=$?
swaymsg mode default -q
exit "$returned"
;; ;;
xorg|dwm) xorg|dwm)
if sxmo_keyboard.sh isopen; then if sxmo_keyboard.sh isopen; then

@ -289,7 +289,7 @@ case "$ACTION" in
exit 0 exit 0
;; ;;
"bottomleftcorner") "bottomleftcorner")
lock_screen sxmo_dmenu.sh close && lock_screen
exit 0 exit 0
;; ;;
"bottomrightcorner") "bottomrightcorner")

@ -0,0 +1,20 @@
#!/bin/sh
inputs="
1:1:1c21800.lradc
0:0:axp20x-pek
"
setup_xkb() {
for input in $inputs; do
swaymsg input "$input" xkb_file "$1"
done
}
swaymsg -t subscribe -m "['mode']" | while read -r message; do
if printf %s "$message" | grep -q menu; then
setup_xkb /usr/share/sxmo/sway/xkb_mobile_movement_buttons
else
setup_xkb /usr/share/sxmo/sway/xkb_mobile_normal_buttons
fi
done
Loading…
Cancel
Save