------------------------------------------------------------------------------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.confbind-key -n F10 new-windowbind-key -n F11 previous-windowbind-key -n F12 next-windowbind-key -n F13 new-windowbind-key -n F14 previous-windowbind-key -n F15 next-windowbind-key -n C-F10 split-window -hbind-key -n C-F11 split-window -hbind-key -n C-F12 split-window -hbind-key -n C-F13 split-window -hbind-key -n C-F14 split-window -hbind-key -n C-F15 split-window -hbind-key -n M-F10 split-window -vbind-key -n M-F11 split-window -vbind-key -n M-F12 split-window -vbind-key -n M-F13 split-window -vbind-key -n M-F14 split-window -vbind-key -n M-F15 split-window -vbind-key -n C-Tab split-window -hbind-key -n M-Tab split-window -vbind-key -n C-TAB split-window -hbind-key -n M-TAB split-window -vbind-key -n C-= split-window -hbind-key -n M-= split-window -vbind-key -n C-\ split-window -hbind-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:
- Is there a way to get tmux to allow me to use ctrl-Tab?
- Same for ctrl-=
- Are there tmux settings that will help me to get many of these keys working?
- 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?
- 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,
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
tmux-users mailing list