--- uid: input-system-custom-device-layout --- # Create a custom device layout You can override auto-generated layouts to resolve issues such as when controls don't receive proper names specific to the device, or if a control doesn't work as expected. When you set up a custom device layout specifically for your device it overrides the default auto-generation and gives you full control over how the device is exposed. You can create a custom device layout in the following ways: * [Use an existing C# `InputDevice`](hid-create-custom-layout-existing.md) * [Create your own `InputDevice` class](hid-create-custom-layout-class.md)