@@ -239,6 +239,7 @@ def win32_control(type: Literal["win32", "gamepad"] = "win32"):
239239 )
240240 .style ("min-width: 100px" )
241241 .bind_value (STORAGE , STORAGE_TARGET_PREFIX + "screencap" )
242+ .on_value_change (lambda : on_connect_params_change ())
242243 )
243244
244245 if type == "win32" :
@@ -250,6 +251,7 @@ def win32_control(type: Literal["win32", "gamepad"] = "win32"):
250251 )
251252 .style ("min-width: 100px" )
252253 .bind_value (STORAGE , "win32_mouse" )
254+ .on_value_change (lambda : on_connect_params_change ())
253255 )
254256 keyboard_select = (
255257 ui .select (
@@ -259,12 +261,14 @@ def win32_control(type: Literal["win32", "gamepad"] = "win32"):
259261 )
260262 .style ("min-width: 100px" )
261263 .bind_value (STORAGE , "win32_keyboard" )
264+ .on_value_change (lambda : on_connect_params_change ())
262265 )
263266 else : # elif type == "gamepad":
264267 gamepad_type_select = (
265268 ui .select (GAMEPAD_TYPE_DICT , label = "Gamepad Type" )
266269 .style ("min-width: 100px" )
267270 .bind_value (STORAGE , "gamepad_keyboard" )
271+ .on_value_change (lambda : on_connect_params_change ())
268272 )
269273
270274 ui .button (
@@ -295,6 +299,10 @@ def win32_control(type: Literal["win32", "gamepad"] = "win32"):
295299 backward = lambda s : s == Status .RUNNING or s == Status .FAILED ,
296300 )
297301
302+ async def on_connect_params_change ():
303+ if GlobalStatus .ctrl_connecting == Status .SUCCEEDED :
304+ await on_click_connect ()
305+
298306 async def on_click_connect ():
299307 GlobalStatus .ctrl_connecting = Status .RUNNING
300308
0 commit comments