Patent ID: 7669770

Claim:
A method for re-mapping a hand-held electronic device, the method comprising: receiving, at the hand-held electronic device, a plurality of configuration settings for a software application or a class of software applications comprising a text entry application, wherein the configuration settings include physical input elements comprising at least a first input element, a second input element and a third input element, each associated with at least one corresponding function comprising at least one of shift functions or text characters; modifying a mapping function based on the defined plurality of configuration settings, wherein the mapping function comprises a keyboard device driver, comprising selectively associating the first input element with at least first and second text characters, selectively associating the second input element with a first shift function that modifies an executable function for the first input element to the associated first text character upon activation of the second input element, and selectively associating the third input element with a second shift function that modifies an executable function for the first input element to the associated second text character upon activation of the third input element; and executing the at least one corresponding function associated with the at least one physical input element upon an activation of the at least one physical input element during operation of the text entry comprising detecting activation of two of the input elements comprising one of the second input element or third input element, and the first input element, and selectively entering one of the first text character or the second text character corresponding to the second input element or third input element; wherein executing the at least one corresponding function associated with the at least one physical input element upon an activation of the at least one physical input element during operation of the software application or a software application within the class of software applications comprises: writing a scan code to a buffer upon the activation of at least one physical input element during operation of the software application or a software application within the class of software applications; retrieving the scan code from the buffer; converting the retrieved scan code to a virtual input element code using the modified keyboard device driver; calling a keyboard event with the scan code and the virtual input element code; and executing a function associated with the keyboard event, wherein the function is the at least one function.