-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest2.py
71 lines (59 loc) · 2.09 KB
/
test2.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
from AppKit import NSApplication, NSApp
from Foundation import NSObject, NSLog
from Cocoa import (NSEvent,
NSEventTypeKeyDown,
NSKeyDown, NSKeyDownMask,
NSKeyUp, NSKeyUpMask,
NSLeftMouseDownMask, NSLeftMouseUpMask, NSLeftMouseDraggedMask,
NSRightMouseDownMask, NSRightMouseUpMask, NSRightMouseDraggedMask,
NSMouseMovedMask, NSScrollWheelMask,
NSSystemDefined,
NSFlagsChangedMask)
from PyObjCTools import AppHelper
import signal
import os
import numpy
list_greeting = ["Hello.", "Welcome.", 'May I help you?']
class AppDelegate(NSObject):
def applicationDidFinishLaunching_(self, notification):
mask = (NSEventTypeKeyDown
| NSKeyDown
| NSKeyDownMask
| NSKeyUp
| NSKeyUpMask
| NSLeftMouseDownMask
| NSLeftMouseUpMask
| NSLeftMouseDraggedMask
| NSRightMouseDownMask
| NSRightMouseUpMask
| NSRightMouseDraggedMask
| NSMouseMovedMask
| NSScrollWheelMask
| NSSystemDefined
| NSFlagsChangedMask)
mask = int('0xFFFFFF', 16)
mask = numpy.bitwise_xor(mask, NSKeyUpMask)
print(bin(mask))
NSEvent.addGlobalMonitorForEventsMatchingMask_handler_(mask, handler)
#NSEvent.addLocalMonitorForEventsMatchingMask_handler_(mask, handler)
def handler(event):
try:
print("handler", event)
#os.system("google_speech -l en 'hello' -e speed 0.9")
except (SystemExit, KeyboardInterrupt):
AppHelper.stopEventLoop()
def main():
try:
app = NSApplication.sharedApplication()
delegate = AppDelegate.alloc().init()
NSApp().setDelegate_(delegate)
def handler(signal, frame):
print("\nSending stopEventLoop in run function sub function handler")
AppHelper.stopEventLoop()
signal.signal(signal.SIGINT, handler)
AppHelper.runEventLoop()
except (SystemExit, KeyboardInterrupt):
print("\nCtrl-C is entered")
AppHelper.stopEventLoop()
if __name__ == '__main__':
main()