Copied from loci.hotkey.txt, found in the docs directory of the LociTerm client. The Last Outpost MUD and LociTerm support this GMCP module to program and add dynamic lables to the client hotkey menu.
GMCP Loci.Hotkey Client must support: "Loci.Hotkey 2" If client claims support, server will send hotkey definition update messages asynchronosly, as they become available, at the server's discretion. Defined Values for the hotkey "name:" are- pgup, pgdn, home, end, f1 - f20 Client to Server: "Loci.Hotkey.Get" { } Request for server to send/resend all of the current hotkey definitions to the client. May be sent at any time, or not at all. Intended use is to indicate to server that all previously sent updates may have been lost due to a client reset, and need to be resent. "Loci.Hotkey.Edit" { // (v2 only) name: "<keyname>", // required label: "<display label>" // optional macro: "alphanumeric string to set" // optional sends: "seq" or "macro" // optional (v2 only) } Message from client to server to set a server side hotkey expansion. Expectation is that if the server recieves the vt/xterm hotkey sequence, it will substitute in the provided macro text. May be sent at any time, when the client wishes to inform the server of a definition or change, such as when user edits a hotkey with the client UI. Server to Client: "Loci.Hotkey.Set" { name: "<keyname>", // required label: "<display label>" // optional macro: "alphanumeric string to set" // optional sends: "seq" or "macro" // optional (v2 only) } Message from server to client containing a hotkey definition. May be sent at any time. name: is a required field. label: is a UI display name, intended to be used in on-screen buttons. The sends: <seq|macro> paramter indicates to the client whether it should send a vt/xterm function key sequence, or the text of the macro: parameter when a function key is hit. The macro: string should always be sent with at least one terminating '\n' newline character, whether the macro string ends in a \n or not. Note that if the macro: string isn't defined, the client should send the vt/xterm function key sequence instead of sending an empty line. "Loci.Hotkey.Reset" { name: "<keyname>" // optional } Message from server to client indicating that the hotkey definintion MUST be reset to the client default value. if name: not present, ALL definitions MUST be reset to defaults.