修改光标隐藏

This commit is contained in:
Tian jianyong 2025-12-28 19:11:29 +08:00
parent c5448f1296
commit 124aeb870d

View File

@ -18,19 +18,33 @@ import queue
from compreface import CompreFace
from compreface.service import RecognitionService, DetectionService
# 隐藏鼠标光标(Linux/GDK
# 隐藏鼠标光标(纯 X11
def hide_cursor():
"""隐藏鼠标光标"""
try:
from gi.repository import Gdk
import os
if not os.environ.get('DISPLAY'):
return
import ctypes
from ctypes import cdll, c_char_p, c_int, c_ulong
display = Gdk.Display.get_default()
cursor = Gdk.Cursor.new_from_name(display, "none")
screen = display.get_default_screen()
window = screen.get_root_window()
window.set_cursor(cursor)
libX11 = cdll.LoadLibrary('libX11.so.6')
libXfixes = cdll.LoadLibrary('libXfixes.so.3')
print("Cursor hidden via GDK")
# 打开显示
display = libX11.XOpenDisplay(None)
if not display:
return
root = libX11.XDefaultRootWindow(display)
# 使用 XFixesHideCursor 隐藏光标
libXfixes.XFixesHideCursor(display, root)
libX11.XFlush(display)
libX11.XCloseDisplay(display)
print("Cursor hidden via XFixes")
except Exception as e:
print(f"Hide cursor error: {e}")