1. A method comprising: selecting multiple languages for a keyboard; obtaining a text corpus for each of the multiple languages; and obtaining, for each of the multiple languages, a mean time to input each of a plurality of characters in the text corpus to the keyboard for one of the multiple languages; simultaneously optimizing the keyboard for the selected multiple languages by: analyzing the text corpus for each of the multiple languages to obtain a digram frequency table; selecting key positions for characters on the keyboard based on an average distance traveled to type one of the characters and a frequency of moving from one of the characters to another one of the characters; selecting constraints for the key positions for the characters on the keyboard; and using a Metropolis method to average the obtained mean times to input one of the characters to the keyboard for each of the multiple languages and determine placement for the positions of the characters on the keyboard for higher user input speed on the keyboard, based on the digram frequency table and additional constraints.