|
|
|
#!/usr/bin/env bash
|
|
|
|
# focus-test - Trivial Focus testing tool
|
|
|
|
# Copyright (C) 2018 Keyboard.io, Inc.
|
|
|
|
#
|
|
|
|
# This program is free software: you can redistribute it and/or modify it under
|
|
|
|
# the terms of the GNU General Public License as published by the Free Software
|
|
|
|
# Foundation, version 3.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
|
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License along with
|
|
|
|
# this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
OS=$(uname -s)
|
|
|
|
|
|
|
|
case ${OS} in
|
|
|
|
Linux)
|
|
|
|
DEVICE="${DEVICE:-/dev/ttyACM0}"
|
|
|
|
stty -F "${DEVICE}" 9600 raw -echo
|
|
|
|
;;
|
|
|
|
Darwin)
|
|
|
|
DEVICE="${DEVICE:-/dev/cu.usbmodemCkbio01E}"
|
|
|
|
stty -f "${DEVICE}" 9600 raw -echo
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Error Unknown OS : ${OS}" >&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
exec 3<"${DEVICE}"
|
|
|
|
echo "$@" >"${DEVICE}"
|
|
|
|
|
|
|
|
while read -r line <&3; do
|
|
|
|
line="$(echo -n "${line}" | tr -d '\r')"
|
|
|
|
if [ "${line}" == "." ]; then
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
echo "${line}"
|
|
|
|
done
|