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()