Как вызывать клавиши управления Mute/Speaker в Python. Dell широта E7440

Мне нужна помощь в поиске ключа отключения звука на Dell, который я использую. Мне нужно позвонить по нажатию кнопки, чтобы что-то сделать в Python, но я не могу найти никакой документации относительно их имен. Конечная цель этого состоит в том, чтобы пользователи не могли отключить звук своих динамиков. Я буду использовать Python и планирую использовать Tkinter, чтобы заблокировать нажатие кнопки.

1 ответ

Используя PyHook, вы можете блокировать события мыши и клавиатуры Windows. Ниже приведен пример кода (для блокировки ключей во время игры), который можно найти здесь. Похоже, что это применимо к вашей ситуации, так что требуется очень мало изменений.

import pyHook
import pygame

# create a keyboard hook
def OnKeyboardEvent(event):
    print 'MessageName:',event.MessageName
    print 'Message:',event.Message
    print 'Time:',event.Time
    print 'Window:',event.Window
    print 'WindowName:',event.WindowName
    print 'Ascii:', event.Ascii, chr(event.Ascii)
    print 'Key:', event.Key
    print 'KeyID:', event.KeyID
    print 'ScanCode:', event.ScanCode
    print 'Extended:', event.Extended
    print 'Injected:', event.Injected
    print 'Alt', event.Alt
    print 'Transition', event.Transition
    print '---'
    if event.Key.lower() in ['lwin', 'tab', 'lmenu']: #(CHANGE HERE TO BLOCK MUTE KEY)
        return False    # block these keys 
    else:
        # return True to pass the event to other handlers
        return True

# create a hook manager
hm = pyHook.HookManager()
# watch for all keyboard events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()

# initialize pygame and start the game loop
pygame.init()

while(1):
    pygame.event.pump()

Я предполагал, что вы используете Windows, но в остальном я только лично видел эту версию Linux.

Другие вопросы по тегам