Mac keyboards have keys labelled "control", "alt", and "⌘" (that last one looks, as it leaves my keyboard, like a four-leaf clover, is represented by U+2318, and is often called the command key or the apple key) both to the left and right of the spacebar. The following script displays the Tk representation ( [keysyms] ) of these keys ====== label .l pack .l bind . {.l configure -text %K} ====== For each key in turn, the label says: * control == Control_L * alt == Meta_L * ⌘ == Alt_L Yes, really. Where it gets utterly confusing, however, is when the keys are used (as they almost always are) as modifiers. ====== label .m pack .m bind . {.m configure -text "command g"} bind . {.m configure -text "alt g"} bind . {.m configure -text "control g"} ====== As a final note, it is useful to know that the bindings are case-sensitive; in other words, and are separate bindings, the latter perhaps more easily being understood as Command and Shift and g together. As a postscript, it is unfortunate that whilst Windows uses the Control key as a modifier for the most common operations, e.g. Ctrl-C, Ctrl-X and Ctrl-V for copy, cut and paste respectively, [MacOS X] uses the ⌘ (command) key in the same situations. Thus it is necessary for a cross-platform application that wishes to adhere to native conventions to define platform dependent bindings. -- Alastair Davies 2005/07/25 ---- [JH]: I simply manage this with code like: ====== if {[tk windowingsystem] eq "aqua"} { set control "Command" set ctrl "Command-" } elseif {[tk windowingsystem] eq "win32"} { set control "Control" set ctrl "Ctrl+" } else { set control "Control" set ctrl "Ctrl-" } $menu add command -label "Do Something" -accelerator "${ctrl}d" bind $something <${control}d> { # do something ... } ====== ---- **See also** * [Cross platform keysyms] * [KeySyms on platforms other than X11] * [keysyms for Tcl] <> Mac | Porting | Characters