Functions documented to take a parameter of type Keymap are special. In place of the keymap parameter, you specify the name of the keymap, as a symbol (not as a string!), for example,

 Key(Global, "Alt-X")

This special behaviour is only available for elementary functions and commands. You cannot write functions or subroutines that take Keymap parameters.

Keymaps have a separate namespace from variables, i.e. a keymap MyStuff and a variable MyStuff are not related in any way.

A keymap contains a set of keystrokes and commands active in a particular context. A keymap can have one or more parent keymaps that "extend" the keymap. A key is looked up first in the keymap itself. If it is not found there, it is searched for in the parents.

As of October 2024, PCC2 Web does not use keymaps.

You can also specify keymap names as an expression using the ByName() pseudo-function:

 Bind ByName(n) "x" := "My.Command"

Here, the name of the keymap is specified in variable n.

Commands and Functions taking Keymap as Parameter

Functions returning Keymap

This is a testing version.
It may be incomplete, and have more bugs (or features) than the public live version at planetscentral.com.