I'm using tmux 1.6 and I'm really struggling to get a lot of the keymaps that I had working in a pure Linux environment working now that I switched to a Mac.  Well, it has been a while since I switched, and I can't promise that all of these worked, but a number of them did.

Here are the keymaps that I have in my .tmux.conf file.  I have simplified them to mostly run the same command to make it easier for me to build the "what works"/what doesn't table below.  Here are the keymaps…
mgarrett@ubuntu:~$ grep bind-key .tmux.conf 
bind-key -n F10 new-window
bind-key -n F11 previous-window
bind-key -n F12 next-window
bind-key -n F13 new-window
bind-key -n F14 previous-window
bind-key -n F15 next-window
bind-key -n C-F10 split-window -h
bind-key -n C-F11 split-window -h
bind-key -n C-F12 split-window -h
bind-key -n C-F13 split-window -h
bind-key -n C-F14 split-window -h
bind-key -n C-F15 split-window -h
bind-key -n M-F10 split-window -v
bind-key -n M-F11 split-window -v
bind-key -n M-F12 split-window -v
bind-key -n M-F13 split-window -v
bind-key -n M-F14 split-window -v
bind-key -n M-F15 split-window -v
bind-key -n C-Tab split-window -h
bind-key -n M-Tab split-window -v
bind-key -n C-TAB split-window -h
bind-key -n M-TAB split-window -v
bind-key -n C-= split-window -h
bind-key -n M-= split-window -v
bind-key -n C-\ split-window -h
bind-key -n M-\ split-window –v

Here are a few keys that directly tell me that they won't work in all 3 terminals that I tried, but should be free on this machine…
/home/mgarrett/.tmux.conf: 28: unknown key: C-Tab 
/home/mgarrett/.tmux.conf: 31: unknown key: C-TAB
/home/mgarrett/.tmux.conf: 34: unknown key: C-=

Here is a table showing what works and what doesn't in the 3 different terminal apps that I use on the Mac (my preference is iTerm2 but I would switch to any of them if I was able to get easier control of more keys):

Key(s) iTerm2 Xquartz Xterm Mac Terminal
F10 works works works
F11 works works works
F12 works works works
F13 works displays ~ when pressed displays ~ when pressed
F14 works displays ~ when pressed displays ~ when pressed
F15 works displays ~ when pressed displays ~ when pressed
ctrl-F10 acts like no ctrl is pressed works audiible bell
ctrl-F11 acts like no ctrl is pressed works audiible bell
ctrl-F12 acts like no ctrl is pressed works audiible bell
ctrl-F13 acts like no ctrl is pressed works (even when F13 was ~) audiible bell
ctrl-F14 appears to do nothing appears to do nothing appears to do nothing
ctrl-F15 appears to do nothing appears to do nothing appears to do nothing
alt-F10 acts like no alt is pressed acts like no alt is pressed displays ~ when pressed
alt-F11 acts like no alt is pressed acts like no alt is pressed displays ~ when pressed
alt-F12 acts like no alt is pressed acts like no alt is pressed displays ~ when pressed
alt-F13 acts like no alt is pressed displays ~ when pressed displays ~ when pressed
alt-F14 acts like no alt is pressed displays ~ when pressed displays ~ when pressed
alt-F15 acts like no alt is pressed displays ~ when pressed displays ~ when pressed
ctrl-\ works works works
alt-\ works displays what looks like a fish when pressed works
ctrl-- (dash) audible bell acts like no ctrl was pressed displays ~ when pressed
alt-- (dash) works appears to do nothing displays "(arg: -1)" when pressed
ctrl-Tab appears to do nothing acts like no ctrl was pressed acts like no ctrl was pressed
alt-Tab works acts like no alt was pressed works


It took me a while to create that table.  I'm sorry if it is overwhelming in this context.  

Here are my questions now that you have that background data:
  1. Is there a way to get tmux to allow me to use ctrl-Tab?
  2. Same for ctrl-=
  3. Are there tmux settings that will help me to get many of these keys working?
  4. Or, are my problems at the Mac or <insert terminal app here> layer?  In other words, am I even asking the correct people the question?  Should this question be directed at each of the different terminal owners?  Or  Is this possibly a Mac OSX problem?   My completely uninformed opinion at the end of this exercise is that the terminals are all handling keyboard stuff in at least a slightly different way which must be a nightmare for tmux, screen and complex terminal apps like vim, emacs, and libraries like curses.  Am I right about that?  If so, is there a better way to handle it, and is someone working on that better way?
  5. Is there a better way to debug keyboard stuff like this?  A long time ago, when working in Linux mostly, I learned this command  (cat > /dev/null).  That command takes keys pressed and shows the code that is being sent.  At the end of building the table above, I went back and ran many of the same keystrokes, but ran them into "cat > /dev/null".  The result was, in many cases, exactly what I would have expected to see based on the tmux result.  Commands that appeared to be ignoring a ctrl or alt in tmux showed the exact same code being sent for both.
-Mike