Devices represent input devices. Input devices can be focused to specific displays.
A valid input device includes:
The information and state variables associated with each input device is stored in memory allocated when the device is created with screen_create_device_type() You need to be within a privileged context to be able to create input devices. You can create a privileged context by calling the function screen_create_context() with a context type of SCREEN_INPUT_PROVIDER_CONTEXT. Your process can have an effective user ID of any type to create this context.