Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #38836
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2013-02-13 16:45 -0800 |
| References | <79a6ab1c-d95e-45d9-ba0c-39fa68755e8c@googlegroups.com> |
| Message-ID | <beb55b75-b796-4a7a-aa9e-7588abf14c6c@googlegroups.com> (permalink) |
| Subject | Re: Simulate Keyboard keypress Delay |
| From | 88888 Dihedral <dihedral88888@googlemail.com> |
DaGeek247於 2013年2月14日星期四UTC+8上午3時47分36秒寫道: > I am using the windows api feature getasynckeystate() to check the status of every key pressed; like this; > > > > #always checking > > while(True): > > #iterate through list of ascii codes > > for num in range(0,127): > > #if ascii code key is being pressed > > if win32api.GetAsyncKeyState(num): > > #do stuff > > > > This works great, almost. The issue that comes up now is that every time i press a key, the code grabs two or three key presses. > > > > So i tried making sure that repeated keys weren't pressed repeatedly; > > > > #always checking > > while(True): > > #iterate through list of ascii codes > > for num in range(0,127): > > #if ascii code key is being pressed > > if win32api.GetAsyncKeyState(num): > > if oldkeychar == num: > > #don't do stuff > > else: > > #do stuff > > > > this works great, but It won't record stuff like 'look' or 'suffer' because it doesn't record repeated keys. So I try doing a delay instead; > > > > #always checking > > while(True): > > #iterate through list of ascii codes > > for num in range(0,127): > > #if ascii code key is being pressed > > if win32api.GetAsyncKeyState(num): > > if oldkeychar == num: > > if crrenttime > (time.time() - .5) > > #do stuff because key has been repeated, but not because it was held down > > else: > > #don't do stuff because key is pressed to soon > > else: > > #do stuff because key is not repeated > > currenttime = time.time() > > > > this almost works, but I end recording some double keypresses, and missing others. Does anybody have any suggestions? I believe you can use the raw_input function in python. But loop through strings ended by \r\n or \r.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Simulate Keyboard keypress Delay DaGeek247 <imageek247@gmail.com> - 2013-02-13 11:47 -0800 Re: Simulate Keyboard keypress Delay Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-02-13 18:39 -0500 Re: Simulate Keyboard keypress Delay 88888 Dihedral <dihedral88888@googlemail.com> - 2013-02-13 16:45 -0800 Re: Simulate Keyboard keypress Delay inq1ltd <inq1ltd@inqvista.com> - 2013-02-14 11:04 -0500
csiph-web