Загрузка данных


import ctypes

# Коды клавиш для Windows API
VK_A = 0x41
VK_D = 0x44
KEYEVENTF_KEYUP = 0x0002

if starting:
    diagnostics.debug("=== FreePIE WinAPI SnapTap Active ===")
    prev_a = False
    prev_d = False

# Читаем физическое состояние через FreePIE
current_a = keyboard.getKeyDown(Key.A)
current_d = keyboard.getKeyDown(Key.D)

# Логика Last-Win (приоритет последнего нажатия)
if current_a and current_d:
    if current_d and not prev_d:
        diagnostics.debug("SnapTap: A -> D (A released)")
        # Программно «отпускаем» A через Windows API
        ctypes.windll.user32.keybd_event(VK_A, 0, KEYEVENTF_KEYUP, 0)
    elif current_a and not prev_a:
        diagnostics.debug("SnapTap: D -> A (D released)")
        # Программно «отпускаем» D через Windows API
        ctypes.windll.user32.keybd_event(VK_D, 0, KEYEVENTF_KEYUP, 0)

prev_a = current_a
prev_d = current_d