info
The info file defines the metadata of a UniPack.
Each line is written in key=value format, and leading/trailing whitespace is ignored.
A line without = is ignored, without a warning.
If a key appears more than once, the last value is used.
The text encoding follows the same rules as keySound.
Properties
| Key | Type | Required | Description |
|---|---|---|---|
title | string | O | UniPack title |
producerName | string | O | Creator name |
buttonX | int | O | Number of horizontal buttons (1~64; 0 loads with a warning) |
buttonY | int | O | Number of vertical buttons (1~64; 0 loads with a warning) |
chain | int | O | Number of chains/banks (1~24) |
squareButton | boolean | Square button mode (default: true). Only the exact value true turns it on; any other value (false, True, 1) turns it off. | |
website | string | Creator website URL |
Example
title=My UniPack
producerName=UniPad
buttonX=8
buttonY=8
chain=4
squareButton=true
website=https://unipad.io
Validation
- A warning is raised if
titleorproducerNameis empty. - A warning is raised if
buttonX,buttonY, orchainis 0. - Loading is aborted if
chainis outside the 1~24 range. - Loading is aborted if
buttonXorbuttonYis not an integer (for exampleabc). - Loading is aborted if
buttonXorbuttonYis negative or greater than 64.
Shared format rules
- A missing
buttonXorbuttonYrefuses the pack with a missing-size reason. This differs from explicitly writing0, which loads with a warning. Current apps are being updated to enforce missing keys. squareButton=falsechanges the shape only: pack lights still play, and press feedback follows its usual default (off with keyLED, on without it). Android and iOS are being aligned with this rule.websiteis stored as written. When opened, an address with no scheme useshttps://; onlyhttp://andhttps://are opened. Support for scheme-free addresses is being aligned.
Importing an archive opens exactly one pack and ignores wrappers and unrelated sidecar files. An archive containing multiple packs must be refused with a clear reason; the web import is being aligned. Archive names use a valid Info-ZIP Unicode Path field when present; otherwise valid UTF-8 is read as UTF-8 and other bytes as CP949, even with an incorrect UTF-8 flag. Support for those archive-name edge cases is being aligned. Other Windows encodings are not guessed and may be unreadable. Save new text and names as UTF-8.
Computer keyboard pad, chain and option shortcuts are available on the web. Android and iOS do not need those shortcuts to play the same pack. Leaving play or disconnecting a Launchpad does not restore its previous device mode.