-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkm.py
98 lines (69 loc) · 1.27 KB
/
km.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
# ------------- KeyManager -------------- #
from math import *
from ion import *
LAST_KEYS={}
KEYS_IN={}
def keyin(key):
out=False
if keydown(key):
if not LAST_KEYS.get(key):
out=True
#KEYS_IN[key]=True
LAST_KEYS[key]=True
else:
LAST_KEYS[key]=False
#KEYS_IN[key]=False
global KEYS_IN
if out:
KEYS_IN[key]=True
elif KEYS_IN.get(key) is not None:
del KEYS_IN[key]
return out
def keyout(key):
out=False
if not keydown(key):
if LAST_KEYS.get(key):
out=True
LAST_KEYS[key]=False
else:
LAST_KEYS[key]=True
return out
def keyon(key):
out=False
if keydown(key):
if LAST_KEYS[key]:
out=True
LAST_KEYS[key]=True
else:
LAST_KEYS[key]=False
return out
"""
def keyheld(key,time=0):
yield
if time==0:
return keyin(key)
"""
"""
while True:
keyin(KEY_DOWN)
print(KEYS_IN)
"""
"""
for key in [KEY_UP,KEY_DOWN,KEY_LEFT,KEY_RIGHT]:
if keyin(key):
print(key)
"""
"""
if keydown(key):
if not LAST_KEYS[key]:
print("in")
else:
print("hold")
LAST_KEYS[key]=True
else:
if LAST_KEYS.get(key):
print("out")
LAST_KEYS[key]=False
"""
#print(keyin(key))
#LAST_KEYS[key]=False