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>
This commit is contained in:
parent
d430cce8ff
commit
f86cc46d03
6 changed files with 77 additions and 2 deletions
|
@ -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
|
||||||
|
|
22
configs/sway/xkb_mobile_movement_buttons
Normal file
22
configs/sway/xkb_mobile_movement_buttons
Normal file
|
@ -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 ] };
|
||||||
|
};
|
||||||
|
};
|
22
configs/sway/xkb_mobile_normal_buttons
Normal file
22
configs/sway/xkb_mobile_normal_buttons
Normal file
|
@ -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")
|
||||||
|
|
20
scripts/core/sxmo_menumode_toggler.sh
Normal file
20
scripts/core/sxmo_menumode_toggler.sh
Normal file
|
@ -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…
Add table
Add a link
Reference in a new issue