To often I use this file to figure out what is going on. But there is simple solution for that:
vim /etc/rsyslog.d/50-default.conf
and uncomment lines in section caled
# Some "catch-all" log files.
Mariusz Walczyk blog. Mostly about programming and linux. Some private information and posts about personal thoughts.
vim /etc/rsyslog.d/50-default.conf
# Some "catch-all" log files.
cat /dev/usb/hiddev0 | hexdumpudevadm info --attribute-walk --name=/dev/usb/hiddev0/etc/udev/rules.d/10-emprex.rules with
KERNEL=="hiddev*", SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="046e", ATTRS{idProduct}=="d300", MODE="0666", NAME="usb/emprexdart", SYMLINK+="emprexdart"
restart udevudevadm monitor and plug in device, or test your new rule with udevadm test /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.1/usb/hiddev0 (device path if from udevadm info command).stop udev) and start it in debug mode (udevd --debug)
$filename = "/dev/emprexdart";
$sMapFile = "map.bin";
if(!file_exists($sMapFile)) {
$map = array();
}
else {
$map = unserialize(file_get_content($sMapFile));
}
$handle = fopen($filename, "r");
$hexCode = dechex(ord(" "));
$iCount = 0;
while( true ) {
$contents = fread($handle, 8);
if(ord($contents[4]) == 0) {
echo "Key up (".bin2hex($contents[4])."),\t int code: ". ord($contents[0])."\n";
}
else {
echo "Key down (".bin2hex($contents[4])."),\t int code: ". ord($contents[0])."\n";
// writing key code to map
$map[$iCount] = ord($contents[0]);
echo $iCount." ".(floor($iCount/4)+1)." ".(($iCount%4)+1)."\n";
exec("espeak '".(floor($iCount/4)+1)." ".(($iCount%4)+1)."'");
$iCount++;
}
//echo 'hidraw4 = asci: '.$contents[0].', hex: '.bin2hex($contents)."\n";
if($iCount == 85) {
// saving map file
file_put_contents($sMapFile, serialize($map));
break;
}
}
fclose($handle);
a:85:{i:0;i:65;i:1;i:129;i:2;i:97;i:3;i:33;i:4;i:66;i:5;i:130;i:6;i:98;i:7;i:34;
i:8;i:67;i:9;i:131;i:10;i:99;i:11;i:35;i:12;i:68;i:13;i:132;i:14;i:100;i:15;i:36
;i:16;i:69;i:17;i:133;i:18;i:101;i:19;i:37;i:20;i:70;i:21;i:134;i:22;i:102;i:23;
i:38;i:24;i:71;i:25;i:135;i:26;i:103;i:27;i:39;i:28;i:72;i:29;i:136;i:30;i:104;i
:31;i:40;i:32;i:73;i:33;i:137;i:34;i:105;i:35;i:41;i:36;i:74;i:37;i:138;i:38;i:1
06;i:39;i:42;i:40;i:75;i:41;i:139;i:42;i:107;i:43;i:43;i:44;i:76;i:45;i:140;i:46
;i:108;i:47;i:44;i:48;i:77;i:49;i:141;i:50;i:109;i:51;i:45;i:52;i:78;i:53;i:142;
i:54;i:110;i:55;i:46;i:56;i:79;i:57;i:143;i:58;i:111;i:59;i:47;i:60;i:80;i:61;i:
144;i:62;i:112;i:63;i:48;i:64;i:81;i:65;i:145;i:66;i:113;i:67;i:49;i:68;i:82;i:6
9;i:146;i:70;i:114;i:71;i:50;i:72;i:83;i:73;i:147;i:74;i:115;i:75;i:51;i:76;i:84
;i:77;i:148;i:78;i:116;i:79;i:52;i:80;i:57;i:81;i:89;i:82;i:4;i:83;i:3;i:84;i:1;
}
$filename = "/dev/emprexdart";
$sMapFile = "map.bin";
$map = unserialize(file_get_contents($sMapFile));
$handle = fopen($filename, "r");
$hexCode = dechex(ord(" "));
$iCount = 0;
while( true ) {
$contents = fread($handle, 8);
if(ord($contents[4]) == 0) {
//echo "Key up (".bin2hex($contents[4])."),\t int code: ". ord($contents[0])."\n";
}
else {
//echo "Key down (".bin2hex($contents[4])."),\t int code: ". ord($contents[0])."\n";
$iNum = array_search(ord($contents[0]), $map);
$value = 0;
// czytamy
switch($iNum) {
case 80:
$value=50;
break;
case 81:
$value=60;
break;
case 82:
$value="Bounce out";
break;
case 83:
$value="Dart miss";
break;
case 84:
$value="Next player";
break;
default:
$segment=floor($iNum/4)+1;
$pole=(($iNum%4)+1);
if($pole==1)
$value=$segment*3;
elseif($pole==2)
$value=$segment;
elseif($pole==3)
$value=$segment*2;
else
$value=$segment;
}
//echo "Numer: $iNum, Pole: $pole, Segment: $segment, wartość: $value\n";
exec("espeak '".$value."'");
}
}
fclose($handle);