[Home](./index.md) > [@keymanapp/kmc-analyze](./kmc-analyze.md) > [AnalyzeOskRewritePua](./kmc-analyze.analyzeoskrewritepua.md) > [analyze](./kmc-analyze.analyzeoskrewritepua.analyze.md) ## AnalyzeOskRewritePua.analyze() method Analyze a keyboard file or files, and provide a remapped output. Accepts a .kmn, .kvks, .keyman-touch-layout file formats. For .kmn, will rewrite associated On Screen Keyboard file formats. Can be called multiple times to rewrite multiple files. Use the [AnalyzeOskRewritePua.data](./kmc-analyze.analyzeoskrewritepua.data.md) property to retrieve the output file content for writing. This does not modify the source file. **Signature:** ```typescript analyze(file: string, mapping: Osk.StringResult[]): Promise; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | file | string | relative or absolute path to a Keyman source file | | mapping | Osk.StringResult\[\] | OSK keycap map provided by [AnalyzeOskCharacterUse](./kmc-analyze.analyzeoskcharacteruse.md) | **Returns:** Promise<boolean> true if the file is successfully loaded and rewritten