A method of operating a hosting computer comprising a virtual machine to accept keyboard and mouse input via a generic device redirection channel from a client computer, the method characterised by comprising: executing in the virtual machine a device manager having respective interfaces to the generic device redirection channel and to a system queue of the hosting computer, the system queue being used to communicate keyboard and mouse input events to an operating system of the hosting computer, the system queue having a separate interface to a specialized virtual channel for receiving redirected keyboard and mouse input from standard keyboard and mouse devices connected to the client computer; the method comprising the steps of: during a phase of initialisation of the virtual machine, provide device enumeration and context setup, wherein the device manager: - enumerates all keyboard and mouse devices of the connected client, either standard devices or devices having keyboard or mouse functionality; and for the standard devices, the device manager starts a plug-and-play monitor to await device arrival and to incorporate the standard devices into the system upon arrival; and for each device among the devices having keyboard or mouse functionality, the device manager starts a corresponding context engine for handling input events therefrom; and; by the device manager, identifying keyboard and mouse functions of the devices having keyboard or mouse functionality connected to the client computer and having respective device input redirected to the hosting computer via the generic device redirection channel; by the device context engines: opening the respective keyboard and mouse functions of the respective device among the devices having keyboard or mouse functionality, for receiving keyboard and mouse input events therefrom; and upon receiving input events from the respective keyboard and mouse functions, queueing the input events on the system queue to communicate the keyboard and mouse input events to the operating system. executing in the virtual machine a device manager having respective interfaces to the generic device redirection channel and to a system queue of the hosting computer, the system queue being used to communicate keyboard and mouse input events to an operating system of the hosting computer, the system queue having a separate interface to a specialized virtual channel for receiving redirected keyboard and mouse input from standard keyboard and mouse devices connected to the client computer; the method comprising the steps of: during a phase of initialisation of the virtual machine, provide device enumeration and context setup, wherein the device manager: - enumerates all keyboard and mouse devices of the connected client, either standard devices or devices having keyboard or mouse functionality; and for the standard devices, the device manager starts a plug-and-play monitor to await device arrival and to incorporate the standard devices into the system upon arrival; and for each device among the devices having keyboard or mouse functionality, the device manager starts a corresponding context engine for handling input events therefrom; and; by the device manager, identifying keyboard and mouse functions of the devices having keyboard or mouse functionality connected to the client computer and having respective device input redirected to the hosting computer via the generic device redirection channel; during a phase of initialisation of the virtual machine, provide device enumeration and context setup, wherein the device manager: - enumerates all keyboard and mouse devices of the connected client, either standard devices or devices having keyboard or mouse functionality; and - enumerates all keyboard and mouse devices of the connected client, either standard devices or devices having keyboard or mouse functionality; and for the standard devices, the device manager starts a plug-and-play monitor to await device arrival and to incorporate the standard devices into the system upon arrival; and for each device among the devices having keyboard or mouse functionality, the device manager starts a corresponding context engine for handling input events therefrom; and; by the device manager, identifying keyboard and mouse functions of the devices having keyboard or mouse functionality connected to the client computer and having respective device input redirected to the hosting computer via the generic device redirection channel; by the device context engines: opening the respective keyboard and mouse functions of the respective device among the devices having keyboard or mouse functionality, for receiving keyboard and mouse input events therefrom; and upon receiving input events from the respective keyboard and mouse functions, queueing the input events on the system queue to communicate the keyboard and mouse input events to the operating system. opening the respective keyboard and mouse functions of the respective device among the devices having keyboard or mouse functionality, for receiving keyboard and mouse input events therefrom; and upon receiving input events from the respective keyboard and mouse functions, queueing the input events on the system queue to communicate the keyboard and mouse input events to the operating system.