# app.thatsit.typing.layout

> A shareable layout: where the keys are, and what characters they produce.

- Kind: record
- Record key: tid
- Authority: typing.thatsit.app
- Lexicon: 1
- Published by [thatsit.dev](https://lexicon.garden/identity/did:plc:tr7zlhacx3fete5s7cx5tyjd), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:tr7zlhacx3fete5s7cx5tyjd/app.thatsit.typing.layout)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:tr7zlhacx3fete5s7cx5tyjd/app.thatsit.typing.layout/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:tr7zlhacx3fete5s7cx5tyjd/app.thatsit.typing.layout/analytics)

## Record (`app.thatsit.typing.layout`)

Type: record · key tid

### Properties

- `charMap` (ref, required)
  - Reference: `app.thatsit.typing.defs#charMap`
- `geometry` (ref, required)
  - Reference: `app.thatsit.typing.defs#keyGeometry`
- `name` (string, required)
  - Constraints: maxGraphemes: 100
- `source` (string)
  - Constraints: maxGraphemes: 300

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A shareable layout: where the keys are, and what characters they produce.",
      "key": "tid",
      "record": {
        "properties": {
          "charMap": {
            "ref": "app.thatsit.typing.defs#charMap",
            "type": "ref"
          },
          "geometry": {
            "ref": "app.thatsit.typing.defs#keyGeometry",
            "type": "ref"
          },
          "name": {
            "maxGraphemes": 100,
            "type": "string"
          },
          "source": {
            "maxGraphemes": 300,
            "type": "string"
          }
        },
        "required": [
          "name",
          "geometry",
          "charMap"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.thatsit.typing.layout",
  "lexicon": 1
}
```
