-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmapping.py
More file actions
65 lines (60 loc) · 2.07 KB
/
Copy pathmapping.py
File metadata and controls
65 lines (60 loc) · 2.07 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
#import evdev
from evdev import InputDevice, categorize, ecodes
#cree un objet gamepad | creates object gamepad
gamepad = InputDevice('/dev/input/event2')
#affiche la liste des device connectes | prints out device info at start
print(gamepad)
aBtn = 289
bBtn = 290
xBtn = 288
yBtn = 291
lBtn = 292
rBtn = 293
selBtn = 296
staBtn = 297
#display codes
for event in gamepad.read_loop():
#buttons
if event.type == ecodes.EV_KEY:
print(event)
if event.value == 1:
if event.code == xBtn:
print("X")
elif event.code == bBtn:
print("B")
elif event.code == aBtn:
print("A")
elif event.code == yBtn:
print("Y")
elif event.code == lBtn:
print("LEFT")
elif event.code == rBtn:
print("RIGHT")
elif event.code == selBtn:
print("Select")
elif event.code == staBtn:
print("Start")
elif event.value == 0:
print("Release")
#Analog gamepad
elif event.type == ecodes.EV_ABS:
absevent = categorize(event)
print ecodes.bytype[absevent.event.type][absevent.event.code], absevent.event.value
if ecodes.bytype[absevent.event.type][absevent.event.code] == "ABS_X":
if absevent.event.value == 0:
print("Left")
elif absevent.event.value == 255:
print("Right")
elif absevent.event.value == 127:
print("Center")
elif ecodes.bytype[absevent.event.type][absevent.event.code] == "ABS_Y":
if absevent.event.value == 0:
print("Up")
elif absevent.event.value == 255:
print("Down")
elif absevent.event.value == 127:
print("Center")
elif ecodes.bytype[absevent.event.type][absevent.event.code] == "ABS_BRAKE":
print("Left Trigger")
elif ecodes.bytype[absevent.event.type][absevent.event.code] == "ABS_GAS":
print("Right Trigger")