バックグラウンドで (または理想的には 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()
どうもありがとうございました!また、何か情報を見逃していた場合はお知らせください。