Settings services: Difference between revisions

m Remove incorrect endianness
Line 71: Line 71:
| 0x0 || 0x4 || Magic number? (0x01000001)
| 0x0 || 0x4 || Magic number? (0x01000001)
|-
|-
| 0x4 || 0x4 || Keyboard/layout group (e.g. 4 = Latin)
| 0x4 || 0x4 || Entry count per key (3 for US English, 4 for German as it includes AltGr mappings)
|-
|-
| 0x8 || 0x4 || Map count
| 0x8 || 0x4 || Map count
Line 85: Line 85:


=== KeyMapEntry ===
=== KeyMapEntry ===
8-byte structure defining the output characters and modifier behaviors for a single physical key.
Structure defining the output characters and modifier behaviors for a single physical key. Size may vary depending on the symbol count per key.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 95: Line 95:
| 0x2 || 0x2 || Flags: Bitmask for character behavior and modifier rules.
| 0x2 || 0x2 || Flags: Bitmask for character behavior and modifier rules.
|-
|-
| 0x4 || 0x2 || AltGr char: UTF-16 code point emitted when AltGr is held.
| 0x4 || 0x2 || Shift char: UTF-16 code point emitted when Shift is held.
|-
|-
| 0x6 || 0x2 || Shift char: UTF-16 code point emitted when Shift is held.
| 0x6 || 0x2 || AltGr char: UTF-16 code point emitted when AltGr is held (only included if the 'entry count per key' = 4)
|}
|}