Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Which application can I use to figure out what to put in .inputrc for any custom keyboard shortcut? I've tried a few, and none of them seem to be usable:

showkey, showkey -a and read just print ' if you press Ctrl-'.

xev prints them separately, and doesn't print anything that seems usable for .inputrc.

share|improve this question
up vote 1 down vote accepted

I believe ctrl-' will not be passed to applications in the console. It also doesn't show up in xev.

It may be the input system or even PC hardware, but without trickery some of the key combinations may be impossible to detect.

share|improve this answer
cat -v

Then just press the keys that you're trying to map. Its kinda crude, but it mostly works for that kind of thing. Job control keys and Ctrl-V will still do what they do, but for most other keys like function keys, arrow keys, etc., you can see the sequence it generates. Just remember the ^[ part is the escape code and you replace that with \e in the .inputrc file.

share|improve this answer
I don't see the advantage over any of the other tools. Also, it prints ' for Ctrl-', just like the other tools. – l0b0 Mar 19 '12 at 14:54
Well I just thought it was another option to try. I see the problem with Ctrl-' now. That's weird that the ;, ', , and . keys don't generate control sequences. Neither do the number keys. Never noticed that before. – deltaray Mar 19 '12 at 15:01
@l0b0 Most terminals do not generate different key sequences for Ctrl+' and '. This can be configured in some terminal emulators such as Xterm. – Gilles Mar 19 '12 at 18:23
Is Ctrl+' used for something specific? Is it something that legacy systems had or something? – deltaray Mar 20 '12 at 19:42

You would need a program that reads input in non-canonical mode and then display the bytes that has read. Personally, I don't know any such program, so I use cat and pipe the output through od to see the individual bytes, which appears to work 99% of the time. When a key interacts with the terminal (e.g. moves the cursor, deletes a character) you have to quote it with Ctrl-V though.

share|improve this answer

You can also simply use Ctrl+V which will "quote" your next key sequence.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.