From 4939c92affac35a65ccb176e26b06c880d0f952d Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Sun, 28 Dec 2025 19:13:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E9=BC=A0=E6=A0=87=E5=88=B0?= =?UTF-8?q?=E5=8F=B3=E4=B8=8B=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- face_rec.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) 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: