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 . <KeyPress> {.l configure -text %K}
For each key in turn, the label says:
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 . <Command-g> {.m configure -text "command g"} bind . <Option-g> {.m configure -text "alt g"} bind . <Control-g> {.m configure -text "control g"}
As a final note, it is useful to know that the bindings are case-sensitive; in other words, <Command-g> and <Command-G> 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 ... }