Patent ID: 7075518

Claim:
A method for updating a keyboard controller in a notebook computer, the notebook computer including a keyboard controller (KBC) which further includes a random access memory (RAM) and a read only memory (ROM), the method comprising the steps of: (a) having the KBC receive a command for updating the KBC; (b) upon receipt of said command, storing KBC status including a command byte and a keyboard status into the RAM; (c) having the KBC enter into an idle status and/or proceed to update the ROM; (d) determining whether or not the ROM has been completely updated; (e) waiting for the ROM to be completely updated, in the case that the ROM has not been completely updated; (f) when the ROM has been completely updated, setting and storing a shutdown identifier (shutdown ID) and resetting the KBC; (g) rebooting the notebook computer and/or resetting the KBC, and then initializing a variable of the KBC; (h) checking said shutdown ID and determining whether or not the ROM has been updated; (i) if the ROM has been updated, restoring the KBC's command byte and the keyboard status to the KBC from the RAM and deleting the shutdown ID; (j) if the ROM has not been updated, initializing an input/output register; (k) having the KBC execute a normal procedure; (l) determining whether or not the notebook computer needs to be shut down; (m) shutting down the notebook computer, in the case that the notebook computer needs to be shut down; and (n) determining whether or not a central processing unit (CPU) of the notebook computer issues another command for updating the KBC, in the case that the notebook computer needs not to be shut down; if positive, going to step (a); and if negative, going to step (k).