---
title: UCKeyboardLayout
framework: coreservices
role: symbol
role_heading: Structure
path: coreservices/uckeyboardlayout
---

# UCKeyboardLayout

Provides header data for a 'uchr' resource.

## Declaration

```swift
struct UCKeyboardLayout
```

## Overview

Overview The Unicode keyboard-layout ( 'uchr') resource contains the data necessary to map virtual key codes to Unicode character codes for a given keyboard layout. The 'uchr' format consists of a header information section and five key mapping data sections. The UCKeyboardLayout type is used in the 'uchr' resource header. It specifies version and format information, offsets to the various subtables, and an array of UCKeyboardTypeHeader entries.  You should use low-ASCII (0 - 0x7F) only for the KCHR/uchr resource names and you should use Unicode in the Info.plist file when you specify strings for the user-interface (UI).

## Topics

### Initializers

- [init()](coreservices/uckeyboardlayout/1447446-init.md)
- [init(keyLayoutHeaderFormat:keyLayoutDataVersion:keyLayoutFeatureInfoOffset:keyboardTypeCount:keyboardTypeList:)](coreservices/uckeyboardlayout/1448404-init.md)

### Instance Properties

- [keyLayoutDataVersion](coreservices/uckeyboardlayout/1390626-keylayoutdataversion.md)
- [keyLayoutFeatureInfoOffset](coreservices/uckeyboardlayout/1390597-keylayoutfeatureinfooffset.md)
- [keyLayoutHeaderFormat](coreservices/uckeyboardlayout/1390425-keylayoutheaderformat.md)
- [keyboardTypeCount](coreservices/uckeyboardlayout/1390448-keyboardtypecount.md)
- [keyboardTypeList](coreservices/uckeyboardlayout/1390494-keyboardtypelist.md)
