sfxd/contrib/typewriter.sh

39 lines
984 B
Bash

#!/bin/bash
# XXX: CHANGEME
KEYBOARD_ID="AT Translated Set 2 keyboard"
b_isColon=false
KEY_ENTER=36
KEY_SEMICOLON=47
KEY_BACKSPACE=22
KEY_3=12
xinput test "$KEYBOARD_ID" | while read -r line; do
if [[ "$line" =~ "key press" ]]; then
keycode="$(echo "$line" | awk '{print$3}')"
case "$keycode" in
"$KEY_ENTER")
b_isColon=false;
sfxc play typewriter/pc_on;;
"$KEY_BACKSPACE")
b_isColon=false;
sfxc play typewriter/bwomp;;
"$KEY_SEMICOLON")
b_isColon=true;
sfxc play typewriter/text;;
"$KEY_3")
if [ "$b_isColon" = "true" ]; then
sfxc play typewriter/meow;
else
sfxc play typewriter/text;
fi;
;;
*)
b_isColon=false;
sfxc play typewriter/text;;
esac;
fi;
done