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")