【问题标题】:How to press media keys using pynput in windows?如何在 Windows 中使用 pynput 按下媒体键?
【发布时间】:2019-11-05 11:47:47
【问题描述】:

我需要按下播放媒体键,但找不到合适的键值

我试过了

from pynput.keyboard import Key, Controller
keyboard= Controller()
keyboard.press(Key.MediaPlayPause)
keyboard.release(Key.MediaPlayPause)

但它不会起作用 我没有收到任何错误

错误回溯

Traceback (most recent call last):
  File "2.py", line 63, in <module>
    keyboard.press(Key.MediaPlayPause)
  File "C:\Users\nebbu\AppData\Local\Programs\Python\Python37\lib\enum.py", line 349, in __getattr__
    raise AttributeError(name) from None
AttributeError: MediaPlayPause

【问题讨论】:

    标签: python python-3.x pynput


    【解决方案1】:

    更新:

    由于 pynput 版本 1.5.0 媒体密钥可供使用。此处描述了可用的密钥:(https://pynput.readthedocs.io/en/latest/keyboard.html#pynput.keyboard.Key.media_next)


    媒体控件在 pynput 上仍然不可用。 (https://github.com/moses-palmer/pynput/pull/171)

    您可以使用虚拟键代码发出键输入事件:

    from pynput.keyboard import Controller, KeyCode
    
    
    def main():
        keyboard = Controller()
    
        print('Pausing/Resuming... ')
    
        keyboard.press(KeyCode.from_vk(0xB3))  # Play/Pause
    
    if __name__ == "__main__":
        main()
    

    在示例中,我们使用播放/暂停虚拟键代码 (0xB3)。您可以在此处查看可能值的完整列表https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-08
      • 2021-04-19
      • 2017-07-07
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 2019-09-14
      相关资源
      最近更新 更多