Skip to content

Commit 146db0f

Browse files
committed
Added sample plugins
1 parent 89768e5 commit 146db0f

3 files changed

Lines changed: 125 additions & 0 deletions

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import logging
2+
from JoycontrolPlugin import JoycontrolPlugin
3+
4+
logger = logging.getLogger(__name__)
5+
6+
class SimpleButtonMacro(JoycontrolPlugin):
7+
async def run(self):
8+
logger.info('Simple Button Macro Plugin')
9+
10+
button_list = self.options
11+
logger.info(f'Button List {button_list}')
12+
13+
for button in button_list:
14+
await self.button_push(button)
15+
await self.wait(1.0)
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import logging
2+
from JoycontrolPlugin import JoycontrolPlugin
3+
4+
logger = logging.getLogger(__name__)
5+
6+
class TestControlSticks(JoycontrolPlugin):
7+
async def test_left_stick(self):
8+
await self.button_push('l_stick')
9+
await self.wait(1.0)
10+
11+
logger.info('up, down, left, right')
12+
for direction in ['up', 'down', 'left', 'right']:
13+
await self.left_stick(direction)
14+
await self.wait(1.0)
15+
16+
logger.info('Rotate')
17+
for angle in range(360):
18+
await self.left_stick(angle=angle)
19+
await self.wait(0.01)
20+
21+
logger.info('Rotate low power')
22+
power = self.max_stick_power / 2
23+
for angle in range(360):
24+
await self.left_stick(angle=angle, power=power)
25+
await self.wait(0.01)
26+
27+
await self.left_stick('center')
28+
await self.wait(1.0)
29+
30+
await self.button_push('b')
31+
await self.wait(1.0)
32+
33+
async def test_right_stick(self):
34+
await self.button_push('r_stick')
35+
await self.wait(1.0)
36+
37+
logger.info('up, down, left, right')
38+
for direction in ['up', 'down', 'left', 'right']:
39+
await self.right_stick(direction)
40+
await self.wait(1.0)
41+
42+
logger.info('Rotate')
43+
for angle in range(360):
44+
await self.right_stick(angle=angle)
45+
await self.wait(0.01)
46+
47+
logger.info('Rotate low power')
48+
power = self.max_stick_power / 2
49+
for angle in range(360):
50+
await self.right_stick(angle=angle, power=power)
51+
await self.wait(0.01)
52+
53+
await self.right_stick('center')
54+
await self.wait(1.0)
55+
56+
await self.button_push('b')
57+
await self.wait(1.0)
58+
59+
async def run(self):
60+
logger.info('TEST Control Sticks Plugin')
61+
await self.test_left_stick()
62+
await self.test_right_stick()
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import logging
2+
from JoycontrolPlugin import JoycontrolPlugin
3+
4+
logger = logging.getLogger(__name__)
5+
6+
class TestControllerButtons(JoycontrolPlugin):
7+
async def push_all_buttons(self):
8+
button_list = [
9+
'a', 'b', 'x', 'y',
10+
'l', 'r', 'zl' ,'zr',
11+
'l_stick', 'r_stick',
12+
'minus', 'plus',
13+
'up', 'down', 'right', 'left',
14+
# 'capture', 'home'
15+
]
16+
17+
logger.info(button_list)
18+
for button in button_list:
19+
await self.button_push(button)
20+
await self.wait(0.3)
21+
22+
async def pushing_button_simultaneous(self):
23+
logger.info('Push L and R buttons')
24+
await self.button_push('a', 'b')
25+
await self.wait(0.3)
26+
27+
logger.info('Pressing A, B, X, Y buttons')
28+
await self.button_press('a', 'b', 'x', 'y')
29+
await self.wait(0.1)
30+
31+
logger.info('Release only A button')
32+
await self.button_release('a')
33+
await self.wait(0.1)
34+
35+
logger.info('Release B, X, Y buttons')
36+
await self.button_release('b', 'x', 'y')
37+
await self.wait(0.1)
38+
39+
async def long_press_button(self):
40+
logger.info('Press A button for 3.0 seconds')
41+
await self.button_push('a', press_time_sec=3.0)
42+
await self.wait(0.3)
43+
44+
async def run(self):
45+
logger.info('TEST Controller Buttons Plugin')
46+
await self.push_all_buttons()
47+
await self.pushing_button_simultaneous()
48+
await self.long_press_button()

0 commit comments

Comments
 (0)