Skip to content

Profile Container Format

Tasos Sahanidis edited this page Jun 24, 2019 · 3 revisions

.ckb profiles are PK compressed zip archives, that can be read by QuaZIP. They contain serialised QSettings data in ini format.

Each .ckb file must include a ckbpkg.metadata file, which contains information about the device this profile is made for, as well as the profile format version.

Version 1 metadata must contain the following keys, under the metadata namespace:

[metadata]
isHeadsetStand=true
isKeyboard=false
isMouse=false
isMousepad=false
layout=3
model=st100
monochrome=false
version=1

Each profile is stored as ckbprofileX.ini, and uses the internal data structures that the ckb-next GUI uses.

Each file in the .ckb archive must contain another file with the same name and the .s256 suffix, for example ckbpkg.metadata.s256. Inside, it should contain a sha256sum of the file without the suffix in text format, and it must end with a line feed (\n).

Version Changelog

  1. First version of the format.
  2. Each mode now contains a KbWindowInfo class. Version was bumped up to prevent older versions from importing and discarding them.
Clone this wiki locally