A method for mapping inputs to a software application, comprising implementing on one or more processors, the steps of: implementing at a keymapping controller that is configured to translate a first set of keypress input events capable of being generated through an input device (104, 304, 810), into a second set of touchpress input events capable of being initiated through a touchscreen and that are recognized by the software application, wherein the second set of touchpress input events includes one or more input events that are not included within the first set of keypress input events, and wherein the first set of keypress input events are not recognized by the software application, the steps of: receiving from the input device (104, 304, 810), a first data signal associated with a first keypress input event within the first set of keypress input events; and identifying, based on a key map, a second touchpress input event within the second set of touchpress input events, wherein the second touchpress input event is mapped to the first keypress input event; generating a second data signal, wherein the second data signal is recognizable by the software application as corresponding to the second touchpress input event; and implementing a state change in the software application based on the second data signal; the method further comprises: generating on a display controlled by the software application: a first set of graphic objects defined by or selected based on a state of the software application; and a second set of graphic objects overlaid upon one or more graphic objects within the first set of graphic objects, wherein one or more graphic objects within the second set of graphic objects represent one or more keypress input events within the first set of input events; wherein the second set of graphic objects comprises: a visual representation of one or more keypress input controls that are enabled to generate input events within the first set of keypress input events. and wherein: a graphic object within the second set of graphic objects is overlaid on the touchscreen display, wherein said overlaid graphic object represents a keypress input control corresponding to a keypress event within the first set of keypress events that is mapped by the key map to a touchpress input event within the second set of touchpress input events, and wherein said overlaid graphic object is overlaid at a region of the display screen that has been defined by the software application for the purposes of initiating the mapped touchpress input event. receiving from the input device (104, 304, 810), a first data signal associated with a first keypress input event within the first set of keypress input events; and identifying, based on a key map, a second touchpress input event within the second set of touchpress input events, wherein the second touchpress input event is mapped to the first keypress input event; generating a second data signal, wherein the second data signal is recognizable by the software application as corresponding to the second touchpress input event; and implementing a state change in the software application based on the second data signal; the method further comprises: generating on a display controlled by the software application: a first set of graphic objects defined by or selected based on a state of the software application; and a second set of graphic objects overlaid upon one or more graphic objects within the first set of graphic objects, wherein one or more graphic objects within the second set of graphic objects represent one or more keypress input events within the first set of input events; a first set of graphic objects defined by or selected based on a state of the software application; and a second set of graphic objects overlaid upon one or more graphic objects within the first set of graphic objects, wherein one or more graphic objects within the second set of graphic objects represent one or more keypress input events within the first set of input events; a visual representation of one or more keypress input controls that are enabled to generate input events within the first set of keypress input events. and wherein: a graphic object within the second set of graphic objects is overlaid on the touchscreen display, wherein said overlaid graphic object represents a keypress input control corresponding to a keypress event within the first set of keypress events that is mapped by the key map to a touchpress input event within the second set of touchpress input events, and wherein said overlaid graphic object is overlaid at a region of the display screen that has been defined by the software application for the purposes of initiating the mapped touchpress input event.