← Back to Patent Explorer
US4896290A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for routing events from key strokes in a multi-processing computer systems

Assignee: Samsung Electronics Co Ltd
•
Filing: 1987-08-24
•
Granted: 1990-01-23
•
Expires: 2007-08-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system in which multiple processes may run concurrently includes a window manager for displaying windows associated with different processes. One of the processes represented by a window may be designated as active. Keystrokes are translated by a keyboard driver to events represented by keycodes. The keycodes are routed to processes with which they are associated by reference to a routing table. Unless otherwise indicated, a keycode is routed to the active process. Where a keycode is associated with and transferred to the window manager, subsequent keycodes are stored in a typeahead buffer. The window manager may modify the routing table. After completion of the window manager operation, all keycodes remaining in the buffer are routed to their associated processes as determined by the modified routing table.

Inventors

  • 👤 Deborah A. Rhodes
  • 👤 Eric Rustici
  • 👤 Kelly H. Carter

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 08:25
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/01; G06F3/03; G06F3/033; G06F3/038; G06F3/02; G06F3/023; G06F3/0238

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.

References Cited (Backward Citations)

US4500386A Cited
US4253145A Cited
US4385366A Cited
US4470038A Cited
US4555775A Cited
US4555775B1 Cited
US4658351A Cited
US4733351A Cited
US4761642A Cited
US4719566A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-01-22 1993-07-24 1994-01-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-01-22 1997-07-24 1998-01-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-01-22 2001-07-24 2002-01-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag