-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.py
149 lines (130 loc) · 4.17 KB
/
script.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import keyboard
import argparse
import win32clipboard
parser = argparse.ArgumentParser()
parser.add_argument('-hk','--hotkeys', help = 'turn hotkeys flag on',
action='store_true')
args = parser.parse_args()
with open('data.txt', 'r') as myfile:
data=myfile.read()
clipboard_flag = False
def update_data():
win32clipboard.OpenClipboard()
global clipboard_flag
global clipboard
clipboard_flag = True
clipboard = win32clipboard.GetClipboardData()
words = []
w = ''
for c in data:
if c == '<':
words.append(w)
w = c
elif c == '>':
w += c
words.append(w)
w = ''
else:
w += c
if not words:
words = list(data)
def generate():
for one_iteration in words:
try:
if one_iteration.startswith('<'):
#slicing element deleting < and >
x = one_iteration[1:-1]
yield x
else:
x =list(one_iteration)
for r in x:
yield r
except Exception:
pass
generate_iter = generate()
def hotkeys_off():
if not clipboard_flag:
for one_iteration in data:
yield one_iteration
else:
for one_iteration in clipboard:
yield one_iteration
one_symbol = hotkeys_off()
def control():
#and do stuff
if args.hotkeys :
a = next(generate_iter)
if len(a) == 1 :
return keyboard.write(a)
else:
return keyboard.send(a)
else:
b = str(next(one_symbol))
return keyboard.write(b)
def do():
#bind keys
keyboard.add_hotkey('q',lambda:control())
keyboard.add_hotkey('w',lambda:control())
keyboard.add_hotkey('e',lambda:control())
keyboard.add_hotkey('r',lambda:control())
keyboard.add_hotkey('t',lambda:control())
keyboard.add_hotkey('y',lambda:control())
keyboard.add_hotkey('u',lambda:control())
keyboard.add_hotkey('i',lambda:control())
keyboard.add_hotkey('o',lambda:control())
keyboard.add_hotkey('p',lambda:control())
keyboard.add_hotkey('a',lambda:control())
keyboard.add_hotkey('s',lambda:control())
keyboard.add_hotkey('d',lambda:control())
keyboard.add_hotkey('f',lambda:control())
keyboard.add_hotkey('g',lambda:control())
keyboard.add_hotkey('h',lambda:control())
keyboard.add_hotkey('j',lambda:control())
keyboard.add_hotkey('k',lambda:control())
keyboard.add_hotkey('l',lambda:control())
keyboard.add_hotkey(';',lambda:control())
keyboard.add_hotkey('\'',lambda:control())
keyboard.add_hotkey('z',lambda:control())
keyboard.add_hotkey('x',lambda:control())
keyboard.add_hotkey('c',lambda:control())
keyboard.add_hotkey('v',lambda:control())
keyboard.add_hotkey('b',lambda:control())
keyboard.add_hotkey('n',lambda:control())
keyboard.add_hotkey('m',lambda:control())
keyboard.add_hotkey(',',lambda:control())
keyboard.add_hotkey('.',lambda:control())
keyboard.add_hotkey('/',lambda:control())
keyboard.add_hotkey('[',lambda:control())
keyboard.add_hotkey(']',lambda:control())
keyboard.add_hotkey('1',lambda:control())
keyboard.add_hotkey('2',lambda:control())
keyboard.add_hotkey('3',lambda:control())
keyboard.add_hotkey('4',lambda:control())
keyboard.add_hotkey('5',lambda:control())
keyboard.add_hotkey('6',lambda:control())
keyboard.add_hotkey('7',lambda:control())
keyboard.add_hotkey('8',lambda:control())
keyboard.add_hotkey('9',lambda:control())
keyboard.add_hotkey('0',lambda:control())
keyboard.add_hotkey('-',lambda:control())
keyboard.add_hotkey('=',lambda:control())
keyboard.add_hotkey(' ',lambda:control())
keyboard.add_hotkey('\\',lambda:control())
keyboard.add_hotkey('Ctrl+2',lambda:update_data())
start=False
while True:
if start is True:
keyboard.wait('Ctrl+3')
do()
keyboard.wait('Ctrl+4')
keyboard.unhook_all()
continue
#control + 3 to start "typing" control + 4 to stop
keyboard.wait('Ctrl+3')
do()
keyboard.wait('Ctrl+4')
keyboard.unhook_all()
#start again
start = True
continue
#to wait ctrl+3