Added sxmo_keyboard script that acts as an intermediary to opening and closing the keyboard

This commit is contained in:
Maarten van Gompel 2021-03-15 13:49:46 +01:00
parent c51414257e
commit 4eb914265d
10 changed files with 44 additions and 17 deletions

View file

@ -1,6 +1,6 @@
#!/usr/bin/env sh
pidof "$KEYBOARD" >&2 || "$KEYBOARD" &
sxmo_keyboard.sh open
OUTPUT="$(cat | dmenu "$@")"
pkill "$KEYBOARD" >&2
sxmo_keyboard.sh close
echo "$OUTPUT"

View file

@ -75,10 +75,10 @@ if [ "$HANDLE" -ne 0 ]; then
sxmo_vol.sh down &
;;
"showkeyboard")
pidof "$KEYBOARD" || "$KEYBOARD" &
sxmo_keyboard.sh open
;;
"hidekeyboard")
pkill -9 "$KEYBOARD"
sxmo_keyboard.sh close
;;
"showmenu")
pidof dmenu || setsid -f sxmo_appmenu.sh &

23
scripts/core/sxmo_keyboard.sh Executable file
View file

@ -0,0 +1,23 @@
#!/usr/bin/env sh
# shellcheck disable=SC2034
SXMO_NO_ICONS=1 #just to make it a bit faster
# include common definitions
# shellcheck source=scripts/core/sxmo_common.sh
. "$(dirname "$0")/sxmo_common.sh"
open() {
#Note: KEYBOARD_ARGS is not quoted by design as it may includes a pipe and further tools
# shellcheck disable=SC2086
pidof -q "$KEYBOARD" || "$KEYBOARD" $KEYBOARD_ARGS &
}
close() {
pkill "$KEYBOARD"
}
if [ "$1" = "close" ]; then
close
else
open
fi

View file

@ -3,14 +3,14 @@ INPUT="$(cat)"
STWIN="$(xprop -root | sed -n '/^_NET_ACTIVE_WINDOW/ s/.* //p')"
menu() {
pidof "$KEYBOARD" || "$KEYBOARD" &
sxmo_keyboard.sh open
RESULT="$(
printf %b "$(
echo "Close Menu";
echo "$INPUT" | grep -Eo '\S+' | tr -d '[:blank:]' | sort | uniq
)" | dmenu -p "$PROMPT" -l 10 -i -c
)"
pkill "$KEYBOARD"
sxmo_keyboard.sh close
}
copy() {

View file

@ -18,7 +18,7 @@ isrotated() {
}
rotnormal() {
pkill "$KEYBOARD"
sxmo_keyboard.sh close
xrandr -o normal
applyptrmatrix 0 0 0 0 0 0 0 0 0
pidof lisgd && pkill lisgd | sxmo_lisgdstart.sh -o 0 &
@ -26,7 +26,7 @@ rotnormal() {
}
rotright() {
pkill "$KEYBOARD"
sxmo_keyboard.sh close
xrandr -o right
applyptrmatrix 0 1 0 -1 0 1 0 0 1
pidof lisgd && pkill lisgd | sxmo_lisgdstart.sh -o 1 &
@ -34,7 +34,7 @@ rotright() {
}
rotleft() {
pkill "$KEYBOARD"
sxmo_keyboard.sh close
xrandr -o left
applyptrmatrix 0 -1 1 1 0 0 0 0 1
pidof lisgd && pkill lisgd | sxmo_lisgdstart.sh -o -1 &

View file

@ -73,7 +73,7 @@ link_select() {
link_normalize "$(xprop -id "$SURF_WINDOW" _SURF_URI | cut -d '"' -f 2)"
}
pidof "$KEYBOARD" || "$KEYBOARD" &
sxmo_keyboard.sh open
VAL="$(link_select)"
pkill "$KEYBOARD"
sxmo_keyboard.sh close
echo "$VAL"

View file

@ -45,10 +45,14 @@ xdefaults() {
defaultkeyboard() {
if command -v svkbd-mobile-intl; then
export KEYBOARD=svkbd-mobile-intl
export KEYBOARD_ARGS=
elif command -v svkbd-mobile-plain; then
export KEYBOARD=svkbd-mobile-plain
export KEYBOARD_ARGS=
else
#legacy
export KEYBOARD=svkbd-sxmo
export KEYBOARD_ARGS=
fi
}