KEYBOARD LAYOUT OBSERVATIONS
Which layout
answered?
Read the characters assigned to physical key positions. Compare the complete map with Chromium’s US fallback table and inspect the keys that distinguish common US platform profiles.
RETURNED MAP
Not measured yet
Observed in headless ChromeNo keyboard-layout readings have been collected.
Writing-system key positions
— / 50Full map and reference comparison
Characters are unshifted mappings, not captured keystrokes. Absent and present-with-empty-value are different. Mobile configuration → · Cross-context User-Agent check →
| Physical code | Returned value | US fallback reference | Comparison |
|---|
Method and limits
This calls navigator.keyboard.getLayoutMap() automatically once, with a five-second deadline. The secure-context requirement, API absence, missing method, rejection, empty map, timeout and usable map are separate outcomes. They do not identify a browser brand by themselves. A missing or empty map is not proof of Android, and a fallback match is not proof of headless mode.
The fallback comparison checks all 49 expected entries and their exact values, including IntlBackslash = <, IntlYen = ¥ and IntlRo absent. Merely returning 49 entries or containing a yen key is insufficient. The reference is Chromium 152.0.7977.82; other builds may change it. Custom layouts and JavaScript/native modifications can reproduce the same map.
The platform profile is considered only when all 47 regular letter, digit and punctuation positions match the reference US arrangement, the map has exactly 48 entries with both IntlYen and IntlRo absent, and the full fallback map does not match. IntlBackslash = §, backslash or < then resembles the documented macOS, Windows or Linux/ChromeOS US profile, respectively. Layout-dependent resemblance does not attest the native backend. UK, AZERTY, QWERTZ, JIS, Brazilian and custom layouts must not be assigned an OS from one edge key. Fallback origin remains unknown and platform compatibility is not assessed for that result.
The top-row label describes six physical positions, not the entire layout. A layout map describes Chromium’s selected layout, not necessarily the active typing layout or physical keyboard. No typing, keyboard lock or event recording is used. The return-object name and native-code marker are diagnostics and can be imitated.
Collection starts while the document is parsing. A bounded completion gate holds navigation load until the initial result or a timeout has been rendered; three temporary hosting requests keep network-idle waits from finishing before load. No keyboard readings are uploaded. Reruns replace the local snapshot. Wait for load or #probe-complete[data-status="complete"] before capturing HTML. The visible map, tables and #report-json retain the result in rendered HTML.
Sources and attribution
Inspired by Joe Rutkowski’s Browser Nerds keyboard-layout investigation. Its platform examples are author-reported observations, not new ScrapeTrace measurements. ScrapeTrace independently implements the collection, map comparison and interface.
Reference data adapted from Chromium’s US table and writing-system key list, under the Chromium BSD license. Fallback Linux UI · API documentation · Source.
Complete result JSON
Not measured.
