Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
DEC Locator mode対応確認
#!/usr/bin/env bash
#
# locator-check.bash: 端末が DEC Locator mode に対応しているか確認する
#
# 端末に ESC [ ? 55 n (ロケータ状態問い合わせ) を出力し、それへの応答で判断する
# ESC [ ? 50 n - 対応
# ESC [ ? 53 n - 非対応。ただしロケータ問い合わせ自体は理解出来ているので、
# 設定等で対応する可能性あり。
# 応答なし - 非対応
#
# License: CC0
trap 'stty echo' 0 1 2 3
stty -echo
printf "\e[?55n" # ロケータ状態問い合わせ
if read -r -t 1 -d n resp; then
case $resp in
*\?50) echo "Support.";; # ESC [ ? 50 n
*\?53) echo "No locator device.";; # ESC [ ? 53 n
*) echo "Invalid response.";;
esac
else
echo "Not support."
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.