Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
223 words
A method of routing user input in a computer system which concurrently runs a plurality of processes, including steps of: receiving scan codes representative of keys typed by a user, the scan codes including shift codes representative of shift states and other scan codes representative of keystrokes; maintaining a shift state representative of said shift codes; producing keycode data comprised of individual keycodes after receiving the scan codes, each representative of a keystroke, and each determined by looking up a scan code assigned to a keystroke in a multiplane table, a plane from which a keycode is determined being selected as a function of a current shift state; distinguishing the produced keycodes by looking up each keycode in a routing table which assigns each possible keycode to an individual assigned process of said plurality of processes, one of which processes is a supervisory process; sending each keycode to its assigned process until a keycode assigned to the supervisory process is received; sending keycodes received subsequent to the keycode assigned to the supervisory process to a buffer; then, providing additional keycodes to the supervisory process from the buffer upon request by the supervisory process until the supervisory process has completed operation; and sending each keycode stored in the buffer to a process to which it is assigned after the supervisory process has completed operation.
Claim 2
Independent Claim
223 words
A method of routing user input in a computer system which concurrently runs a plurality of processes, including steps of: receiving scan codes representative of keys typed by a user, the scan codes including shift codes representative of shift states and other scan codes representative of keystrokes; maintaining a shift state representative of said shift codes; producing keycode data comprised of individual keycodes after receiving the scan codes, each representative of a keystroke, and each determined by looking up a scan code assigned to a keystroke in a multiplane table, a plane from which a keycode is determined being selected as a function of a current shift state; distinguishing the produced keycodes by looking up each keycode in a routing table which assigns each possible keycode to an individual assigned process of said plurality of processes, one of which processes is a supervisory process; sending each keycode to its assigned process until a keycode assigned to the supervisory process is received; sending keycodes received subsequent to the keycode assigned to the supervisory process to a buffer; then, providing additional keycodes to the supervisory process from the buffer upon request by the supervisory process until the supervisory process has completed operation; and sending each keycode stored in the buffer to a process to which it is assigned after the supervisory process has completed operation.
Claim 3
Dependent Claim
27 words
The method of claim 1 wherein the supervisory process includes a step of modifying the routing table to change an assignment between the keycodes and individual processes.
Claim 4
Dependent Claim
33 words
The method of claim 1 further comprising displaying windows from a plurality of processes, the supervisory process being a window manager which selects a process to be active and respond to predetermined keystrokes.
Claim 5
Dependent Claim
27 words
The method of claim 3 wherein the window manager includes a step of modifying the routing table to change an assignment between the keycodes and individual processes.
Claim 6
Independent Claim
133 words
A method of routing user input in a computer system which concurrently runs a plurality of processes, including steps of: generating keycodes representative of keys typed by a user; distinguishing generated keycodes by looking up each keycode in a routing table which assigns each possible keycode to an individual assigned process of said plurality of processes, one of which processes being a supervisory process; then, sending each keycode to its assigned process until a keycode assigned to the supervisory process is received; sending keycodes received subsequent to the keycode assigned to the supervisory process to a buffer; next, providing additional keycodes to the supervisory process from the buffer until the supervisory process has completed operation; and sending keycodes stored in the buffer to processes assigned therewith after the supervisory process has completed operation.
Claim 7
Independent Claim
133 words
A method of routing user input in a computer system which concurrently runs a plurality of processes, including steps of: generating keycodes representative of keys typed by a user; distinguishing generated keycodes by looking up each keycode in a routing table which assigns each possible keycode to an individual assigned process of said plurality of processes, one of which processes being a supervisory process; then, sending each keycode to its assigned process until a keycode assigned to the supervisory process is received; sending keycodes received subsequent to the keycode assigned to the supervisory process to a buffer; next, providing additional keycodes to the supervisory process from the buffer until the supervisory process has completed operation; and sending keycodes stored in the buffer to processes assigned therewith after the supervisory process has completed operation.
Claim 8
Dependent Claim
27 words
The method of claim 5 wherein the supervisory process includes a step of modifying the routing table to change an assignment between the keycodes and individual processes.
Claim 9
Dependent Claim
33 words
The method of claim 5 further comprising displaying windows from a plurality of processes, the supervisory process being a window manager which selects a process to the active and respond to predetermined keystrokes.
Claim 10
Dependent Claim
27 words
The method of claim 7 wherein the window manager includes a step of modifying the routing table to change an assignment between the keycodes and individual processes.