Page under development - please be patient! ** Introduction ** When using [bind] to handle keyboard events, Modifier keys can change the effect of a keystroke. This is described on the manual page [http://www.purl.org/tcl/home/man/tcl8.5/TkCmd/bind.htm%|%bind(n)%|%]. The present page describes the effects of Modifier keys on different platforms. This information has been obtained by experimentation with Tcl/Tk 8.5.8. Some results might depend on the specific hardware used: if you get different results, please document this. If you use a different platform or keyboard (e.g. Sun, Space Cadet [http://en.wikipedia.org/wiki/Space-cadet_keyboard]), please add a section to this page. ** PC running Linux ** A standard PC keyboard on Linux never applies the modifiers Extended Meta, M Mod3, M3 ''(If you know otherwise, please revise this page.)'' The PC keyboard's modifier keys on Linux are: %|Key|KeyPress %K|KeyRelease %K|Binding Modifier|PE [[1]]|AR [[2]]|%A [[3]]|Notes|% &||||Extended||||Not used in Linux.|& &|Num Lock|Num_Lock|Num_Lock|Mod2, M2, Option|Y||M||& &|Scroll Lock|Scroll_Lock|Scroll_Lock||Y|||NOT a modifier key in Linux.|& &|Caps Lock|Caps_Lock|Caps_Lock|Lock|Y||M||& &|Shift (Left)|Shift_L|Shift_L|Shift|||M||& &|Shift (Right)|Shift_R|Shift_R|Shift|||M||& &|Control (Left)|Control_L|Control_L|Control|||-||& &|Control (Right)|Control_R|Control_R|Control||Y|-||& &|"Windows" (Left)|Super_L|Super_L|Mod4, M4||Y|Y||& &|"Windows" (Right)|Super_R|Super_R|Mod4, M4||Y|Y||& &|Alt (Left)|Alt_L|Alt_L|Alt|||-|A binding with modifier Alt is overridden by a binding with modifier Command, Mod1, or M1.|& &|Alt Gr [[4]]|ISO_Level3_Shift|??|Mod5, M5||Y|M|The event KeyRelease-ISO_Level3_Shift is not recognised: it is reported as KeyRelease-??.|& '''[[1]]''' Column '''PE''' means "Persistent". If marked "Y", the key is pressed and released to activate the modifier; the modifier is applied to subsequent keystrokes until the modifier key is pressed and released again. If not marked "Y", the key must be held down to activate its modifier; the modifier is applied to subsequent keystrokes until the modifier key is released.<
> '''[[2]]''' Column '''AR''' means "Autorepeat". If marked "Y", the key has autorepeat enabled.<
> '''[[3]]''' Column '''%A''' indicates the value supplied as the binding value %A. If marked "Y", the same value is supplied as for the unmodified event. If marked "M", a modified value is supplied - a change of case for "Caps Lock" or "Shift" or (Mac only) both, no change if both modifiers are present (Linux, Windows); a numerical value instead of {} for "Num Lock" when a numerical keypad key is pressed; a different character (or none) for "Alt Gr". If marked "-", the string {} is supplied as %A.<
> '''[[4]]''' The "Right Alt" or "Alt Gr" key is used in combination with certain other keys for composing characters that are not otherwise available on the keyboard. This functionality is provided by the operating system, without use of the Mod5/M5 modifier (Linux) or the Control-Alt modifier (Windows), to generate the value supplied as %A; that value is not necessarily the same for Windows and Linux, or the same as the value produced by the Option key on the Mac. ** PC running Windows ** A standard PC keyboard on Windows never applies the modifiers Meta, M Mod4, M4 Mod5, M5 ''(If you know otherwise, please revise this page.)'' The PC keyboard's modifier keys on Windows are: %|Key|KeyPress %K|KeyRelease %K|Binding Modifier|PE [[1]]|AR [[2]]|%A [[3]]|Notes|% &||||Extended|||Y|In Windows, this modifier is automatically applied to certain keys of the "Extended" keyboard. See [http://www.purl.org/tcl/home/man/tcl8.5/TkCmd/bind.htm%|%bind(n)%|%] for details.|& &|Num Lock|Num_Lock|Num_Lock|Command, Mod1, or M1|Y|Y|M||& &|Scroll Lock|Scroll_Lock|Scroll_Lock|Mod3, or M3|Y|Y|Y||& &|Caps Lock|Caps_Lock|Caps_Lock|Lock|Y|Y|M||& &|Shift (Left)|Shift_L|Shift_L|Shift||Y|M||& &|Shift (Right)|Shift_R|Shift_L|Shift||Y|M||& &|Control (Left)|Control_L|Control_L|Control||Y|-||& &|Control (Right)|Control_R|Control_L|Control||Y|-||& &|"Windows" (Left)|Win_L|Win_L|||Y||NOT a modifier key in Windows.|& &|"Windows" (Right)|Win_R|Win_R|||Y||NOT a modifier key in Windows.|& &|Alt (Left)|Alt_L|Alt_L|Alt||Y|-|A binding with modifier Alt is overridden by a binding with modifier Option, Mod2, or M2.|& &|Alt Gr '''[[4]]'''|Control_L, Alt_R|Control_L, Alt_L|Control-Alt||Y|M|A binding with modifier Alt is overridden by a binding with modifier Option, Mod2, or M2. When the modifier key is pressed, two KeyPress events occur: the first with keysym Control_L, the second with keysym Alt_R.|& '''[[1]], [[2]], [[3]], [[4]]''' Same as footnotes on Linux table (above). <> * [Category Characters] * [Category Hardware] * [Category Platform Issues]