#!/usr/bin/perl use common::sense; my %types; while (<>) { chomp; my ($button, $timings) = split /\t/; my @timings = split /\s+/, $timings; pop @timings; my $bit = 1; my @out = (); for my $t (@timings) { my $out = "<$bit:$t>"; if ($bit) { if ($t >= 2000 && $t <= 3000) { $out = "^"; } elsif ($t >= 1000 && $t <= 1500) { $out = "1"; } elsif ($t >= 500 && $t <= 900) { $out = "0"; } } else { if ($t >= 500 && $t <= 700) { $out = "."; } elsif ($t >= 20000) { $out = " "; } } $bit = 1 - $bit; push @out, $out; push @{$types{$out}}, $t; } print $button, "\t", join("", @out), "\n"; } print "\n# Median timings [μs]\n\n"; for my $k (sort keys %types) { my @v = sort @{$types{$k}}; print "$k\t", $v[@v/2], "\n"; }