【问题标题】:How do I type a numpad plus-sign (+) with `pyautogui`?如何使用 `pyautogui` 键入小键盘加号 ​​(+)?
【发布时间】:2022-09-27 09:34:02
【问题描述】:

对于某些 GUI 自动化,我需要为小键盘加号发送击键。 (出于某种愚蠢的原因,我正在与之交互的古老软件区分小键盘加号和顶行加号......)

我可以使用pyautogui.press(\'num1\') 从小键盘发送1 击键,但\'num+\'\'numplus\' 等似乎不存在。

    标签: python pyautogui


    【解决方案1】:

    经过一番挖掘,我发现pyautogui.platformModule 包含此映射。它因您的操作系统而异; Windows 和 Linux 解决方案显示在下面的代码块中——Mac 应该可以有类似的东西。

    可以对其他键进行类似的键盘映射。我找不到 Linux 键映射的好来源,但可以在 here 找到 Windows 键映射。

    import pyautogui as gui
    
    gui.platformModule.keyboardMapping.update({'numplus':gui.platformModule._display.keysym+_to_keycode(gui.platformModule.Xlib.XK.string_to_keysym('KP_Add'))}) # Linux: KP_Add found by random googling
    gui.platformModule.keyboardMapping.update({'numplus':0x6B}) # Windows: VK_ADD from https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
    gui.press('numplus')
    

    请注意,pyautogui.platformModule 来自文件_pyautogui_x11_pyautogui_win 等,只是别名为platformModule

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 2019-12-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 2020-02-07
      相关资源
      最近更新 更多