+our %get;
+my $dweur = $get{map} && $get{map} eq 'dvorak';
+if ($dweur) {
+ my $dq = q{
+ 'z ,l .d pj yk fq gt r, l'
+ dv hb s8 tw 8.
+ ;s qp jr ky xm bx m; wf vh zg
+ };
+ my %dq = split //, $dq =~ s/\s//gr; # dvorak => qwerty key
+
+ my %uc = (qw{ ' " , < . > ; : - _ 8 * }, map {lc, uc} 'a'..'z');
+ $dq{ $uc{$_} } = $uc{ $dq{$_} } for keys %dq; # same shifted
+
+ @{ $rows{''} }{keys %dq} = map { $rows{''}{$_} } values %dq;
+ $rows{S} = delete $rows{'*'};
+}
+