System and method for mapping input device controls to software actions
First Claim
1. A system for mapping an input device'"'"'s controls with a computer executable instruction set, comprising:
- a control-semantic set having a control code associated with a control semantic, wherein the control code is representative of the input device control;
an action-semantic set having an action code associated with an action semantic, wherein the action code is representative of the computer executable instruction set;
a genre comprising at least one genre semantic and not including the action code or the control code; and
a map linking the action-semantic set to the control-semantic set by way of the genre, wherein the control semantic and the action semantic share a common genre semantic.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for using computer input devices with software applications is disclosed. The system includes an input device mapper, which uses a language of semantics as an interface between input devices and software applications. The input device mapper receives information about which semantics the devices connected to the computer are able to implement, and which semantics correspond to actions that a user can request the software to perform. The input device mapper maps controls on the available devices into user-requestable software actions by matching, as closely as possible, device controls and software actions that correspond to the same semantic. An input device manager employing the disclosed input device mapper translates device operation events into the software'"'"'s input dialect to direct the software to perform the action into which an operated control has been mapped. The system thus makes input devices and software applications transparent to each other, and permits a software application to be designed to operate without regard to which input device is being used to control its actions.
67 Citations
27 Claims
-
1. A system for mapping an input device'"'"'s controls with a computer executable instruction set, comprising:
-
a control-semantic set having a control code associated with a control semantic, wherein the control code is representative of the input device control;
an action-semantic set having an action code associated with an action semantic, wherein the action code is representative of the computer executable instruction set;
a genre comprising at least one genre semantic and not including the action code or the control code; and
a map linking the action-semantic set to the control-semantic set by way of the genre, wherein the control semantic and the action semantic share a common genre semantic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
a value representing a genre semantic; and
an action code representing an instruction to said computer executable instruction set.
-
-
8. The system according to claim 7, wherein each of said tuples further comprises a text string describing said action semantic.
-
9. The system according to claim 1, where said control-semantic set is represented in an array, and said array comprises an ordered tuple for each control code in said control-semantic set, wherein each said tuple comprises:
-
a value representing a genre semantic; and
a control code representing a notification of operating a control on said input device.
-
-
10. The system according to claim 1, wherein said map may be modified by a user.
-
11. The system according to claim 10, further comprising:
-
a text string describing said action semantic, wherein said text string is provided by said computer executable instruction set;
a bitmap image of said input device with a text field, wherein said text field is filled in with said text string, and wherein said bitmap image with said filled in text field is displayed to a user to permit visual representation of said mapping.
-
-
12. A method of providing interaction between a first and a second system, comprising the acts of:
-
providing a mapping system having a plurality of mapping genres, wherein the mapping genres comprise one or more semantics but do not include codes produced or accepted by either the first system or the second system;
accepting into the mapping system information from the first system indicative of genres with which an action of the first system can interact;
accepting into the mapping system information from the second system indicative of the genres with which an action of the second system can interact; and
selecting one of the plurality of mapping genres to provide a link between the action of the first system with the action of the second system, the link being provided by associating input/output codes of the first system with input/output codes of the second system based on the respective input/output codes being associated with a common semantic in the selected genre. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for using computer input devices with a computer software application, the method comprising:
-
receiving a correlation between a set of actions that said software application performs and semantics selected from a genre, the genre comprising said semantics but not including commands interpretable by the computer software application;
receiving a correlation between controls on a first input device and semantics selected from said genre;
receiving a correlation between controls on a second input device and semantics selected from said genre;
selecting an input device from among said first input device and said second input device; and
creating a mapping of controls on said selected device into said set of actions, such that at least one of said controls on said selected device maps to an action from said set of actions where said control and said action are correlated with a common semantic. - View Dependent Claims (22, 23)
locating input devices in a sequence; and
selecting the first of said input devices located.
-
-
23. The method of claim 21, wherein the act of selecting an input device comprises:
-
looking up preferred devices in a database containing a list of preferred devices for said genre; and
selecting a device on said list.
-
-
24. A computer-readable medium containing computer-executable instructions to perform a method for using computer a computer input device with a software application, the method comprising:
-
receiving a correlation between action codes that said software application accepts as instructions and semantics selected from a genre, the genre comprising said semantics but not including said action codes;
receiving a correlation between control codes that said input device generates and semantics selected from said genre; and
creating a mapping of said control codes into said action codes, such that at least one control code maps to an action code where said control code and said action code are correlated with a common semantic. - View Dependent Claims (25)
receiving a control code from said input device, wherein said control code signifies that a control on said device has been operated, and wherein said control code uniquely identifies the control that has been operated;
looking up said control code in said mapping to determine an action code to be sent to the input stream of said software application; and
sending said action code to said software application.
-
-
26. A method for using a computer input devices with a software application, the method comprising:
-
receiving a correlation between a first set of action codes that said software application accepts as instructions and semantics selected from a first genre, the first genre comprising said semantics but not including said first set of action codes;
receiving a correlation between a second set of action codes that said software application accepts as instructions and semantics selected from a second genre, the second genre comprising said semantics but not including said second set of action codes;
receiving a correlation between a first set of control codes that said input device generates and semantics selected from said first genre;
receiving a correlation between a second set of control codes that said input device generates and semantics selected from said second genre;
creating a first mapping of said first set of control codes into said first set of action codes, such that at least one control code maps to an action code where said control code and said action code are correlated with a common semantic; and
creating a second mapping of said second set of control codes into said second set of action codes, such that at least one control code maps to an action code where said control code and said action code are correlated with a common semantic. - View Dependent Claims (27)
receiving a first control code from said input device, where said first control code signifies that a first control on said input device has been operated, and where said first control code uniquely identifies said first control;
looking up said first control code in said first mapping to determine a first action code to be sent to the input stream of said software application;
sending said first action code to said software application;
receiving from said software application notification of a change of context in said software application from said first genre to said second genre;
receiving a second control code from said second input device, where said second control code signifies that a second control on said input device has been operated, and where said second control code uniquely identifies said second control;
looking up said second control code in said second mapping to determine a second action code to be sent to the input stream of said software application; and
sending said second action code to said software application.
-
Specification