A method of using input events on an electronic device, comprising: storing, by the electronic device, one or more input methods in a proprietary layer of the electronic device, wherein an input method is one of a software component or an application that configures the electronic device for processing an input event representing an input from a user, the electronic device comprising a first operating system, where the one or more input methods are compatible with a second operating system and incompatible with the first operating system; detecting (702, 800), by the electronic device, a first input event having a format compatible with the first operating system; determining (704, 802), by the electronic device, a second input event representing the first input event, the second input event having a format compatible with said one or more input methods, the second input event being determined using a mediation layer interfacing between the first operating system and the one or more input methods; calling (706, 804), by the electronic device, at least one input method of the one or more input methods stored in the proprietary layer, the at least one input method executing within a virtual machine comprising the second operating system, the at least one input method generating an input method event based on the second input event compatible with the second operating system; and translating (712, 806), by the electronic device, the input method event into a set of instructions compatible with the first operating system, the set of instructions being executable by an application running on the first operating system. storing, by the electronic device, one or more input methods in a proprietary layer of the electronic device, wherein an input method is one of a software component or an application that configures the electronic device for processing an input event representing an input from a user, the electronic device comprising a first operating system, where the one or more input methods are compatible with a second operating system and incompatible with the first operating system; detecting (702, 800), by the electronic device, a first input event having a format compatible with the first operating system; determining (704, 802), by the electronic device, a second input event representing the first input event, the second input event having a format compatible with said one or more input methods, the second input event being determined using a mediation layer interfacing between the first operating system and the one or more input methods; calling (706, 804), by the electronic device, at least one input method of the one or more input methods stored in the proprietary layer, the at least one input method executing within a virtual machine comprising the second operating system, the at least one input method generating an input method event based on the second input event compatible with the second operating system; and translating (712, 806), by the electronic device, the input method event into a set of instructions compatible with the first operating system, the set of instructions being executable by an application running on the first operating system.