Patent ID: 8199113

Claim:
A method comprising the steps of: defining functions that a user may initiate by pressing buttons on a physical remote control; storing information representing said functions; using a graphical programming environment to assign a function to at least one of said buttons based on a user profile which corresponds to said user and that includes information regarding said user's preferences, said function to be indicated in a first graphics file with layers of graphics that indicate said function is assigned to said at least one of said buttons, said function to be performed when said at least one of said buttons is pressed in connection with a first predetermined on screen display being shown on a display device separate from the physical remote control; using the graphical programming environment to assign a different function to said at least one of said buttons based on said user profile, said different function to be indicated in a second graphics file with layers of graphics that indicate said different function is assigned to said at least one of said buttons, said different function to be performed in response to said user navigating with said physical remote control to a second predetermined on screen display shown on said display device separate from the physical remote control and said user pressing said at least one of said buttons in connection with said second predetermined on screen display being shown; using software to parse said first graphics file or said second graphics file to extract the layers of graphics that indicate said function or said different function is assigned to said at least one of said buttons; and passing commands to an application programming interface (API) to cause said function or said different function to be performed.