retype

OSHs try to make xdotool
git clone git://git.oshgnacknak.de/retype.git
Log | Files | Refs | README | LICENSE

retype.py (1111B)


      1 from pynput.keyboard import Controller, Key
      2 import time
      3 from optparse import OptionParser
      4 import sys
      5     
      6 keyboard = Controller()
      7 
      8 def typeChar(c):
      9     keyboard.press(c)
     10     time.sleep(0.001)
     11     keyboard.release(c)
     12     time.sleep(0.005)
     13     
     14 
     15 def typeLine(line):
     16     for c in line:
     17         typeChar(c)
     18     typeChar(Key.enter)
     19 
     20 def parseArgs():
     21     parser = OptionParser(description="Retypes the given text like a keyboard.")
     22     parser.add_option("-m", "--message", dest="message",
     23                       help="the MSG to send. reading from STDIN if none is provided", metavar="MSG")
     24     parser.add_option("-d", "--delay",
     25                       dest="delay", default=700, type="int",
     26                       help="the DELAY before typing the text in ms. Deafault is 700", metavar="DELAY")
     27     return parser.parse_args()
     28 
     29 def main():
     30     options, args = parseArgs()
     31     time.sleep(options.delay / 1000)
     32     if options.message:
     33         lines = options.message.split("\n")
     34     else:
     35         lines = [l.strip() for l in sys.stdin]
     36     for line in lines:
     37         typeLine(line)
     38 
     39 
     40 if __name__ == "__main__":
     41     main()