2016-07-05 114 views
0

我試圖做一個遊戲,我工作的一個按鍵記錄器,但它需要定時(大約100左右)的Python的Windows獲取每個按之間按鍵長度和時間

我需要一個程序可以記錄當我按下另一個程序中的空格鍵時,按住多長時間(heldtime)以及下一次按幾毫秒(waittime)之間的時間。 (格式化爲jump(heldtime, waittime))按Z鍵停止錄製。

我使用Python 2.7

如果需要更多的信息,我將編輯應要求添加。

回答

0

你可以用它來學習如何設置一個計時器: How to create a timer on python

並用它來學習如何創建事件偵聽空格鍵被按下(前提是您正在使用的Tkinter模塊來寫你的代碼): http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

下面是可能的樣子放在一起:

from timeit import default_timer 
from Tkinter import * 

key_pressed = False 
last_start = 0 
heldtime_array = [] 

def start_stop_timer(): 
    if key_pressed == False: 
     last_start = default_timer() 
     key_pressed = True 
    else: 
     heldtime_array[len(heldtime_array)] = default_timer() - last_start 

root = Tk() 

frame = Frame(root, width=100, height=100) 
# This will work with any key. See above link for specific keys. 
frame.bind("<Key>", start_stop_timer) 
frame.pack() 

# Do other customisation/setup of your window here. 

root.mainloop() 
+0

我不能讓這一個使用一個窗口,當我的工作,因爲Tkinter的大概,試圖在另一個窗口中記錄鍵盤按鍵:/ – whamer100

+0

@ whamer100在想要監聽按鍵事件時在任何窗口處於活動狀態時調用.bind方法。 – Jonas

+0

@ whamer100我已經添加了一個數組,持有time_array,它將擁有您所有的持續時間。這應該使您能夠訪問程序中任何地方的最新歷史記錄和所有歷史記錄。希望這可以幫助! – Jonas