Some month ago I started testing an idea for using the second tab key for completion. I think I told about the idea here then. I found the original idea on EmacsWiki. I have been trying to generalize this quite a bit. In the attached file there is a minor mode called tabkey2-mode that implements it. If tabkey2-mode is on then the first tab key does whatever it use to do when tabkey2-mode is not on. The second tab key on the same row will do completion. Since there are many kind of completions tabkey2-mode also lets you choose completion type. This is bound to shift tab. Any thoughts or ideas?