How can I write this Perl5 code in Perl6?
my $return = binmode STDIN, ':raw'; if ( $return ) { print "\e[?1003h"; }
Comment on cuonglm answer.
I am already using read :
my $termios := Term::termios.new(fd => 1).getattr; $termios.makeraw; $termios.setattr(:DRAIN); sub ReadKey { return $*IN.read( 1 ).decode(); } sub mouse_action { my $c1 = ReadKey(); return if ! $c1.defined; if $c1 eq "\e" { my $c2 = ReadKey(); return if ! $c2.defined; if $c2 eq '[' { my $c3 = ReadKey(); if $c3 eq 'M' { my $event_type = ReadKey().ord - 32; my $x = ReadKey().ord - 32; my $y = ReadKey().ord - 32; return [ $event_type, $x, $y ]; } } } }
But with STDIN set to UTF-8, I get errors with $x or $y greater than 127 - 32:
Malformed UTF-8 at ...
source share