[comp.sys.mac.programmer] Missing key-up events

stevea@portia.Stanford.EDU (Steve Aronson) (11/03/90)

Hi,
  I have a program written in Think C where I track key-up and key-down
events.  I set a boolean to be TRUE on key-down and then set it
to FALSE on key-up for a given key. My problem is that sometimes a key-up
event is not generated for a corresponding key-down event.  Can anyone tell
me why this would happen? It happens consistently and I don't think
it is hardware related...

Thanks,

Steve

mlab2@kuhub.cc.ukans.edu (11/03/90)

In article <1990Nov3.000228.15849@portia.Stanford.EDU>, stevea@portia.Stanford.EDU (Steve Aronson) writes:
> Hi,
>   I have a program written in Think C where I track key-up and key-down
> events.  I set a boolean to be TRUE on key-down and then set it
> to FALSE on key-up for a given key. My problem is that sometimes a key-up
> event is not generated for a corresponding key-down event. <stuff deleted> 
> Thanks,
> 
> Steve

I too have encountered this problem but with LSPascal.  I have seen it
suggested that it is a KeyUpMask default.  However, I have set the event mask
to everyEvent and still have similar problems.  Is this just a symptom of my
Mac Plus?
BTW, in Glypha I got around this by including a GetKeys call in every pass
through the main loop, but I've always thought this was a cludgy thing to do. 
Has anyone been able to get keyUp events to work _reliably_?

Thanks also,

john calhoun (aka soft dorothy)

andyp@treehouse.UUCP (Andy Peterman) (11/04/90)

In article <1990Nov3.000228.15849@portia.Stanford.EDU> stevea@portia.Stanford.EDU (Steve Aronson) writes:
>to FALSE on key-up for a given key. My problem is that sometimes a key-up
>event is not generated for a corresponding key-down event.

You need to tell the OS Event Manager to report key-up events using
SetEventMask.  Check out IM II-70 for more information.

-- 
Andy Peterman                       |   Opinions expressed
treehouse!andyp@gvgpsa.gvg.tek.com  | are definitely those of
(916) 273-4569                      |      my employer!