Hello,

Now it seems that many terminals in OSX sends xterm-incompatible function key sequences with modifiers, in spite of that they declare TERM=xterm(modifyFunctionKeys=2).
To solve this problems, we should report this problem to each of different terminal owners, in principle.

I think Ctrl + Tab issue is different problem.
xterm (and allmost all terminals) in default state sends same sequences for Tab and Ctrl + Tab. 
For this issue, xterm provides the feature called as "ModifyOtherKeys".

If you type this command in shell environment;

> $ echo -en "\033[>4;2m"; cat

and type Ctrl + Tab, Xterm sends following sequence.

ESC [ 27 ; 5 ; 9 ~

If this feature is widely supported, tmux is able to completely distinguish key sequences from other synonyms and recognize more key combinations such as Ctrl + Tab.
But the problem is that almost all "xterm compatible" terminals are not support this feature yet.
I Think, on the contrary, if tmux support this feature adaptively, this fact would give terminal developers the motivation for supporting it.

Regards,

Hayaki Saito

On 2013/01/07, at 9:50, Michael Garrett wrote:

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


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users