Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if(!$l){ //Если клавиша нажата, но в файле настроек не прописана:
if($log){exec("echo not buttom $button $key >> $log");}
}
/usr/sbin/mylirc --device=/dev/input/event1 --log=/var/log/log_lirc_but
И нажимать по порядку клавиши на пульте, получите список кодов клавиш в том же порядке в файле /var/log/log_lirc_but#!/usr/bin/php5
<?php
declare(ticks = 1);
pcntl_signal(SIGINT, "signal_handler");
function signal_handler($signal){
global $f,$out;
if($signal==SIGINT){
fclose($f);
exec('echo ?\> >> '.$out);
exit("\n$out create!\n");
}
}
function AccessFile($file,$access){
if(file_exists($file)){ //файл существует!
if($f=@fopen($file,$access)){fclose($f);}else{exit("not have access to $file\n");}
}else{
return "$file not found (may not have access to the folder)\n";
}
}
$dev="";
$out="";
if(count($argv)==1){
exit("Use ".dirname( __FILE__ )."/".basename($_SERVER['SCRIPT_FILENAME'])." --device=device --out=config.php\n");
}else{
for($i=1;$i<count($argv);$i++){
$cmd=explode("=",$argv[$i]);
switch($cmd[0]){
case "--device": $dev=$cmd[1]; echo AccessFile($cmd[1],"rb"); break;
case "--out": $out=$cmd[1]; echo AccessFile($cmd[1],"w"); break;
}
}
}
if(($dev=="")||($out=="")){
exit("Use ".dirname( __FILE__ )."/".basename($_SERVER['SCRIPT_FILENAME'])." --device=device --out=config.php\n");
}
echo "press [Ctrl]+[C] to stop and press any button on the remote\n";
$f=fopen($dev, 'rb');
if($f){
exec('echo \<?php > '.$out);
exec('echo " \$command=array();" >> '.$out);
$i=0;
$j=1;
while (!feof($f)){
$b=fread($f,32);
$b=bin2hex($b);
$b=substr($b,18,8);
$button =substr($b,0,4);
$key =substr($b,4);
$i=$i+($j++)%2; //Нумерация кнопок
$but='$command[]=array("'.$i.'", "'.$button.'","'.$key.'",""); // #'.$i;
exec('echo \' '.$but.'\' >> '.$out);
echo $but."\n"; //Выводим и на экран, чтобы понимать, что кнопки нажимаются и все работает
}
}
?>
cat event0 | hexdump | awk {'print $6'}
#!/bin/bash
while [ 1=1 ];do
echo "start"
c=`cat /dev/input/event1 | hexdump | awk {'print $6'}`;
echo "good"
echo $c;
if [[ "$c" = "0001" ]];then
echo "Нажата кнопка А";
fi;
if [[ "$c" = "0002" ]];
then echo "Нажата кнопка Б";
fi;
done
Cubieboard A10. Учимся управлять системой с пульта дистанционного управления