Question: I want to define some key bindings for my new found usage of helm, amazing mode btw, and I want to do it without overwriting the usage of other keys. I realize that the number of different key combinations is infinite, but is there some way to see all *undefined* key bindings for say 1 level deep? 

For example, I want to know what key bindings are available after hitting `C-c`, and then get a buffer with a listing of `C-c some_keys`. 

Assuming this feature doesn't currently exist?

Answer: 
You can hit `C-c C-h` to know all bindings that start with `C-c`. This works for any key sequence that is "incomplete": hit that key sequence and then `C-h` to see all the keybindings that start with that sequence. You can then pick something not in the list.

To know whether a particular keybinding is defined (to avoid overwriting it), you can use `C-h c` or `M-x describe-key-briefly` (or `C-h k` or `M-x describe-key`) to see what it is defined to, in the current mode.
[**Icicles** key completion](https://www.emacswiki.org/emacs/Icicles_-_Key_Completion) - `S-TAB` - shows you all key sequences currently available for use (i.e., bound, not free), including after you hit a prefix key. 

For example, `C-x r S-TAB` shows key sequences with the prefix `C-x r`.

Keys that are not listed are unbound (free).

You can sort the displayed key sequences in different ways, using `C-,`.