0x40a0 · fnInversion
Earliest Fn-lock feature — read or write whether F-row keys act as function keys or secondary media/action keys by default.
0x40a0 fnInversion is the earliest HID++ 2.0 feature for controlling whether a
keyboard's F-row keys act as standard function keys or as their labeled secondary
actions (media controls, brightness, etc.) by default, the mechanism commonly
known as Fn-lock. It applies to keyboards and keyboard-bearing devices that expose
a physical F-row. This feature is the predecessor of 0x40A2
fnInversionWithDefaultState and 0x40A3 fnInversionMultiHost, which OpenLogi
does implement; later devices report those instead.
Not implemented in OpenLogi
OpenLogi's vendored hidpp crate does not provide a typed wrapper for this feature yet. The notes below summarise the HID++ feature in general terms, not OpenLogi behaviour. OpenLogi instead relies on 0x40a2 / 0x40a3 where applicable.
What it does
- Query the current inversion state — ask the device whether Fn-lock is currently on or off.
- Write a new inversion state — flip Fn-lock on or off; the device stores the value in non-volatile memory so it persists across power cycles.
- Single-host, no default-state field — unlike
0x40A2, this earlier revision does not report the factory default alongside the live state, and does not carry a per-host-slot parameter.
Because it predates the 0x40A2 / 0x40A3 revisions, it is found mainly on older Logitech wireless keyboards and does not expose the capabilities flags or multi-host extensions added in later variants.
Status: Not implemented · Feature ID:
0x40a0· See also: 0x40a2 / 0x40a3