diff options
author | das <das@noemail.net> | 2006-05-12 18:17:48 (GMT) |
---|---|---|
committer | das <das@noemail.net> | 2006-05-12 18:17:48 (GMT) |
commit | fef72a05cb4845955038a33be183794b0d8ef1f0 (patch) | |
tree | cd23015b14a776e288d49f24dec1f6c29be75a35 /macosx/tkMacOSXKeyEvent.c | |
parent | 8c4b30ad398a140346ee9ad604ff837e99e8aa3c (diff) | |
download | tk-fef72a05cb4845955038a33be183794b0d8ef1f0.zip tk-fef72a05cb4845955038a33be183794b0d8ef1f0.tar.gz tk-fef72a05cb4845955038a33be183794b0d8ef1f0.tar.bz2 |
* generic/tkCanvWind.c (DisplayWinItem, WinItemRequestProc): ensure
canvas window items are unmapped when canvas is unmapped. [Bug 940117]
* macosx/tkMacOSXSubwindows.c (TkMacOSXUpdateClipRgn): empty clip region
of unmapped windows to prevent any drawing into them or into their
children from becoming visible. [Bug 940117]
* macosx/tkMacOSXInt.h: revert Jim's attempt of 2005-03-14 to
* macosx/tkMacOSXSubwindows.c: fix Bug 940117 as it disables Map/Unmap
event propagation to children. [Bug 1480105]
* macosx/tkMacOSXDraw.c (TkPutImage): handle tkPictureIsOpen flag, fixes
incorrect positioning of images with complex alpha on native buttons;
actual alpha blending is still broken in this situation. [Bug 1155596]
* macosx/tkMacOSXEvent.c (TkMacOSXProcessCommandEvent):
* macosx/tkMacOSXMenus.c (TkMacOSXInitMenus): workaround carbon bug with
key shortcut for 'Preferences' app menu item. [Bug 1481503]
* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only check
for HICommand menu item shortcuts in the application menu.
* macosx/tkMacOSXInt.h: initialize keyboard layout setup in
* macosx/tkMacOSXInit.c: TkpInit() rather than during handling of
* macosx/tkMacOSXKeyEvent.c: first key down event.
* macosx/tkMacOSXDraw.c: add optional debug code to flash clip
* macosx/tkMacOSXSubwindows.c: regions during update or draw.
FossilOrigin-Name: bb9d0b136b8c477e9cab2dcad8b367f8bb3c13d7
Diffstat (limited to 'macosx/tkMacOSXKeyEvent.c')
-rw-r--r-- | macosx/tkMacOSXKeyEvent.c | 75 |
1 files changed, 52 insertions, 23 deletions
diff --git a/macosx/tkMacOSXKeyEvent.c b/macosx/tkMacOSXKeyEvent.c index 17923e8..0201054 100644 --- a/macosx/tkMacOSXKeyEvent.c +++ b/macosx/tkMacOSXKeyEvent.c @@ -4,7 +4,11 @@ * This file implements functions that decode & handle keyboard events * on MacOS X. * - * Copyright 2001, Apple Computer, Inc. + * Copyright 2001, Apple Computer, Inc. + * Copyright (c) 2006 Daniel A. Steffen <das@users.sourceforge.net> + * + * See the file "license.terms" for information on usage and redistribution of + * this file, and for a DISCLAIMER OF ALL WARRANTIES. * * The following terms apply to all files originating from Apple * Computer, Inc. ("Apple") and associated with the software @@ -50,7 +54,7 @@ * software in accordance with the terms specified in this * license. * - * RCS: @(#) $Id: tkMacOSXKeyEvent.c,v 1.14 2006/04/28 06:02:49 das Exp $ + * RCS: @(#) $Id: tkMacOSXKeyEvent.c,v 1.15 2006/05/12 18:17:48 das Exp $ */ #include "tkMacOSXInt.h" @@ -173,24 +177,23 @@ TkMacOSXProcessKeyboardEvent( */ if ((eventPtr->eKind == kEventRawKeyDown - || eventPtr->eKind == kEventRawKeyRepeat) - && IsMenuKeyEvent(NULL, eventPtr->eventRef, - kMenuEventQueryOnly, &menuRef, &menuItemIndex)) { - MenuCommand menuCmd; - - GetMenuItemCommandID (menuRef, menuItemIndex, &menuCmd); - - switch (menuCmd) { - case kHICommandHide: - case kHICommandHideOthers: - case kHICommandShowAll: - case kHICommandPreferences: - statusPtr->stopProcessing = 0; - return 0; /* TODO: may not be on event on queue. */ - break; - default: - break; - } + || eventPtr->eKind == kEventRawKeyRepeat) + && IsMenuKeyEvent(tkAppleMenu, eventPtr->eventRef, + kMenuEventQueryOnly, &menuRef, &menuItemIndex)) { + MenuCommand menuCmd; + + GetMenuItemCommandID (menuRef, menuItemIndex, &menuCmd); + switch (menuCmd) { + case kHICommandHide: + case kHICommandHideOthers: + case kHICommandShowAll: + case kHICommandPreferences: + statusPtr->stopProcessing = 0; + return 0; /* TODO: may not be on event on queue. */ + break; + default: + break; + } } status = GetEventParameter(eventPtr->eventRef, @@ -1187,7 +1190,7 @@ XUngrabKeyboard( { gKeyboardWinPtr = NULL; } - + /* *---------------------------------------------------------------------- * @@ -1204,7 +1207,7 @@ TkMacOSXGetCapture() { return gGrabWinPtr; } - + /* *---------------------------------------------------------------------- * @@ -1233,7 +1236,7 @@ TkpSetCapture( } gGrabWinPtr = (Tk_Window) winPtr; } - + /* *---------------------------------------------------------------------- * @@ -1260,3 +1263,29 @@ Tk_SetCaretPos(tkwin, x, y, height) int height; { } + +/* + *---------------------------------------------------------------------- + * + * TkMacOSXInitKeyboard -- + * + * This procedure initializes the keyboard layout. + * + * Results: + * None. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +MODULE_SCOPE void +TkMacOSXInitKeyboard ( + Tcl_Interp *interp) +{ + Ptr resource; + TextEncoding encoding; + + GetKeyboardLayout(&resource,&encoding); +} |