#!/bin/bash # Эта программа читает сканы с клавиатуры компьютера и отправляет их в 30000 порт HDX BD1. # Сделана на основе # http://www.networkedmediatank.com/showthread.php?tid=30168&pid=277384#pid277384 # Клавиша "Пробел" заменяет "Enter" # "Esc" - выход # IP адрес моего HDX BD1 BD1="192.168.1.61" get_key() #@ USAGE: get_key var { local _v_ _w_ _x_ _y_ _z_ delay=${delay:-.0001} IFS= read -d '' -rsn1 _v_ read -sn1 -t "$delay" _w_ read -sn1 -t "$delay" _x_ read -sn1 -t "$delay" _y_ read -sn1 -t "$delay" _z_ case $_v_ in $'\e') echo Bye exit 1 ;; *) printf -v ${1:?} "%s" "$_v_$_w_$_x_$_y_$_z_" ;; esac } while true do get_key KEY case $KEY in ' ') printf "\n" | nc $BD1 30000 -w 1 ;; *) printf "%s" $KEY printf "%s" $KEY | nc $BD1 30000 -w 1 ;; esac doneПользоваться ей очень просто:
- Скопировать текст программы в файл remote.sh
- Дать ему права на исполнение и запустить:
R - стрелка вправо,
L - стрелка вправо,
U - стрелка вправо,
D - стрелка вправо,
Пробел - Enter,
Esc - выход
и т.д.
К сожалению программисты HDX BD-1 не до конца реализовали данную возможность. Точнее наделали несколько ляпов. Так например, если плеер запустил screen saver, то выключить его можно только с физического пульта.
Или еще недоделка: если запущено проигрывание мультимедия файла из терминала его остановить невозможно.
Но, надеюсь эти недостатки будут устранены в ближайшей прошивке.
PS. Да, чуть не забыл.
Это работает под linux. В windows из коробки такого инструмента нет.
Возможно установка linux shell решит проблему.
Если пользователи windows захотят попробовать, то советую посмотреть на этот обзор: Alternative Command Shells for Windows. А именно на Cygwin и Windows Services for UNIX.
Буду признателен, если по результатам напишите, что получилось.
Обсуждение в форуме.
Комментариев нет:
Отправить комментарий