K3Descriptor
Describes something by a qualified name. Its usage is to distinguish "normal" strings from special actions or references.
Each descriptor has three components: namespace, type, and name. In its serialized form, a descriptor is formatted as follows: @[namespace]:[type]/[name] (without the square brackets). Note that all components are merely strings. The actual meaning and interpretation is up to the k3lp library for k3-namespaced descriptors, and the implementing application interpretation for any other namespace.
A note on portability: descriptors are not defined in the keyboard3 spec. As such, when a keyboard file contains descriptors and is parsed by another keyboard3-conformant parser, it will interpret descriptors as literal chars and emit them. However, due to some restrictions and non-defined actions by the keyboard3 spec (e.g. how to describe that a key should emit a backspace), the k3lp library relies on descriptors to build a fully functional keyboard.
Usage examples:
output="@k3:action/backspace"describes that action "backspace" in namespace k3 (k3lp) should be invoked instead of directly outputting text.display="@fl:icon/settings"describes that this display references an icon named "settings" in the fl (FlorisBoard) namespace instead of displaying this display attribute text literally.