refactor: 使用 keyboard 模块替代 pyautogui 模块

This commit is contained in:
DLmaster361
2025-06-10 18:48:41 +08:00
parent 92e274d3fd
commit 916396f855
8 changed files with 21 additions and 18 deletions

View File

@@ -576,7 +576,7 @@ class MaaPlanConfig(LQConfig):
class AppConfig(GlobalConfig):
VERSION = "4.3.10.2"
VERSION = "4.3.10.3"
gameid_refreshed = Signal()
PASSWORD_refreshed = Signal()

View File

@@ -29,7 +29,7 @@ from loguru import logger
from PySide6.QtCore import QObject, QTimer
from datetime import datetime
from pathlib import Path
import pyautogui
import keyboard
from .config import Config
from .task_manager import TaskManager
@@ -41,8 +41,6 @@ class _MainTimer(QObject):
def __init__(self, parent=None):
super().__init__(parent)
self.if_FailSafeException = False
self.Timer = QTimer()
self.Timer.timeout.connect(self.timed_start)
self.Timer.timeout.connect(self.set_silence)
@@ -113,16 +111,14 @@ class _MainTimer(QObject):
for emulator_path in Config.silence_list
):
try:
pyautogui.hotkey(
*[
keyboard.press_and_release(
"+".join(
_.strip().lower()
for _ in Config.get(Config.function_BossKey).split("+")
]
)
)
except pyautogui.FailSafeException as e:
if not self.if_FailSafeException:
logger.warning(f"FailSafeException: {e}")
self.if_FailSafeException = True
except Exception as e:
logger.error(f"模拟按键时出错:{e}")
def check_power(self):

View File

@@ -982,6 +982,7 @@ class MaaManager(QObject):
connect_result = subprocess.run(
[self.ADB_path, "connect", ADB_address],
creationflags=subprocess.CREATE_NO_WINDOW,
stdin=subprocess.DEVNULL,
capture_output=True,
text=True,
encoding="utf-8",
@@ -993,6 +994,7 @@ class MaaManager(QObject):
devices_result = subprocess.run(
[self.ADB_path, "devices"],
creationflags=subprocess.CREATE_NO_WINDOW,
stdin=subprocess.DEVNULL,
capture_output=True,
text=True,
encoding="utf-8",

View File

@@ -72,12 +72,11 @@ if __name__ == "__main__":
os.system(
"powershell -Command python -m nuitka --standalone --onefile --mingw64"
" --enable-plugins=pyside6 --windows-console-mode=attach"
" --nofollow-import-to=pyscreeze"
" --onefile-tempdir-spec='{TEMP}\\AUTO_MAA'"
" --windows-icon-from-ico=resources\\icons\\AUTO_MAA.ico"
" --company-name='AUTO_MAA Team' --product-name=AUTO_MAA"
f" --file-version={version["main_version"]}"
f" --product-version={version["main_version"]}"
f" --file-version={version['main_version']}"
f" --product-version={version['main_version']}"
" --file-description='AUTO_MAA Component'"
" --copyright='Copyright © 2024-2025 DLmaster361'"
" --assume-yes-for-downloads --output-filename=AUTO_MAA"