Evaluated proc qwerty2dvorak str {set qwe "qwertyuiop[]\\asdfghjkl;'zxcvbnm,./"; set dvo "',.pyfgcrl/=\\aoeuidhtns-;qjkxbmwvz"; set out ""; for {set i 0} {$i < [string length $str]} {incr i} {set fuck [lsearch [split $qwe ""] [string index $str $i]]; if {$fuck > -1} {append out [string index $dvo $fuck]} {append out [string index $str $i]}};. $out}