バックグラウンドで (または理想的には Maya 内で) 実行され、次のことを行う Python スクリプトが必要です。
- スクリプトが実行されています
- を押すCtrl+Sと、スクリプトがそれを検出します
- Returnスクリプトはキーストロークをエミュレートします
- スクリプトが実行されています
現在、あちこちでいくつかの回答に従って、CTRL+Sキーストロークを正常に検出できます。この回答に従って WScript.Shell でキーストロークをエミュレートしようとしましたが、失敗しました。
まだ欠けているもの:スクリプトがキーストロークを検出した直後に、Return キーストロークをエミュレートする (つまり、ステップ 3) CTRL+S。
私のコード:
Tkinter を tk としてインポート win32com.client を comclt としてインポート クラス App(オブジェクト): def __init__(自己): self.comboKeys = False self.enterKey = False def keyPressed (自己、イベント): 「--」を印刷 # Esc が押されたらスクリプトを停止 if event.keysym == 'エスケープ': root.destroy() # CTRL+S が押された場合 elif event.keysym == 's': self.comboKeys = True def keyReleased (自己、イベント): event.keysym == 's' の場合: self.comboKeys = False デフォルトタスク (自己): self.comboKeys の場合: print 'CTRL+S キーが押されました!' root.after(20,self.タスク) アプリケーション = アプリ() ルート = tk.Tk() print( "矢印キーを押してください (終了するにはエスケープキー):" ) root.bind_all('', application.keyPressed) root.bind_all('', application.keyReleased) root.after(20,アプリケーション.タスク) root.mainloop()
どうもありがとうございました!また、何か情報を見逃していた場合はお知らせください。