私は、キー押しがPythonプログラムで検出されるようにしようとしています。私は、Tkinter、curses
、またはraw_input
を使用せずにこれを行う方法を見つけたいと思います。ここに私が行っていることがあります:Keypress detection
while True:
if keypressed==1:
print thekey
これはどのように可能ですか?
私は、キー押しがPythonプログラムで検出されるようにしようとしています。私は、Tkinter、curses
、またはraw_input
を使用せずにこれを行う方法を見つけたいと思います。ここに私が行っていることがあります:Keypress detection
while True:
if keypressed==1:
print thekey
これはどのように可能ですか?
Pythonには多くの機能を持つkeyboardモジュールがあります。おそらく、このコマンドを使用して、それをインストールします。次に
pip3 install keyboard
のようなコードでそれを使用します。
if keyboard.is_pressed('a') or keyboard.is_pressed('b') or keyboard.is_pressed('c'):
#then do this
あなたの質問を少し編集する自由を取ったので、意味があり、少なくともWindowsでは答えがあります。 (IDLEだけTKへのTkinterインタフェースによってキーボードと対話する。)Windowsでは、答えは、他のシステムではmsvcrt module's console io functions
import msvcrt as ms
while True:
if ms.kbhit():
print(ms.getch())
を使用することで、あなたは、同等のシステム固有の呼び出しを見つける必要があります。 posixシステムの場合、これらはcursesの一部であるかもしれませんが、使用しないと言ったが、わかりません。
これらの機能は、プログラムの実行時にデフォルトモードでIDLEから実行されたときに正しく機能しません。他のグラフィックスモードIDEでも同じことが当てはまります。
'win32api.GetKeyState':あなたは、複数のキー検出を設定することができます
。 – Kevin
"Tkinter、curses、またはraw_inputを使用せずにこれを行う方法を見つけたいのですが、どうしてですか?これらのツールは何が望ましくないのでしょうか? [ツールX]を使ってそれを行う方法を教えても、[ツールX]を使わないで行う方法を理解したいと思っていますか? – user2357112
上記コメントと同じです。毎回ホイールを再構築する必要はありません –