summaryrefslogtreecommitdiffstats
path: root/unix/tkUnixKey.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge 8.5. Bring together the compile time and run time Xkb checks.dgp@users.sourceforge.net2013-04-011-9/+15
|\
| * [Bug 3599312]: Apply fix for Alt key problems.donal.k.fellows@manchester.ac.uk2013-02-281-8/+10
| |\
| | * The proposed fix from Bug 3599312, which should make key map handling interactdonal.k.fellows@manchester.ac.uk2013-01-071-8/+9
| | | | | | | | | | | | 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.
| * | Bug [3599928]: Use XkbKeycodeToKeysym if available.stwo@users.sourceforge.net2013-01-311-1/+6
| |/
* | Runtime check for Xkb support in X server.dgp@users.sourceforge.net2013-04-011-14/+20
|/ | | Contributed patch from Brian Griffin.
* sync nmakehlp.c with Tcl versionnijtmans@users.sourceforge.net2012-10-231-5/+5
|\ | | | | | | <p>purge spaces at end of lines <p>clean-up unix/Makefile.in after carbon removal
* | Remove useless (void *) casts introduced in checkin [b7a58eae61]. The ↵stwo@users.sourceforge.net2012-08-091-2/+2
| | | | | | | | warnings were false flags from a faulty OpenBSD C compiler.
* | [Bug 3551802]: Convert from XKeycodeToKeysym to XkbKeycodeToKeysym to fixdonal.k.fellows@manchester.ac.uk2012-07-311-10/+12
|\ \ | |/ | | deprecation warning.
| * [Bug 3551802]: Convert from XKeycodeToKeysym to XkbKeycodeToKeysym to fixdonal.k.fellows@manchester.ac.uk2012-07-311-9/+11
| | | | | | deprecation warning.
* | Fix for bug 3410609; confirmed to work on UK keyboard.donal.k.fellows@manchester.ac.uk2011-10-251-6/+29
|\ \
| * | Tentative fix for bug 3410609 - use the keysym returned by XLookupString in ↵Kevin B Kenny2011-10-011-6/+29
|/ / | | | | | | preference to the raw one in the XEvent.
* | Purge RCS Keywords.dgp@users.sourceforge.net2011-06-081-2/+0
|\ \ | |/
| * Purge RCS Keywords.dgp@users.sourceforge.net2011-06-081-2/+0
| |
* | Cast some NULLs to (void *) in order to quash "missing sentinel in function ↵stwo@users.sourceforge.net2011-01-061-3/+3
| | | | | | | | call" compiler warnings.
* | Fix [Bug 1373712] and [Bug 1924761].donal.k.fellows@manchester.ac.uk2010-01-021-80/+67
| |
* | Use Xutf8LookupString where available [Patch #1986818].jenglish@flightlab.com2008-06-111-14/+89
| | | | | | | | | | This should fix problems (like #1908443) where Xlib's idea of the system encoding does not match Tcl's.
* | XIM reorganization and cleanup; see [Patch 1919791] for details.jenglish@flightlab.com2008-03-261-38/+35
| |
* | Minor syntactic stuffdonal.k.fellows@manchester.ac.uk2007-02-271-8/+9
| |
* | Whitespace/style/ANSI improvementsdonal.k.fellows@manchester.ac.uk2005-10-211-75/+75
|/
* * generic/tkCmds.c (Tk_TkObjCmd):hobbs2002-06-171-14/+19
| | | | | | | | | | * generic/tkInt.h (struct TkCaret): * mac/tkMacXStubs.c (Tk_SetCaretPos): * unix/tkUnixKey.c (TkpGetString, Tk_SetCaretPos): * win/tkWinX.c (Tk_SetCaretPos): * tests/tk.test: Added 'tk caret' implementation of TIP#96 * doc/SetCaret.3 (new): which adds a TkCaret structure element to * doc/tk.n: TkDisplay for maintaining state.
* * generic/tkCmds.c (Tk_TkObjCmd):hobbs2002-06-151-2/+2
| | | | | | | * unix/tkUnixKey.c (TkpGetString): * generic/tkEvent.c (Tk_HandleEvent): * generic/tkInt.h: changed useInputMethods boolean from int to a bit in the flags variable (TK_DISPLAY_USE_IM)
* changed TK_USE_XIM_SPOT to TK_DISPLAY_XIM_SPOT for clarityhobbs2002-06-151-2/+2
|
* * generic/tkEvent.c (Tk_HandleEvent):hobbs2002-06-151-6/+8
| | | | | | | | | * unix/tkUnixEvent.c (OpenIM): * unix/tkUnixKey.c (TkpGetString): * generic/tkInt.h: added TK_USE_XIM_SPOT flag bit for TkDisplay and used this to allow a runtime check to see if over-the-spot XIM is possible. If not it will try and fallback to the old-style input context, which handles things like dead keys input.
* * unix/tkUnixKey.c: added Tk_SetCaretPos and code for settinghobbs2002-04-051-2/+55
| | | | XIM caret in TkpGetString.
* * tests/event.test: Added test for [event generate $widgetericm2000-04-101-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | <Alt-z>] [Bug: 4611]. * tests/choosedir.test: Changed "namespace import ::tcltest" to "namespace import -force ::tcltest". * win/tkWinKey.c: * unix/tkUnixKey.c: * mac/tkMacKeyboard.c: Changed InitKeymapInfo to TkpInitKeymapInfo. [Bug: 4611]. * generic/tkStubInit.c: * generic/tkIntDecls.h: Re-gen'd from tkInt.decls. * generic/tkInt.decls: Added TkpInitKeymapInfo to list of function decls. * generic/tkBind.c (HandleEventGenerate): Added code to initialize keymap info if necessary, and to correctly set modifier bits in XEvent structure create to handle [event generate] calls. Previously, the alt/meta bits were not set correctly, so [event generate $widget <Alt-z>] would always fail. [Bug: 4611]
* * generic/tk.decls:hobbs2000-02-091-1/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tkBind.c: * generic/tkInt.decls: * generic/tkIntDecls.h: * generic/tkStubInit.c: * mac/tkMacKeyboard.c: * unix/tkUnixKey.c: * win/tkWinKey.c: Fix for keyboard handling of "dead" keys and caps lock from Peter Spjuth. Split functions into platform specific files: Static functions GetKeySym(), SetKeycodeAndState() and InitKeymapInfo() from tkBind.c moved into platform files tkWinKey.c tkUnixKey.c and tkMacKeyboard.c. GetKeySym() and SetKeycodeAndState() renamed to Tkp* and made public (as private functions) in tkInt.decls. Step 2, fixes in tkWinKey.c New static function: KeycodeToKeysym(), based on XKeycodeToKeysym() but with different arguments, and a lot of improvements. TkpGetString() changed to use KeycodeToKeysym() + other fixes. TkpGetKeySym() changed to use KeycodeToKeysym() + other fixes. InitKeymapInfo() changed to use KeycodeToKeysym(). TkpSetKeycodeAndState() rewritten, mostly by copying code from XKeysymToKeycode(). XKeycodeToKeysym() rewritten. Preferably it should be removed. EXPLANATION: The main problem is ToAscii() which has a lot of side effects, and also that XKeycodeToKeysym() is not provided enough input to do a proper job. The changes' main goal is to avoid calling ToAscii() if not necessary, and to provide it with as correct information as possible when called. Also some attempts to clean up what ToAscii() did are done. See the code for details. BUGS FIXED: Typing shifted (and AltGr) dead keys did not work. Keyboard lock lamps did not work on Win98. Events regarding AltGr-keys behaved badly. Example: On a Swedish keyboard, $ is typed with AltGr-4. That keyboard event would get the keysym '4' not 'dollar'. Also, doing [event generete . <Key-dollar>] would send keysym '4'. Translation to ascii in TkpGetString did not handle return and tab correctly. I.e. [event generate . <Key-Return>] gave wrong %A
* * unix/tkUnixKey.c:hobbs1999-12-161-4/+4
| | | | | | | | | * generic/tkCmds.c: * generic/tkEvent.c: * generic/tkWindow.c: * generic/tkInt.h: add 'tk useinputmethods ?-display win? ?bool?' call to provide support for disabling/enabling the use of XIM on X. This was previously all done at compile time, and always on.
* * Merged 8.1 branch into the main trunkstanton1999-04-161-0/+90