Documented methods

Measurement methodology

A useful number needs a defined input, formula, environment and limitation. This is the public contract behind every Keymap Labs result.

Reviewed August 9, 2026

Core standard

Keymap Labs reports what a supported browser receives during a defined session. We separate observation, interpretation and diagnosis. A live axis value is an observation. Calling a repeatable center offset notable is an interpretation under a published threshold. Naming a worn internal component would require evidence beyond the webpage and is not presented as a browser conclusion.

Input path and boundary

Signals pass through sensors or switches, device electronics, firmware, transport, the operating-system input stack, optional drivers or remappers, and the browser. Our measurement begins at the browser interface. Connection, scheduling, calibration and mappings can therefore affect a reading.

Controller center analysis

The drift lab samples two-dimensional axis pairs for five seconds while the controller rests. For each sample, radial distance from center is sqrt(x² + y²). The report includes mean radius, maximum radius, mean axis positions, simple absolute deviation and sample count.

Screening bands are: under 3% centered, 3–8% minor observed drift, 8–15% notable observed drift and 15% or more strong observed drift. These are explanatory browser bands, not manufacturer warranty tolerances. Two runs and an alternate condition are recommended.

Deadzone recommendation

The tuner records five seconds of resting radial samples for the selected stick. It sorts the radii, interpolates the 95th percentile, then adds a user-visible safety margin. The formula is recommended = min(35%, p95 resting radius + margin). The default margin is 1 percentage point.

The result is a starting point, not a universal setting. The lime boundary visualizes a radial model. A target game may use axial, radial, hybrid or rescaled input, so verify slow deliberate movement and translate the percentage to the game's scale.

Keyboard and mouse events

Keyboard labs record delivered key-down and key-up events, physical code, interpreted key and repeat state. Focus loss clears the active set. Ghosting guidance covers only tested combinations; it is not an NKRO certification.

Mouse labs record pointer down/up, click, wheel and button indices within a focused test surface. The double-click screen flags close intervals using a visible threshold. It cannot infer intent or measure the contact directly.

Pointer-rate sample

The polling tool timestamps delivered pointer movement events over five seconds and reports event rate, median interval and 95th percentile. Browsers may coalesce events, so the label is always browser-observed rate. Hardware certification requires specialized low-level measurement.

Controller sweep analysis

The advanced analyzer divides a full stick sweep into 24 angular sectors. Coverage is the share of sectors reaching at least 75% browser-reported radius. Outer P95 describes the high radial range, circularity error is mean absolute sector deviation divided by average outer radius, and symmetry compares opposite sectors. These values describe the delivered mapping; they are not universal pass grades.

DPI, chatter and binding analysis

The DPI analyzer estimates counts per inch from browser-delivered pointer-lock movement and a user-measured physical distance, then reports the median and spread across runs. The chatter lab analyzes non-repeat keydown intervals for one physical code and counts browser-marked held repeats separately. BindGraph normalizes physical codes and flags duplicate keys only inside the same declared context.

AimCurve conversion

AimCurve preserves modeled hip-fire angular distance using game-specific horizontal yaw constants. The target value equals source sensitivity × source yaw ÷ target yaw. Estimated cm/360 equals 2.54 × 360 ÷ (DPI × sensitivity × yaw).

GameYaw constantScope
Counter-Strike 20.022Default horizontal m_yaw
VALORANT0.07Hip-fire
Apex Legends0.022Default hip-fire model
Overwatch 20.0066Hip-fire

Reversible source/target swapping, shareable query parameters, local profile saving and game-specific notes do not alter the formula. Custom yaw, zoom multipliers, FOV-relative models and acceleration remain outside the result.

Local profile and export boundary

Profiles are sanitized, length-limited objects stored in browser local storage. Export creates a structured JSON bundle; import accepts only the expected structure, sanitizes supported fields and ignores excess entries beyond the defined limit. This is portability, not cloud synchronization or encrypted backup.

Language behavior

English, Spanish, Russian and Japanese are available from every supported route. A recognized browser language can trigger a dismissible suggestion on the English homepage. Unsupported, missing or uncertain language information always falls back to English.

Once a visitor explicitly chooses a language, the preference is stored locally and the same language is kept across tools, game hubs, profiles, guides, research, policies and field notes until another language is selected. Location never forces a redirect.

Privacy boundary

Raw diagnostic input and profiles are not transmitted to Keymap Labs by the tools. The web server can still produce ordinary security and access logs. Any analytics or advertising must be consent-aware where required and documented in the privacy policy.

Corrections and changes

Material changes to constants, formulas, thresholds, language behavior or privacy are reviewed and recorded. Send reproducible corrections to hello@keymap.io.