Specification
Keyboard Objects
Keyboard {
meta: KeyboardMetadata;
keys: Key[];
}
A Keyboard is an object containg keyboard metadata (meta) and an array of
keys.
Keyboard Metadata
The meta object contains several fields:
KeyboardMetadata {
switchType: string;
}
switchType— the default type of switches on your keyboard.- Default can be overridden on individual keys.
- Options are
cherry,alps, andchoc
Keys
Each key in the keys array contains the following data:
Key {
labels: string[];
x: number;
y: number;
width: number;
height: number;
rotation_x: number;
rotation_y: number;
rotation_angle: number;
profile: string;
switchType: string;
}
labels— an array of up to 12 text labels (sometimes referred to as 'legends'):- In reading order, i.e., left-to-right, top-to-bottom:
- The labels are user input, and may contain arbitrary HTML content; when rendering, input sanitization is recommended for security purposes.
- In reading order, i.e., left-to-right, top-to-bottom:
x/y— the absolute position of the key in keyboard units (where 1u is the size of a standard 1x1 keycap).width/height— the size of the key, in keyboard units.rotation_x/rotation_y— defines the center of rotation for the key.rotation_angle— specifies the angle the key is rotated (about the center of rotation).profile— specifies the key's "profile" (and row, for those profiles that vary depending on the row), e.g., "DCS R1" or "DSA".- Currently supported / known profiles:
SA,DSA,DCS,OEM,CHICKLET,FLAT - Currently supported / known rows:
R1,R2,R3,R4,R5,SPACE
- Currently supported / known profiles:
switchType— the switch type, overriding the default values specified in the keyboard metadata.
