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

Playing around with uemacs I noticed that some of the default alternative key bindings are set to the Fn key in combination with a different key (for example, an alternative for 'help' is set to FNh, i.e. press Fn+h). From what I know, using the Fn key as a meta key is not possible (since doing the command xev and pressing Fn does not generate any keycode). Is there a work around for using Fn in uemacs?

share|improve this question
This FNh is an internal name in uemacs. It is not related to the Fn key on laptops. Which of the several uemacs/microemacs are you using? – Gilles Jan 1 '12 at 19:32
It's from github, version 4.0.15. What do you mean by internal name? – chimil Jan 2 '12 at 12:30

OP is likely referring to

Referring to the source (on github, since it is easily linked and not much changed from the import):

  • emacs.rc has bindings like this:

    bind-to-key help FN;

    which use FN as an internal name, e.g.,

  • bind.c in functions cmdstr and stock translates that from/to the mask value SPEC (special key).

  • uemacs only knows about terminals (no X), so xev is irrelevant

  • uemacs detects special keys when you type them into a terminal because they are escape sequences. In particular, those which begin with CSI, e.g., escape[ tell it to mark those with SPEC.
  • It does this in input.c function getcmd by ORing the SPEC flag with the final character of the escape sequence which it read. For instance, a cursor up-arrow would be escape[A.
  • in ebind.h, that corresponds to the backline function.

So there is no literal "FN" used for a key-binding, nor is the special key FN used (which you may find on various small keyboards, e.g., laptops). It is used only to make the bindings more readable.

Further reading:

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.