Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [Bug 3599312]: Apply fix for Alt key problems. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-5-branch |
Files: | files | file ages | folders |
SHA1: |
92b9ecc3f8ac2ffa2954926f056c38ec |
User & Date: | dkf 2013-02-28 09:07:06 |
Context
2013-02-28
| ||
09:35 | minor: tidy up change log formatting check-in: 5a0a5e30 user: dkf tags: core-8-5-branch | |
09:10 | [Bug 3599312]: Apply fix for Alt key problems. check-in: 3972832e user: dkf tags: trunk | |
09:07 | [Bug 3599312]: Apply fix for Alt key problems. check-in: 92b9ecc3 user: dkf tags: core-8-5-branch | |
2013-02-15
| ||
16:04 | Extend the public and private stub tables with dummy NULL entries, up to the size of the Tk 8.6 stub tables. This makes it easier to debug Tk extensions which use Tk 8.6 features but (erroneously) are attempted to be loaded in wish8.5 check-in: c1fb112b user: jan.nijtmans tags: core-8-5-branch | |
2013-01-07
| ||
14:44 | The proposed fix from Bug 3599312, which should make key map handling interact better with input methods. Note that this does not work on OSX (in X11 mode) because that handles the Alt key in its own special way. Closed-Leaf check-in: 4bb01e25 user: dkf tags: bug-3599312 | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2013-01-16 Jan Nijtmans <[email protected]> * win/Makefile.in: Don't compile Tk with -DTCL_NO_DEPRECATED by default * unix/Makefile.in: any more, it might hurt when we compile Tk 8.x against Tcl 8.y with y > x, because new deprecated constructs might be added in higher Tcl versions (except for Tk 8.6, for now, because there is no higher 8.x yet) | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 2013-02-28 Donal K. Fellows <[email protected]> * unix/tkUnixKey.c (TkpGetKeySym): [Bug 3599312]: Put the initialization of the key mapping before the input method handling so that Alt key handling is correct on non-OSX Unix. Thanks to Colin McDonald for developing the fix. 2013-01-16 Jan Nijtmans <[email protected]> * win/Makefile.in: Don't compile Tk with -DTCL_NO_DEPRECATED by default * unix/Makefile.in: any more, it might hurt when we compile Tk 8.x against Tcl 8.y with y > x, because new deprecated constructs might be added in higher Tcl versions (except for Tk 8.6, for now, because there is no higher 8.x yet) |
︙ | ︙ |
Changes to unix/tkUnixKey.c.
︙ | ︙ | |||
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | TkpGetKeySym( TkDisplay *dispPtr, /* Display in which to map keycode. */ XEvent *eventPtr) /* Description of X event. */ { KeySym sym; int index; TkKeyEvent* kePtr = (TkKeyEvent*) eventPtr; #ifdef TK_USE_INPUT_METHODS /* * If input methods are active, we may already have determined a keysym. * Return it. */ if (eventPtr->type == KeyPress && dispPtr && (dispPtr->flags & TK_DISPLAY_USE_IM)) { if (kePtr->charValuePtr == NULL) { Tcl_DString ds; TkWindow *winPtr = (TkWindow *) Tk_IdToWindow(eventPtr->xany.display, eventPtr->xany.window); Tcl_DStringInit(&ds); (void) TkpGetString(winPtr, eventPtr, &ds); Tcl_DStringFree(&ds); } if (kePtr->charValuePtr != NULL) { return kePtr->keysym; } } #endif | > > > > > > > > > > < < < < < < < < | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | TkpGetKeySym( TkDisplay *dispPtr, /* Display in which to map keycode. */ XEvent *eventPtr) /* Description of X event. */ { KeySym sym; int index; TkKeyEvent* kePtr = (TkKeyEvent*) eventPtr; /* * Refresh the mapping information if it's stale. This must happen before * we do any input method processing. [Bug 3599312] */ if (dispPtr->bindInfoStale) { TkpInitKeymapInfo(dispPtr); } #ifdef TK_USE_INPUT_METHODS /* * If input methods are active, we may already have determined a keysym. * Return it. */ if (eventPtr->type == KeyPress && dispPtr && (dispPtr->flags & TK_DISPLAY_USE_IM)) { if (kePtr->charValuePtr == NULL) { Tcl_DString ds; TkWindow *winPtr = (TkWindow *) Tk_IdToWindow(eventPtr->xany.display, eventPtr->xany.window); Tcl_DStringInit(&ds); (void) TkpGetString(winPtr, eventPtr, &ds); Tcl_DStringFree(&ds); } if (kePtr->charValuePtr != NULL) { return kePtr->keysym; } } #endif /* * Figure out which of the four slots in the keymap vector to use for this * key. Refer to Xlib documentation for more info on how this computation * works. */ index = 0; |
︙ | ︙ |