magic_keyboard_player/magic_keyboard.py
2025-08-07 05:09:06 +03:00

52 lines
1.7 KiB
Python

import keyboard
import time
import ctypes
DEBUG = False
# Функции для управления мультимедиа
def play_pause():
if DEBUG: print("[ДЕЙСТВИЕ] Воспроизведение/Пауза")
send_vk_code(0xB3) # VK_MEDIA_PLAY_PAUSE
def next_track():
if DEBUG: print("[ДЕЙСТВИЕ] Следующий трек")
send_vk_code(0xB0) # VK_MEDIA_NEXT_TRACK
def prev_track():
if DEBUG: print("[ДЕЙСТВИЕ] Предыдущий трек")
send_vk_code(0xB1) # VK_MEDIA_PREV_TRACK
# Функция нажатия Delete
def send_delete():
if DEBUG: print("[ДЕЙСТВИЕ] Delete (по Right Win + Backspace)")
send_vk_code(0x2E) # VK_DELETE
# Отправка виртуального кода клавиши в Windows
def send_vk_code(code):
ctypes.windll.user32.keybd_event(code, 0, 0, 0) # key down
time.sleep(0.15)
ctypes.windll.user32.keybd_event(code, 0, 2, 0) # key up
# Привязываем горячие клавиши
keyboard.add_hotkey('right windows+f7', prev_track)
keyboard.add_hotkey('right windows+f8', play_pause)
keyboard.add_hotkey('right windows+f9', next_track)
keyboard.add_hotkey('right windows+backspace', send_delete)
keyboard.add_hotkey('left windows+backspace', send_delete)
# Обработчик нажатий клавиш (для отладки)
def on_key(event):
print(f"[НАЖАТО] {event.name}")
if DEBUG: keyboard.on_press(on_key)
print("Скрипт запущен. Нажмите F7/F8/F9 для управления музыкой. Ctrl+C — выход.")
# Бесконечный цикл
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
print("Скрипт завершён.")