#!/usr/bin/env python2 # -*- coding: utf-8 -*- import argparse import os import time def keyname(key): if key==" ": return "space" if key=="\t": return "Tab" if key=="\n": return "Return" if key=="`": return "grave" if key=="~": return "asciitilde" if key=="@": return "at" if key=="#": return "numbersign" if key=="$": return "dollar" if key=="%": return "percent" if key=="^": return "asciicircum" if key=="&": return "ampersand" if key=="*": return "asterisk" if key=="(": return "Shift_L+9" if key==")": return "Shift_L+0" if key=="-": return "minus" if key=="_": return "underscore" if key=="=": return "equal" if key=="+": return "plus" if key=="[": return "bracketleft" if key=="]": return "bracketright" if key=="{": return "braceleft" if key=="}": return "braceright" if key=="!": return "exclam" if key=="/": return "slash" if key==":": return "colon" if key==";": return "semicolon" if key==".": return "period" if key==",": return "comma" if key=='"': return "quotedbl" if key=="'": return "apostrophe" if key=="<": return "less" if key==">": return "greater" if key=="?": return "question" if key=="\\": return "backslash" if key=="|": return "bar" return key def main(): parser = argparse.ArgumentParser(description='Type file into the window.') parser.add_argument('-d', type=int, default=2, metavar="delay", help='delay') parser.add_argument('-i', type=float, default=0, metavar="interval", help='interval between keystrokes') parser.add_argument('filename') args = parser.parse_args() f = open(args.filename, 'r') data = f.read() f.close() time.sleep(args.d) for i in xrange(len(data)): c = data[i] k = keyname(c) os.system("xdotool key "+k) time.sleep(args.i) if __name__=="__main__": main()