[USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
dead key repeat and up events.
This commit is contained in:
parent
5a83f85cd7
commit
e4f5123fce
2 changed files with 18 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
|
||||
dead key repeat and up events.
|
||||
|
||||
2007-05-13 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* xterm.c (XTread_socket): Revert last change.
|
||||
|
|
|
@ -9164,15 +9164,16 @@ mac_get_mouse_btn (EventRef ref)
|
|||
|
||||
/* Normally, ConvertEventRefToEventRecord will correctly handle all
|
||||
events. However the click of the mouse wheel is not converted to a
|
||||
mouseDown or mouseUp event. Likewise for dead key down events.
|
||||
This calls ConvertEventRef, but then checks to see if it is a mouse
|
||||
up/down, or a dead key down carbon event that has not been
|
||||
mouseDown or mouseUp event. Likewise for dead key events. This
|
||||
calls ConvertEventRefToEventRecord, but then checks to see if it is
|
||||
a mouse up/down, or a dead key Carbon event that has not been
|
||||
converted, and if so, converts it by hand (to be picked up in the
|
||||
XTread_socket loop). */
|
||||
static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec)
|
||||
{
|
||||
OSStatus err;
|
||||
Boolean result = ConvertEventRefToEventRecord (eventRef, eventRec);
|
||||
EventKind action;
|
||||
|
||||
if (result)
|
||||
return result;
|
||||
|
@ -9201,6 +9202,14 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec)
|
|||
switch (GetEventKind (eventRef))
|
||||
{
|
||||
case kEventRawKeyDown:
|
||||
action = keyDown;
|
||||
goto keystroke_common;
|
||||
case kEventRawKeyRepeat:
|
||||
action = autoKey;
|
||||
goto keystroke_common;
|
||||
case kEventRawKeyUp:
|
||||
action = keyUp;
|
||||
keystroke_common:
|
||||
{
|
||||
unsigned char char_codes;
|
||||
UInt32 key_code;
|
||||
|
@ -9214,7 +9223,7 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec)
|
|||
NULL, &key_code);
|
||||
if (err == noErr)
|
||||
{
|
||||
eventRec->what = keyDown;
|
||||
eventRec->what = action;
|
||||
eventRec->message = char_codes | ((key_code & 0xff) << 8);
|
||||
result = 1;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue