You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
6 years ago
|
#!/usr/bin/env bash
|
||
3 years ago
|
# focus-send - Trivial Focus testing tool
|
||
|
# Copyright (C) 2018-2022 Keyboard.io, Inc.
|
||
6 years ago
|
#
|
||
|
# 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
|
||
|
|
||
6 years ago
|
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
|
||
6 years ago
|
|
||
|
|
||
|
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
|