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