How to implement key combinations (including modif

2019-09-02 19:30发布

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条回答
地球回转人心会变
2楼-- · 2019-09-02 19:51

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!

查看更多
登录 后发表回答