Digitizer interface
DCFirst Claim
1. A method implemented by a microprocessor for transferring information from a digitizer to a connected computer, the digitizer having a surface adapted to work with a pointer via sensors which sense the position of the pointer on the surface in a coordinate system of the digitizer and report such position to the microprocessor, which coordinate system of the digitizer has a point of origin with respect to the digitizer, the microprocessor being located in the digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
- (a) receiving a definition of boundaries of a region within the range of movement of the pointer and smaller than the range of movement of the pointer having a second coordinate system for output from the digitizer, which second coordinate system allows specification of points sensed in the digitizer'"'"'s coordinate system but is not congruent with the digitizer'"'"'s coordinate system because the location of the point of origin is different from the digitizer'"'"'s coordinate system;
(b) receiving from the sensors, in the coordinate system of the digitizer, a plurality of coordinates for a plurality of specified points; and
(c) translating the coordinates of the digitizer'"'"'s coordinate system into coordinates of the second coordinate system for the points; and
(d) providing the coordinates of the second coordinate system for the points to the computer.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
A digitizer interface that translates the digitizer-specific reports into virtual areas of the digitizer which may be divided into specific regions or virtual tablets. Each region permits the specification of individual coordinate systems or stored sequences of commands. The interface may be implemented on a host computer, in the digitizer, or in intermediate electronics. The interface allows reports from digitizers of differing data output formats to be translated into a standard format internal to the interface thereby isolating the host processor from a given digitizer'"'"'s attributes. The interface may be configured to operate many digitizers from a single host.
-
Citations
64 Claims
-
1. A method implemented by a microprocessor for transferring information from a digitizer to a connected computer, the digitizer having a surface adapted to work with a pointer via sensors which sense the position of the pointer on the surface in a coordinate system of the digitizer and report such position to the microprocessor, which coordinate system of the digitizer has a point of origin with respect to the digitizer, the microprocessor being located in the digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
-
(a) receiving a definition of boundaries of a region within the range of movement of the pointer and smaller than the range of movement of the pointer having a second coordinate system for output from the digitizer, which second coordinate system allows specification of points sensed in the digitizer'"'"'s coordinate system but is not congruent with the digitizer'"'"'s coordinate system because the location of the point of origin is different from the digitizer'"'"'s coordinate system;
(b) receiving from the sensors, in the coordinate system of the digitizer, a plurality of coordinates for a plurality of specified points; and
(c) translating the coordinates of the digitizer'"'"'s coordinate system into coordinates of the second coordinate system for the points; and
(d) providing the coordinates of the second coordinate system for the points to the computer. - View Dependent Claims (2)
-
-
3. A method, implemented by a microprocessor, for transferring information from a digitizer to a computer connected to the digitizer, the digitizer having a surface adapted to work with a pointer via sensors which report the position of the pointer on the surface to the microprocessor in a coordinate system of the digitizer, which coordinate system has a point of origin with respect to the digitizer, the microprocessor being located in the digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
-
(a) receiving a first and a second definition of boundaries of a first and a second region within the range of movement of the pointer;
(b) receiving a definition of a first and a second regional coordinate system for each of the first and the second regions, which first and second regional coordinate systems each allow specification of points specified in the digitizer'"'"'s coordinate system but are not congruent with the digitizer'"'"'s coordinate system because the location of the point of origin is different from the digitizer'"'"'s coordinate system;
(c) receiving coordinates of a point reported by the sensors to the microprocessor specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(d) if the location of the pointer is within the boundaries of the first region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the first regional coordinate system for that point; and
(e) if the location of the pointer is within the boundaries of the second region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the second regional coordinate system for that point; and
(f) providing the set of coordinates of the regional coordinate system to the computer. - View Dependent Claims (4, 5, 6)
(a) add to the translated coordinates from each of the first and the second regions a datum identifying the region in which the pointer is located; and
(b) provide the datum to the computer along with the translated coordinates.
-
-
6. The method of claim 3 further comprising:
-
(a) adding to the translated coordinates from each of the first and the second regions a datum identifying the region in which the pointer is located; and
(b) providing the datum to the computer along with the translated coordinates.
-
-
7. A method, implemented by a microprocessor, for executing a control command received by a digitizer from a computer and directed to any one of a plurality of regions, the microprocessor being located in the digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
-
(a) receiving from the computer one or more commands to partition the active area of the digitizer into a plurality of regions, each of which has a coordinate system which coordinate system has a point of origin wherein the coordinate system of a first region is not congruent with the coordinate system of another region because the location of the point of origin is different from the other coordinate system;
(b) storing the partition information in a memory within the digitizer;
(c) receiving from the computer a command directed to one of the regions; and
(d) executing the command with respect to the appropriate region. - View Dependent Claims (8)
-
-
9. A method, implemented by a system with a computer connected to a digitizer having a microprocessor in said digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
-
(a) receiving at said microprocessor revisable definitions of boundaries of each of a plurality of regions within the range of movement of a pointer and storing said revisable definitions in a temporary memory within the digitizer;
(b) receiving at said microprocessor a procedure associated with a region and storing the procedure in a memory within the digitizer, which procedure is a set of actions to be executed by the microprocessor which actions include outputting information from said microprocessor to said computer;
(c) receiving at said microprocessor input from a user in the form of locating the pointer within said region associated with said procedure and taking a further predefined action; and
(d) in response to receipt of said input from said region, executing within said microprocessor said actions.
-
-
10. A system including a computer connected to a digitizer which responds to a pointer, comprising:
-
(a) means for connecting the digitizer to the computer;
(b) means for defining boundaries of each of a plurality of regions within the range of movement of the pointer;
(c) means for storing the definitions of the boundaries in a memory within the digitizer;
(d) means for changing the definition of the boundaries of a region without redefining the boundaries of another of the regions;
(e) means for determining, for each of the regions, whether the pointer is located in the region;
(f) means for defining a procedure associated with a region and storing the procedure in a memory within the digitizer, which procedure is a set of actions to be executed by the digitizer when the procedure is invoked, which actions include outputting information from the digitizer to the computer;
(g) means for allowing a user to invoke the procedure by locating the pointer within the associated region and taking a further predefined action; and
(h) means within the digitizer for executing the actions when the procedure is invoked by a user.
-
-
11. A method for a digitizer connected to a computer implemented by a microprocessor located in the digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
-
(a) receiving at the microprocessor definitions of boundaries of each of a plurality of regions within the range of movement of a pointer and storing the definitions of the boundaries in a memory within the digitizer;
(b) receiving at the microprocessor a definition of an event mask associated with a region and storing the definition of the event mask in a memory within the digitizer;
(c) receiving at the microprocessor data from a user input to the digitizer;
(d) determining in the microprocessor whether the pointer is located in the region associated with the event mask;
(e) comparing in the microprocessor the data generated from user input while the pointer is within the region to the event mask; and
(f) transmitting the data from the microprocessor to the computer if and only if the data satisfies the event mask.
-
-
12. A system including a computer connected to a digitizer which responds to a pointer, comprising:
-
(a) means for defining the boundaries of each of a plurality of regions within the range of movement of the pointer;
(b) means for storing the definitions of the boundaries in a memory within the digitizer;
(c) means for changing the definition of the boundaries of a region without redefining the boundaries of another of the regions;
(d) means for generating data from user input to the digitizer;
(e) a microprocessor within the digitizer for determining, for each of the regions, whether the pointer is located in the region and, as a function of whether the pointer is located in the region, outputting said data from the microprocessor to the computer;
(f) means for defining an event mask associated with a region and storing the event mask in a memory within the digitizer;
(g) means within the microprocessor for comparing the data generated from user input while the pointer is within the region to the event mask; and
(h) means for transmitting the data from the microprocessor to the computer if and only if it satisfies the event mask.
-
-
13. A method for a system including a computer connected to a digitizer adapted to work with a pointer, the method implemented by a microproessor located in the digitizer or another digitizer or a digitizer interface located outside of the computer, comprising:
-
(a) receiving at the microprocessor a definition of a macro as a data set to be output by the digitizer when the macro is invoked and storing the definition in a memory within the digitizer;
(b) receiving at the microprocessor a definition of user input via said pointer to be interpreted as an invocation of said macro and storing the definition in a memory within the digitizer;
(c) receiving at the microprocessor user input via said pointer invoking the macro; and
(d) outputting from the digitizer to the computer said data set. - View Dependent Claims (14)
(a) said definition of said macro is generated by a user of the digitizer, via said pointer.
-
-
15. A system including a computer connected to a digitizer, comprising:
-
(a) means for defining a macro as a data set to be output by the digitizer to the computer when the macro is invoked and storing the data set in a memory within the digitizer;
(b) means within the digitizer for allowing a user to invoke the macro; and
(c) a microprocessor within the digitizer for transmitting the data set to the computer when the macro is invoked. - View Dependent Claims (16)
(a) means for allowing a user of the digitizer to define the macro by use of the digitizer.
-
-
17. A method implemented by a first computer program running on a computer for transferring information from a first and a second pointing device connected to the computer to a second program running on the computer, the pointing devices each adapted to work with a pointer and outputting events, comprising:
-
(a) receiving an instruction to enable a first active area on the first pointing device within a first range of coordinate numbers;
(b) receiving an instruction to enable a second active area on the second pointing device within a second range of coordinate numbers which overlaps the first range of coordinate numbers;
(c) receiving a first series of events reported by the first pointing device to the computer, each event including specified coordinates within the first range of coordinates, and adding to each event information specifying the first active area;
(d) receiving a second series of events reported by the second pointing device to the computer, each event including specified coordinates within the second range of coordinates, and adding to each event information specifying the second active area;
(e) providing the first and the second series of events to the second program. - View Dependent Claims (18)
-
-
19. A method implemented by a first computer program running on a computer for transferring a control command from a second program running on the computer to any one of a plurality of digitizers connected to the computer, comprising:
-
(a) receiving a command, including digitizer identification information, directed by the second program running on the computer to a digitizer having a logic circuit which interprets and acts on received commands;
(b) modifying the command by removing the digitizer identification information; and
(c) providing the modified command to the digitizer. - View Dependent Claims (20)
-
-
21. A method implemented by a first computer program running on a computer for transferring information from a digitizer connected to the computer to a second program running on the computer, the digitizer having a surface adapted to work with a pointer and outputting the position of the pointer on the surface in a coordinate system of the digitizer which coordinate system has a point of origin, comprising:
-
(a) receiving a definition of boundaries of a region within the range of movement of the pointer and smaller than the range of movement of the pointer;
(b) establishing a unique datum identifying the region, (c) receiving a definition of a regional coordinate system for the region, which regional coordinate system allows specification of points within the region specified in the digitizer'"'"'s coordinate system but is not congruent with the digitizer'"'"'s coordinate system because the location of the point of origin is different from the digitizer'"'"'s coordinate system;
(d) receiving a specification of a point within the region reported by the digitizer to the computer specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(e) translating the coordinates of the digitizer'"'"'s coordinate system into coordinates of the regional coordinate system for the point; and
(f) providing the coordinates of the regional coordinate system for the point to the second program. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
(a) adding to the translated coordinates from the region the datum identifying the region in which the pointer is located; and
(b) providing the datum to the second program along with the translated coordinates.
-
-
24. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 23.
-
25. The method of claim 21 wherein the location point of origin of the regional coordinate system may defined as a location other than a corner of the region.
-
26. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 25.
-
27. The method of claim 21 wherein the definition of a regional coordinate system is received from the second program and the second program is an application program.
-
28. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 27.
-
29. A method implemented by a first computer program running on a computer for transferring information from a digitizer connected to the computer to a second program running on the computer, the digitizer having a surface adapted to work with a pointer and outputting the position of the pointer on the surface in a coordinate system of the digitizer which coordinate system has a scale, comprising:
-
(a) receiving a definition of boundaries of a region within the range of movement of the pointer and smaller than the range of movement of the pointer;
(b) establishing a unique datum identifying the region, (c) receiving a definition of a regional coordinate system for the region, which regional coordinate system allows specification of points within the region specified in the digitizer'"'"'s coordinate system but is not congruent with the digitizer'"'"'s coordinate system because the scale is different from the digitizer'"'"'s coordinate system;
(d) receiving a specification of a point within the region reported by the digitizer to the computer specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(e) translating the coordinates of the digitizer'"'"'s coordinate system into coordinates of the regional coordinate system for the point; and
(f) providing the coordinates of the regional coordinate system for the point to the second program. - View Dependent Claims (30, 31, 32, 33, 34)
(a) adding to the translated coordinates from the region the datum identifying the region in which the pointer is located; and
(b) providing the datum to the second program along with the translated coordinates.
-
-
32. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 31.
-
33. The method of claim 29 wherein the definition of a regional coordinate system is received from the second program and the second program is an application program.
-
34. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 33.
-
35. A method implemented by a first computer program running on a computer for transferring information from a digitizer connected to the computer to a second program running on the computer, the digitizer having a surface adapted to work with a pointer and outputting the position of the pointer on the surface in a coordinate system of the digitizer which coordinate system has an angle of rotation which angle might be zero relative to the digitizer, comprising:
-
(a) receiving a definition of boundaries of a region within the range of movement of the pointer and smaller than the range of movement of the pointer;
(b) establishing a unique datum identifying the region, (c) receiving a definition of a regional coordinate system for the region, which regional coordinate system allows specification of points within the region specified in the digitizer'"'"'s coordinate system but is not congruent with the digitizer'"'"'s coordinate system because angle of rotation is different from the digitizer'"'"'s coordinate system;
(d) receiving a specification of a point within the region reported by the digitizer to the computer specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(e) translating the coordinates of the digitizer'"'"'s coordinate system into coordinates of the regional coordinate system for the point; and
(f) providing the coordinates of the regional coordinate system for the point to the second program. - View Dependent Claims (36, 37, 38, 39, 40)
(a) adding to the translated coordinates from the region the datum identifying the region in which the pointer is located; and
(b) providing the datum to the second program along with the translated coordinates.
-
-
38. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 37.
-
39. The method of claim 35 wherein the definition of a regional coordinate system is received from the second program and the second program is an application program.
-
40. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 39.
-
41. A method implemented by a first computer program running on a computer for transferring information from a digitizer connected to the computer to a second program running on the computer, the digitizer having a surface adapted to work with a pointer and outputting the position of the pointer on the surface in a coordinate system of the digitizer which coordinate system has a point of origin, comprising:
-
(a) receiving a first and a second definition of boundaries of a first and a second region within the range of movement of the pointer;
(b) establishing for each region a unique datum identifying the region;
(c) receiving a definition of a first and a second regional coordinate system for the first and the second regions respectively, which first and second regional coordinate systems each allow specification of points specified in the digitizer'"'"'s coordinate system but are not congruent with the digitizer'"'"'s coordinate system because the location of the point of origin is different from the digitizer'"'"'s coordinate system;
(d) receiving coordinates of a point reported by the digitizer to the computer specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(e) if the location of the pointer is within the boundaries of the first region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the first regional coordinate system for that point and providing the set of coordinates of the regional coordinate system to the second program; and
(f) if the location of the pointer is within the boundaries of the second region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the second regional coordinate system for that point and providing the set of coordinates of the regional coordinate system to the second program. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48)
(a) adding to the translated coordinates the datum identifying the region in which the pointer is located; and
(b) providing the datum to the second program along with the translated coordinates.
-
-
44. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 43.
-
45. The method of claim 41 wherein the location point of origin of each regional coordinate system may defined as a location other than a corner of the region.
-
46. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 45.
-
47. The method of claim 41 wherein the definition of each regional coordinate system is received from the second program and the second program is an application program.
-
48. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 47.
-
49. A method implemented by a first computer program running on a computer for transferring information from a digitizer connected to the computer to a second program running on the computer, the digitizer having a surface adapted to work with a pointer and outputting the position of the pointer on the surface in a coordinate system of the digitizer which coordinate system has a scale, comprising:
-
(a) receiving a first and a second definition of boundaries of a first and a second region within the range of movement of the pointer;
(b) establishing for each region a unique datum identifying the region;
(c) receiving a definition of a first and a second regional coordinate system for each of the first and the second regions, which first and second regional coordinate systems each allow specification of points specified in the digitizer'"'"'s coordinate system but are not congruent with the digitizer'"'"'s coordinate system because the scale is different from the digitizer'"'"'s coordinate system;
(d) receiving coordinates of a point reported by the digitizer to the computer specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(e) if the location of the pointer is within the boundaries of the first region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the first regional coordinate system for that point;
(f) if the location of the pointer is within the boundaries of the second region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the second regional coordinate system for that point; and
(g) providing the set of coordinates of the regional coordinate system to the second program. - View Dependent Claims (50, 51, 52, 53, 54)
(a) adding to the translated coordinates the datum identifying the region in which the pointer is located; and
(b) providing the datum to the second program along with the translated coordinates.
-
-
52. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 51.
-
53. The method of claim 49 wherein the definition of each regional coordinate system is received from the second program and the second program is an application program.
-
54. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 53.
-
55. A method implemented by a first computer program running on a computer for transferring information from a digitizer connected to the computer to a second program running on the computer, the digitizer having a surface adapted to work with a pointer and outputting the position of the pointer on the surface in a coordinate system of the digitizer which coordinate system has an angle of rotation which angle might be zero relative to the digitizer comprising:
-
(a) receiving a first and a second definition of boundaries of a first and a second region within the range of movement of the pointer;
(b) establishing for each region a unique datum identifying the region;
(c) receiving a definition of a first and a second regional coordinate system for each of the first and the second regions, which first and second regional coordinate systems each allow specification of points specified in the digitizer'"'"'s coordinate system but are not congruent with the digitizer'"'"'s coordinate system because the angle of rotation is different from the digitizer'"'"'s coordinate system;
(d) receiving coordinates of a point reported by the digitizer to the computer specifying, in the digitizer'"'"'s coordinate system, the location of the pointer;
(e) if the location of the pointer is within the boundaries of the first region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the first regional coordinate system for that point; and
(f) if the location of the pointer is within the boundaries of the second region, translating the coordinates of the point in the digitizer'"'"'s coordinate system into coordinates of the second regional coordinate system for that point; and
(g) providing the set of coordinates of the regional coordinate system to the second program. - View Dependent Claims (56, 57, 58, 59, 60)
(a) adding to the translated coordinates the datum identifying the region in which the pointer is located; and
(b) providing the datum to the second program along with the translated coordinates.
-
-
58. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 57.
-
59. The method of claim 55 wherein the definition of each regional coordinate system is received from the second program and the second program is an application program.
-
60. A computer readable medium containing a computer program which program causes a computer to perform the method of claim 59.
-
61. A method implemented by a first computer program running on a computer for executing a control command from a second program running on the computer directed to any one of a plurality of regions of a digitizer, comprising:
-
(a) receiving one or more commands to partition the active area of the digitizer into a plurality of regions, each of which has a coordinate system which coordinate system has a point of origin and has an angle of rotation with respect to the digitizer which angle might be zero and has a scale wherein the coordinate system of a first region is not congruent with the coordinate system of another region because one of the following elements is different from the other coordinate system;
location of the point of origin or scale or angle of rotation;
(b) storing the partition information in a memory;
(c) receiving from the second program a command directed to one of the regions; and
(d) executing the command with respect to the appropriate region. - View Dependent Claims (62)
-
-
63. A method implemented by a first computer program running on a computer for transferring information from any one of a plurality of digitizers with different event packet output formats to a second program running on the computer, in a consistent format, comprising:
-
(a) receiving an event packet reported by a digitizer to the computer in a format of the digitizer which format does not include an indication of whether coordinates in the event packet are relative coordinates;
(b) translating the event packet to a format that includes an indication of whether coordinates in the event packet are relative coordinates or absolute coordinates;
(c) providing the translated event packet to the second program. - View Dependent Claims (64)
-
Specification