diff --git a/face_rec.py b/face_rec.py index 7879a6b..df3a79b 100644 --- a/face_rec.py +++ b/face_rec.py @@ -18,42 +18,40 @@ import queue from compreface import CompreFace from compreface.service import RecognitionService, DetectionService -# 隐藏鼠标光标(纯 X11) -def hide_cursor(): - """隐藏鼠标光标""" +# 把鼠标移到屏幕右下角 +def move_cursor_to_corner(): + """把鼠标移到屏幕右下角""" try: import os if not os.environ.get('DISPLAY'): return import ctypes - from ctypes import cdll, c_char_p, c_int, c_ulong - libX11 = cdll.LoadLibrary('libX11.so.6') - libXfixes = cdll.LoadLibrary('libXfixes.so.3') - # 打开显示 display = libX11.XOpenDisplay(None) if not display: return - root = libX11.XDefaultRootWindow(display) + screen = libX11.XDefaultScreen(display) + width = libX11.XDisplayWidth(display, screen) + height = libX11.XDisplayHeight(display, screen) - # 使用 XFixesHideCursor 隐藏光标 - libXfixes.XFixesHideCursor(display, root) + # 移动到右下角(减去一点偏移) + libX11.XWarpPointer(display, None, None, 0, 0, 0, 0, width - 10, height - 10) libX11.XFlush(display) libX11.XCloseDisplay(display) - print("Cursor hidden via XFixes") + print(f"Cursor moved to corner: {width}x{height}") except Exception as e: - print(f"Hide cursor error: {e}") + print(f"Move cursor error: {e}") class FaceRecognitionSystem: def __init__(self, config_path: str = "config.yaml"): """初始化人脸识别系统""" - # 先隐藏鼠标光标(在任何窗口创建之前) - hide_cursor() + # 先移动鼠标光标到右下角(在任何窗口创建之前) + move_cursor_to_corner() # 加载配置 with open(config_path, 'r', encoding='utf-8') as f: