Evaluated proc qwerty2dvorak str {set qwe "qwertyuiopasdfghjklzxcvbnm,\./"; set dvo "',.pyfgcrlaoeuidhtn;qjkxbmz"; 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}