Key events in the event loop¶
key-action.py¶
1# © 2024 Autodesk, Inc. All rights reserved.
2
3newScene()
4
5print("Executing test script!")
6
7# Function parameter Test.
8
9class TestAction(vrAEBase):
10 def __init__(self):
11 vrAEBase.__init__(self)
12 def recEvent(self, state):
13 vrAEBase.recEvent(self, state)
14 print("vrAEBase Active = ", self.isActive())
15 def msg(self):
16 print("TestAction:msg ")
17 def msg2(self, v):
18 print("TestAction:msg2 ", v)
19
20testaction = TestAction()
21
22def doit():
23 print("doit: Pressed key")
24
25def doit1(key):
26 print("doit1: Pressed key: ", key.getKey())
27
28def doit2(value):
29 print("doit2: Pressed key: ", value)
30
31def doit3(value):
32 print("doit3: Pressed key: ", value)
33
34def doit4(value):
35 print("doit4: Pressed key: ", value)
36
37def doit5(key, value):
38 print("doit5: Pressed key: ", key.getKey(), " value: ", value)
39
40def doit6(key, key2):
41 print("doit6: Pressed key: ", key.getKey(), " second time: ", key2.getKey())
42
43keyAny = vrKey()
44
45keyAny.connect(doit)
46keyAny.connect("doit1(keyAny)")
47keyAny.connect(doit1, keyAny)
48keyAny.connect(doit2, 12)
49keyAny.connect(doit3, "test")
50keyAny.connect(doit4, 17.9)
51
52# Now with two parameters. At the moment the maximum number of parameters is two.
53keyAny.connect(doit5, keyAny, 42.11)
54keyAny.connect(doit6, keyAny, keyAny)
55
56# Calls method recEvent with integer parameter SWITCH_TOGGLE.
57keyAny.connect(testaction, SWITCH_TOGGLE)
58
59# Calls a class method
60keyAny.connect(testaction.msg)
61# Calls a class method with parameter.
62keyAny.connect(testaction.msg2, "vred")
63
64print("End")