How to implement key combinations (including modifier keys) in Python?

流过昼夜 提交于 2019-12-11 18:37:03

问题


I am wondering about bow to implement two-key combinations in Python. I am utilizing the turtle.onkey() function since I am using turtle graphics, but it seems like it is not very versatile, as I cannot find a way for it to take key combinations. So, is there any other way to implement key combinations in python? Any help regarding this issue is very much appreciated! :)


回答1:


I use pykeyboard ( with Python 2.7 ) to "simultaneously press" 2 keyboard keys as a hotkey. The pykeyboard package comes installed with the PyUserInput installation.

Code Example : If I want to automatically have my program hit the hotkey combination ( CTRL + P ) to print something without me laying a finger on the keyboard, here is how I would do it through pykeyboard.

import pykeyboard
keyboard_object = pykeyboard.PyKeyboard()

I begin by creating my keyboard object as shown above.

keyboard_object.press_key   ( keyboard_object.control_key )
keyboard_object.tap_key     ( "P" )  # Upper-Case
keyboard_object.release_key ( keyboard_object.control_key )

That should bring up the print window and I could have it continue forward to print on the default setting by having my script hit the Enter Key.

keyboard_object.tap_key ( keyboard_object.enter_key )

I can even have my script type custom strings. This can be useful if I want to save a file by a specified string in an automated form. I'll begin with the ( CTRL + S ) hotkey combination.

keyboard_object.press_key   ( keyboard_object.control_key )
keyboard_object.tap_key     ( "S" )  # Upper-Case
keyboard_object.release_key ( keyboard_object.control_key )

The "Save-As" window should pop up, prompting me to specify the filename that I want to have saved. So I'll pass that as a string.

keyboard_object.type_string ( "MyFilename-03_22_2016.html" )
keyboard_object.tap_key ( keyboard_object.enter_key )

Voila!



来源:https://stackoverflow.com/questions/34324025/how-to-implement-key-combinations-including-modifier-keys-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!