layouts.py 643 B

12345678910111213141516171819202122232425
  1. qwerty = "-=qwertyuiop[]asdfghjkl;'zxcvbnm,./_+QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?"
  2. dvorak = "[]',.pyfgcrl/=aoeuidhtns-;qjkxbmwvz{}\"<>PYFGCRL?+AOEUIDHTNS_:QJKXBMWVZ"
  3. to_dvorak = str.maketrans(qwerty, dvorak)
  4. to_qwerty = str.maketrans(dvorak, qwerty)
  5. def translate(input, translation):
  6. """
  7. >>> translate('dvorak', to_dvorak)
  8. 'ekrpat'
  9. >>> translate('qwerty', to_qwerty)
  10. 'x,dokt'
  11. """
  12. return input.translate(translation)
  13. def _translate_stream(stream, translation):
  14. """
  15. >>> import io
  16. >>> _translate_stream(io.StringIO('foo'), to_dvorak)
  17. urr
  18. """
  19. print(translate(stream.read(), translation))