Skip to content

aowlspt_keycode.h

Source: abi/aowlspt_keycode.h — 400 lines, 3 file-scope functions.

What this header owns

Reproduced verbatim from the header's own banner comment — these notes are frequently the only written record of why the subsystem is shaped the way it is.

text
 aowlspt_keycode.h -- UnityEngine.KeyCode, name <-> ordinal.

GENERATED, NOT REMEMBERED. Every line of the table below is the verbatim
output of

    python tools/fldoff.py enum UnityEngine.KeyCode

run against the INSTALLED D:/Games/Tarkov/GameAssembly.dll on 2026-08-27.
The tool header it printed was:

    ENUM 23015 UnityEngine.KeyCode  image=UnityEngine.CoreModule.dll

All 328 members came out. KeyCode's constants are LITERAL (attrs 0x8056) and
live in metadata property 8, `fieldAndParameterDefaultValueData`, which is
NOT encrypted but stores I4/U4 as ECMA-335 compressed integers, BIG-ENDIAN
and zigzagged -- reading four raw bytes there yields -25161728 for
KeyCode.None, which is the number an earlier attempt quoted as proof the
blob "does not decode". It decodes; the reader was wrong. `fldoff.py enum`
re-checks its decoder against 19 independently-known constants before it
prints anything (`il2cpp_resolve.py verify-consts`).

THE REFUSAL RULE. `aowl_keycode_of()` returns AOWL_KC_UNKNOWN (-1) for a
name it does not have. It must NEVER return 0: KeyCode.None IS 0, a real
member, so folding "I do not know this name" onto it turns a typo into a
silently-bound key. -1 is not a KeyCode and cannot be passed to
Input::GetKeyDown by accident.

Constants

  • AOWLSPT_KEYCODE_H
  • AOWL_KC_COUNT
  • AOWL_KC_UNBOUND
  • AOWL_KC_UNKNOWN

Types

  • struct AowlKeyCodeEntry

Functions

SignatureLine
int aowl_kc_fold(int c)372
int32_t aowl_keycode_of(const char* name)377
char aowl_keycode_name(int32_t ordinal)391

aoughwl — self-hosted platform for things n stuff. Contact / Support on Discord for access to the private backends.