Laptop keyboard package lifecycle
The package, report, class, service, and platform layers that can participate in an internal keyboard lifecycle.

Package contents have different roles
An internal keyboard package can contain metadata, a driver component, catalogs, an extension, or a companion service. Some parts describe matching, some translate reports, and some expose platform controls. Calling the entire package “the keyboard driver” hides those distinctions.
Selection follows interface identity
The platform matches package declarations against a controller, HID collection, or other keyboard interface. A laptop family name can appear in a package title while the actual match depends on identifiers, architecture, and platform relationships.
Activation can be layered
A class input layer can expose standard key behavior while a platform service manages LEDs, special keys, or power context. Those components can have separate runtime and version records even when they ship in one package.
Package history is not event history
The package lifecycle describes candidate, selected, staged, active, or retained records. Input event delivery has its own runtime boundary. A package version does not identify a particular key event or layout choice.
Reference facts
- Package roles
- Metadata, driver, catalog, extension, and companion service
- Matching
- Controller, HID collection, or interface identity
- Runtime layers
- Class input, platform controls, and logical events
Questions and answers
Can a keyboard package include a service?
Yes. A companion service can represent platform controls or vendor functions distinct from the class input path.
Does a keyboard package version describe the layout?
No. Package identity and keyboard layout belong to different software boundaries.
Is a retained package active?
Not necessarily. Retained records can remain for lifecycle management without being the selected runtime package.