Skip to main content

The Loci.Hotkey 2 package

A GMCP module to program and add dynamic lables to the client hotkey menu.
If client claims support, server will send hotkey definition update messages asynchronosly, as they become available, at the server's discretion. Source: LociTerm

Hotkey definitions

valueKey
pgupPage Up
pgdnPage Down
homeHome
endEnd
f1F1
......
f20F20

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 a client reset, and need to be resent.

"Loci.Hotkey.Get" { }

Loci.HotKey.Edit (2+)

Since version 2

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.

"Loci.Hotkey.Edit" {         
name: "<keyname>",
label: "<display label>"
macro: "alphanumeric string to set"
sends: "seq" or "macro"
}
KeyRequiredValueDescription
nameYesStringA valid identifier (see above) for the key to define
labelNoStringName to appear in on-screen button
macroNoStringThe string to send when the key is pressed
sendsNo"seq","macro""seq": Client should send VT or XTerm function key sequence
"macro": Client send conent macro parameter

Loci.Hotkey.Set

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.

"Loci.Hotkey.Set" {         
name: "<keyname>",
label: "<display label>"
macro: "alphanumeric string to set"
sends: "seq" or "macro"
}
KeyRequiredValueDescription
nameYesStringA valid identifier (see above) for the key to define
labelNoStringName to appear in on-screen button
macroNoStringThe string to send when the key is pressed
sendsNo"seq","macro""seq": Client should send VT or XTerm function key sequence
"macro": Client send conent macro parameter

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

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.

"Loci.Hotkey.Reset" {
name: "<keyname>" // optional
}