[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OT: How to detect a keypress, and in which language?



As others suggested, check python. It's not to difficult and most of it is cross platform.
There are several ways to get chars, both blocking and non-blocking.
 
I was thinking about curses, but there are other ways.
 
From python docs:
While curses is most widely used in the Unix environment, versions are available for DOS, OS/2, and possibly other systems as well. This extension module is designed to match the API of ncurses, an open-source curses library hosted on Linux and the BSD variants of Unix.
 
The first thing that comes to my mind is doing something based on threads, assuming that beeping is a blocking function (doesn't return until the beep ends).
 
start a thread that accepts beep requests (and performs the beeping)
last_beep_end_time = now()
 
while akey is pressed: 
  
   speaker_is_idle = now() > last_beep_end_time
 
   if akey is quit_key:
       quit
 
   if akey is key1 and the speaker is idle:
      ask the thread to beep
      compute last_beep_end_time (at which the beep ends, eg now + 100ms)
  
   ...
   silently ignore keypresses while the speaker is already beeping.
 
 
Cheers,
Joseph

Reply to: