WO1998007087A1 - Procede et appareil destines a faciliter la saisie et la mise en forme d'un texte - Google Patents

Procede et appareil destines a faciliter la saisie et la mise en forme d'un texte Download PDF

Info

Publication number
WO1998007087A1
WO1998007087A1 PCT/US1997/014180 US9714180W WO9807087A1 WO 1998007087 A1 WO1998007087 A1 WO 1998007087A1 US 9714180 W US9714180 W US 9714180W WO 9807087 A1 WO9807087 A1 WO 9807087A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
cursor
keys
computer system
keyboard
Prior art date
Application number
PCT/US1997/014180
Other languages
English (en)
Inventor
Robert W. North
Original Assignee
North Robert W
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by North Robert W filed Critical North Robert W
Priority to AU40626/97A priority Critical patent/AU4062697A/en
Publication of WO1998007087A1 publication Critical patent/WO1998007087A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key

Definitions

  • This invention relates generally to text entry and editing systems, and more particularly, to a method and apparatus for improving the speed and efficiency of text entry and editing for personal, portable and other computers that use keyboards.
  • Computer systems such as personal computers typically employ keyboards for the entry of text and commands for control of text appearing on video monitors.
  • a conventional keyboard incorporates multiple keys that, when manually pressed, activate (i.e., close) electromechanical switches.
  • the keys are mounted in a housing or boot, typically made of hard pfastic. Each key bears a label designating an alphanumeric character or function assigned to the key.
  • An encoder converts the key-switch closures into corre- sponding character-specifying or command-specifying codes, such as those established by the American National Standards Institute (ANSI). The codes can then be programmatically interpreted for use in controlling a display of text on the monitor.
  • ANSI American National Standards Institute
  • the computer's control program configures each code to a specific character or function identified in a stored key-assignment table.
  • a program which will intercept the default key codes, a user can change or re-configure the key code and, in turn, change the character or function designation of each key.
  • Conventional ANSI keyboards are well suited for text entry and editing in word processing and other application programs. Such a keyboard typically has a main grouping of alphanumeric keys arranged in a "QWERTY" format typical of conventional typewriters, so named because of the layout of the top, left "alpha" keys of the keyboard.
  • the QWERTY format referred to herein is that which has become standardized in the United States.
  • a QWERTY arrangement of that type lends itself to touch-typing for speed and efficiency.
  • touch-typing entails a method of typing that assigns a particular finger to each key, and makes it possible to type without looking at the keyboard.
  • the fingers generally rest on "home” keys (e.g., the "A"-"S"-"D"-”F” keys for the left hand fingers and the M J H -"K"-"L”-”;” keys for the right hand fingers) that are disposed in a "home row” of the keyboard (the “home row” includes the key to the left of the "A” key, and the key to the right of the ";” key).
  • home rows includes the key to the left of the "A” key, and the key to the right of the ";” key.
  • the fingers are returned to the home keys.
  • the touch-typist typically does not remove all of his fingers from the home row during typing, and does not remove his eyes from the display to examine the keys he is pressing. Since the fingers are not entirely moved from the home-row keys, the touch-typist is immediately ready after every keystroke for another, with minimal delay in between for re-orienting his fingers on the keyboard. This minimizes the movement necessary to accomplish a task.
  • the alphanumeric keys typically produce both upper case and lower case characters depending on whether a "shift" or toggle-type "caps-lock” key is pressed in combination with selected character keys. These keys change the codes that the character keys generate when pressed.
  • Such keyboards also have other groupings of keys peculiar to computers. One of these groups forms a numeric keypad, typically disposed on the far right side of the keyboard. Another group provides function keys, typically on the top or far left of the keyboard, which may cause the CPU to execute functions or commands such as moving, copying or deleting text.
  • the keyboard also provides a grouping of cursor keys that control the location of the cursor on the display.
  • the cursor keys direct cursor movement, e.g., up, down, left or right, or to a home position (e.g., at the top right of the display raster), to an end position (e.g., at the bottom left of the display raster) or to a corresponding location on the preceding or next output "page" of the display. Since text appearing on the display wraps from line to line, e.g., from the top left corner of the display to the bottom right corner, the cursor keys can position the cursor at any location within the text by moving the cursor "left" or "right” on the screen.
  • cursor keys are embedded in the numeric keypad. Often, they are provided (at least for the first four of the above listed movements) by a separate cluster of four keys typically laid out in an inverted “T" configuration. The home, end, page up and page down cursor controls are usually provided in yet another cluster of keys.
  • the keyboard also provides special "control” keys (SCK) that work in conjunction with other keys to perform some function.
  • SCK special "control” keys
  • the "ALT” (Alternate) and the “CTRL” (Control) keys are typically the most used control keys.
  • Other “control” keys include the “Caps Lock” and the "Shift” keys.
  • a combination of a control key e.g., the "Ctrl" key of the keyboard
  • selected ones of the above-described cursor movement keys can be pressed.
  • a growing number of commercially-available word processing programs permit the additional use of a mouse or track ball to control cursor position and/or activate functions.
  • Many users find such input devices handy since conventional keyboard-entry of functions and commands can be too complicated. For example, it may be difficult to remember the particular keys in a conventional keyboard that, when pressed, result in the execution of a desired function or command.
  • use of such alternative input devices requires the removal of a typist's hands and eyes from where they should remain for efficient touch-typing.
  • the present invention resides in a text entry and editing facilitation system in which a touch-typist may naturally and intuitively edit a document using the same efficient finger movements that enabled him to press alphanumeric keys without looking away from the display or lifting his fingers entirely from the home-row of keys.
  • predetermined alphanumeric keys when pressed in conjunction with a non-alphanumeric special control key (SCK) (such as the "Caps Lock,” “Control,” or “Alternate” key) cause the computer to execute specific operations. That is, these alphanumeric keys not only perform their conventional role of entering text, they also are used for entering actions and commands.
  • SCK non-alphanumeric special control key
  • the preferred SCK resides to the left of the "A" key on the home-row and is pressed with the little finger of the left hand.
  • the alphanumeric keys involvsd in entering actions are selected such that their locations and spatial interrelationships on the keyboard relate to the position of a cursor displayed on a screen.
  • some of the keys that move the cursor and sometimes "mark" the text displayed on the screen are arranged in a linear array, e.g., in the home row, with the CURSOR/MARK LEFT keys (that function to move the cursor to the left of the screen) being on the left side of the keyboard and CURSOR/MARK RIGHT keys (that function to move the cursor to the right of the screen) being on the right side of the keyboard.
  • This arrangement enables the typist's left hand to use the CURSOR/MARK LEFT keys (in combination with the special control key (SCK)) when positioning the cursor to the left of the screen, while freeing the typist's right hand to manipulate the
  • the keys are selected to effect the position of the cursor relative to the corresponding fingers on the left and right hands of the typist.
  • the touch-typist can use (i) the index finger of each hand (in combination with the SCK) to move the cursor in 1 -character increments along an indicated direction, (ii) the second finger of each hand to move the cursor in 1- word increments, (iii) the middle fingers to move it 1 -sentence increments, and (iv) the little finger of each hand to move the cursor to the beginning or end of a line.
  • this aspect of the invention establishes an intuitively logical correspondence between the finger locations of each hand used to effect cursor movement along with both the locations of the keys in the arrays and the extent of movement of the cursor.
  • the touch-typist can move the cursor up or down using the right index finger's natural extension when striking the "Y" key in the row of keys above the home-row, or the "N" key in the row below.
  • an SCK e.g. the "Caps Lock” key
  • the cursor moves up, and when this latter special key is pressed with the "N” key the cursor moves down.
  • the invention also provides delete/mark keys that are used (in combination with the SCK) to naturally, efficiently, and intuitively delete or mark text.
  • the touch-typist By moving the cursor with the right fingers on the home-row as described above, the touch-typist establishes the right index finger as the "character” finger, the second finger as the “word” finger, the third finger as the “sentence” finger and the fourth finger as the "end-of-line” finger.
  • the touch-typist presses a key directly above its location on the home-row (as performed naturally and typically by the touch-typist) in conjunction with an SCK pressed by the little left finger, the text defined as related to that finger is deleted.
  • the right index finger rests on the "J" key and moves the cursor right one character at a time when pressed in conjunction with an SCK.
  • This "character” finger typically is used by the touch-typist to press the "U” key above, and when pressed in conjunction with the SCK, the "U” key deletes one character.
  • the word finger resting on “K”
  • this technique is logical, natural and intuitive to the typist.
  • the touch- typist uses the index finger of the left hand to type both the "F” key and the key above, i.e., the "R” key.
  • the same index finger when used in combination with an SCK moves the cursor one character to the left when the "F” key is pressed and deletes one character to the left of the cursor when the "R” "delete/mark” key is pressed.
  • this delete/mark arrangement of key designations is logical, natural and intuitive to a touch-typist.
  • Cutting and pasting text operations may be discharged naturally, intuitively and with minimal motion (i.e., not lifting the fingers from the keyboard) according to still yet another aspect of the invention.
  • the typist can press the appropriate delete key (in combination with the SCK) to cut and store the deleted text in the computer memory.
  • the typist can then move the cursor to the location in a document where the text is to be inserted and press a dedicated undelete key, e.g. the "H" key, (in combination with the SCK) to paste or insert the text.
  • a dedicated undelete key e.g. the "H" key
  • the touch-typist can carry out most other text editing/enhancing commands, such as copying, underlining, holding, etc., with equal efficiency, intuitiveness and logic.
  • the typist initially presses one of a plurality of start string commands, e.g., the "/" key, followed by one of the alphanumeric keys indicative of a text editing/enhancing command, e.g., "B” for the bold command, and finally an end string or delimiter command (e.g., a "/" key).
  • This end string command functions to erase the resulting typed string command, e.g. "/B/ n , on the screen, while further placing the computer program in the requested text edit/enhance mode, e.g. "bold”.
  • the monitor preferably displays an indication of the entered command; the typist then marks the text to be edited or enhanced by using the delete/mark keys (in combination with the SCK). Instead of being deleted, the text is marked and the edit or enhance function is executed on that marked text, e.g. the text is bolded.
  • the touch-typist again begins by pressing a start string command key, e.g., the "/" key, followed by one of the alphanumeric keys indicative of a text edit or enhancing command, e.g., "U” for the underline command, and then an end string or delimiter (e.g., a "/" key).
  • a start string command key e.g., the "/” key
  • one of the alphanumeric keys indicative of a text edit or enhancing command e.g., "U” for the underline command
  • an end string or delimiter e.g., a "/” key
  • the command string e.g. the "/U/”
  • the touch-typist positions the cursor as described above, thereby blocking or marking the text to be edited or enhanced, and completes the task with a final string or delimiter (e.g., a "/" key).
  • the program automatically edits or enhances the text by, in this example, "underlining" the text.
  • these actions are accomplished efficiently without the typist either removing his fingers completely off the home-row of keys, touching the external cluster of "cursor"/"function” keys, using a mouse or taking his eyes off of the screen.
  • the text entry and editing facilitation system provided by the invention improves the efficiency of text entry and editing by employing an ergonomically arranged keyboard and streamlined command entry procedures that reduce the number of keystrokes compared to conventional systems.
  • Fig. 1 is a pictorial view of a personal computer system in ac- cordance with an illustrative embodiment of the invention
  • Fig. 2 is a functional block diagram of the computer system of Fig. 1 ;
  • Fig. 3 is a functional representation of the keyboard of Fig. 1 ;
  • Fig. 4A-4B are another functional representation of the keyboard of Fig. 1 ; and
  • Fig. 5-11 are functional block diagrams in flow chart form of the text entry and editing facilitation (TEEF) system of Fig. 2.
  • TEEF text entry and editing facilitation
  • Computer System Figs. 1 and 2 show a computer system 10 employing an improved system for text entry and editing in accordance with the invention.
  • the computer system 10 preferably includes at least a system unit 12, a video monitor 16 including a display screen 18 (e.g., a liquid crystal display or cathode ray tube) for providing a visual out-
  • a display screen 18 e.g., a liquid crystal display or cathode ray tube
  • SUBST ⁇ UTE SHEET put to a user, and a keyboard 20.
  • the system unit 12 incorporates a central processing unit or CPU 22, a memory 24 (typically, both read-only and random-access memory devices, not separately illustrated), and a video controller 26, all interconnected for communica- tion by a system bus 29.
  • the CPU 22 decodes and executes instructions, typically in the form of computer programs 240 stored in the memory 24.
  • the monitor 16 and the keyboard 20 are also connected to the system bus 29 for communication with the other components 22-26.
  • the computer programs 240 include an operating system 25, application programs 27, such as a word processing program 28, and a text entry and editing facilitation (hereinafter "TEEF" ) program 30.
  • TEEF text entry and editing facilitation
  • the computer programs 240 can be viewed as a layered structure, in which each pro- gram depends for operation on the layer beneath.
  • the word processor 28 depends for execution on the operating system 25, and the TEEF program 30 depends for operation on the word processor.
  • the word processor 28 incorporates various "hooks” (e.g., routine and procedure calls) that pass control back to the operating system 25 during execution.
  • the TEEF program 30 likewise has hooks that pass control back to the word processor program 28, often changing or re-configuring the "normal" functions in the word processor 28 as described hereinbelow.
  • the operating system 25 is preferably conventional, e.g., DOS or Windows, which include, e.g., a basic input/output system called a BIOS.
  • the operating system 25 further comprises a collection of routines that control the overall operation of the computer 10, performing such tasks as memory management, processing interrupts, scheduling and controlling input/output.
  • the word processing program 28 is preferably a conventional, commercially-available product, such as WordPerfect® or Microsoft Word®, it can be used (preferably without modification to its code) in conjunction with a separate TEEF program when practicing the invention.
  • the TEEF program preferably constitutes a separate item of commerce and would typically be dedicated for use with a specific application, such as a word processor, e.g., the above-mentioned WordPerfect program.
  • a word processor e.g., the above-mentioned WordPerfect program.
  • an application can be furnished with the TEEF program integrated therein and sold together as a unit of commerce.
  • the video controller 26 is also conventional and includes a display buffer 32 for storing information received from the CPU 22.
  • the video controller 26 has a screen painting system 36 for generating display signals that control visual images displayed on the monitor 16 in response to control and data signals received from the CPU 22.
  • the display buffer 32 and the screen painting system 36 are interconnected by a video bus 38 for communication.
  • the TEEF system 30 (Fig. 2) provides improved text entry, manipulation, navigation and editing capability using a novel alphanumeric keyboard layout 20A and 20B, depicted respectively in Figs. 3 and 4.
  • Keyboard layout 20A of Fig. 3 exhibits certain high-level aspects of the invention, while keyboard layout 20B exhibits those aspects plus additional features in accordance with an illustrative embodiment of the invention.
  • a special control key (SCK) 21 to produce cursor movement, text-marking, text-deletion, text-enhancing or other predetermined functions.
  • SCK 21 special control key
  • the keyboard 20 (Fig. 1 ) operates normally as initially configured.
  • the keyboard 20 is essentially re-configured, permitting entry by touch-typing of many of the actions and functions that, in known word processors and other text entry and editing software, typically require use of key clusters or pads other than the QWERTY key arrangement of the alphanumeric keys.
  • the SCK 21 is preferably an "outside” key; that is, a key other than those used to designate characters, such as, e.g., the "Ctrl” key or the “Caps Lock” key on a conventional keyboard.
  • One of these keys is assigned the responsibility of being the SCK 21 using a keyboard-assignment routine of the operating system 26 in a conventional manner as known to one skilled in the art.
  • the Caps Lock key (the key normally found to the left of the "A" key in the home-row) serves as the SCK 21 and the novel system 30 described herein is provided without sacrificing the normal function of the Caps Lock key as follows.
  • the Caps Lock key When the Caps Lock key is pressed in conjunction (i.e., simultaneously) with an alphanumeric key, it serves as the SCK 21. When pressed alone, however, the Caps Lock key toggles to cause either all upper-case or all lower-case letters to be displayed on the monitor 16 (Fig. 1 ).
  • the CPU 22 receives Caps Lock key codes whenever that key is pressed, and determines whether keys have been pressed along with the SCK 21. Personal computers of AT class or higher provide the CPU with this capability. Therefore, whenever reference is made hereinafter to pressing the SCK 21 , it shall denote pressing the Caps Lock key in conjunction with an alphanumeric key thereby initiating the novel system 30 and re-configuring the codes associated with activated alphanumeric keys as interpreted by the computer 10.
  • the keyboard layout 20A has a horizontal linear array of CURSOR/MARK LEFT keys 54 located on the left side of a home row 52 and a similar array of CURSOR/MARK RIGHT keys 56 located on the right side of the home row 52.
  • a display cursor control 58 (Fig. 2) of the CPU 22 causes the screen painter 36 to move the cursor 60 in a direction toward the left side of the display screen 18, as indicated by arrow L in Fig.
  • the display cursor control 58 in response to pressing of the CURSOR/MARK RIGHT keys 56 (Fig. 3) in combination with the SCK 21 , causes the cursor 60 to move toward the right side of the display screen 18, as indicated by arrow R in Fig. 1.
  • the typist uses his left fingers to press the CURSOR/MARK LEFT keys 54 to move the cursor 60 in the left direction, while using his right fingers to press the CURSOR/MARK RIGHT keys 56 to move the cursor 60 to the right.
  • the display cursor control 58 causes the cursor 60 (Fig. 1 ) to move up and down, i.e., in the direction of arrows U and D in response to keystrokes on CURSOR/MARK UP keys 62A, 62B and CURSOR/MARK DOWN keys 64A, 64B (Fig. 3) in combination with the SCK 21.
  • the CURSOR/MARK LEFT and RIGHT keys 54, 56 the CURSOR/MARK UP keys 62A and 62B and CURSOR/MARK DOWN keys 64A and 64B are spatially located and arranged in the keyboard layout 20A in a manner related to the direction of their function.
  • the keyboard layout 20A has other horizontal linear arrays of keys designated as DELETE/MARK keys 66 and 68 preferably located in a common row 70 parallel to and immediately above the home row 52.
  • a delete/mark control 72 (Fig. 2) of the CPU 22 responds to keystrokes on these DELETE/MARK keys 66, 68 in combination with the SCK 21 to delete or mark (i.e., select) text.
  • Text selecting or marking identifies a portion of the dis- played text to be acted upon in some way such as copying, moving, etc.
  • the keyboard layout 20A may have ACTION keys 74A and 74B and matching FUNCTION keys 75 in the same rows 76 and 78 as the CURSOR/MARK UP and CURSOR/MARK DOWN keys 62A, 64B.
  • An action/function control 80 of the CPU 22 (Fig. 2) causes specified actions or functions as described below to be carried out in response to keystrokes on these ACTION keys 74A, 74B and FUNCTION keys 75.
  • the keyboard layout 20A incorporates so-called "UN" keys 82 for un-doing a previous function, such as un-deleting previously deleted text, or un-moving or un-copying previously moved or copied text.
  • the UN keys 82 are preferably located in the center of the keyboard layout 20A, and their operations will be explained below. To this point, the description of the invention has introduced a few basic concepts of key location/function relationships. Other aspects of the invention will now be described with reference to Figs. 3 and 4A-4B. As shown in FIG. 3, most of the keys within each array of cursor/mark and delete/mark keys (e.g., within the CURSOR/MARK LEFT and CURSOR/MARK RIGHT key groups 54, 56; within the
  • DELETE/MARK LEFT and DELETE/MARK RIGHT key groups 66, 68; and within the CURSOR/MARK UP and DOWN groups 62A, 62B, 64A and 64B) can also be arranged to take advantage of the spatial relationship between keys and cursor; i.e., the keys farther away from the center of the keyboard 20 (where the UN keys 82 are preferably located) move the cursor 60 (Fig. 1 ) a farther distance in the displayed text than those keys nearer the center of the keyboard 20.
  • the fingers located farthest from the operator's thumbs are used.
  • Cursor/Mark kevs As noted, certain alphanumeric keys become Cursor/Mark keys
  • the Cursor/Mark keys 54, 56 when pressed in conjunction with the SCK 21.
  • the Cursor/Mark keys 54, 56 cause the cursor 60 to move on the display 18.
  • the keys 54, 56 can also mark (that is, highlight) the text as follows.
  • the left four adjacent keys in the middle row of alphabet characters move the cursor 60 and, possibly, at the same time, mark the text in the left direction.
  • the right-most key that is, the key closest to the center of the keyboard
  • the second from the right moves the cursor 60, and possibly marks, one word to the left
  • the fourth moves the cursor 60, and possibly marks, to the beginning of the line.
  • the seventh through the eleventh keys move the cursor 60, and possibly at the same time, mark the text in the right direction.
  • the seventh and left-most key moves the cursor 60, and possibly marks, one character to the right; the eighth key from the left moves the cursor 60, and possibly marks, one word to the right; the ninth key moves the cursor 60, and possibly marks, one sentence to the right; the tenth key moves the cursor 60, and possibly marks, to the end of the line, and the eleventh key moves the cursor 60, and possibly marks, to the end of the paragraph.
  • the tenth key, the ";” key when pressed twice in succession together with the SCK 21 , moves the cursor 60, and possibly marks, to the next "cell,” “column” or "field” to the right.
  • the left-most four adjacent keys in the bottom row of alphabet characters move the cursor 60 and, possibly at the same time, mark the text in the down direction.
  • the fourth key (of the four, the one closest to the center of the keyboard) moves the cursor 60 and, possibly marks, down one paragraph; the second moves the cursor 60 and, possibly marks, down one screen; the third moves the cursor 60 and, possibly marks, down one page; and the fourth moves the cursor 60 and, possibly marks, down to the end of the document.
  • the left-most four adjacent keys in the row of numeric characters move the cursor 60 and, possibly at the same time, mark the text in the up direction.
  • the fourth key (of the four, the one closest to the center of the keyboard) moves the cursor 60 and, possibly marks, up one paragraph; the second moves the cursor 60 and, possibly marks, up one screen; the third moves the cursor 60 and, possibly marks, up one page; and the fourth moves the cursor 60, and possibly marks, up to the beginning of the document.
  • the sixth key from the left in the bottom row of alphabet characters preferably moves the cursor 60 and, possibly marks, down one line.
  • the sixth key from the left in the top row of alphabet characters (in the QWERTY keyboard, the "Y” key) preferably moves the cursor 60 and, possibly marks, up one fine.
  • Delete/Mark keys 66, 68 when pressed in conjunction with the SCK 21.
  • Delete/Mark keys 66, 68 cause the text to be deleted or, when requested by an "action" key 74A, 74B or string (as explained below), cause the text to be marked (that is, highlighted) and trigger execution of the following functions.
  • the seventh to the thirteenth keys from the left in the top row of alphabet characters in a QWERTY keyboard, the "U”, “I”, “O”, “P”, “[”, "]", and " ⁇ ” keys) delete or mark text.
  • the seventh key deletes or marks one character to the right; the eighth key deletes or marks one word to the right; the ninth key deletes or marks one sentence to the right; the tenth key deletes or marks from the cursor 60 to the end of the line; the eleventh key deletes or marks from the cursor 60 to the end of the paragraph; the twelfth key deletes or marks from the cursor 60 to the end of the page, and the thirteenth key deletes or marks from the cursor 60 to the end of the document.
  • the first to the fourth adjacent keys in the top row of alphabet characters in a QWERTY keyboard, the "Q", "W", "E”, and "R” keys
  • the fourth key from the left deletes or marks the character to the immediate left of the cursor 60
  • the third key deletes or marks from the line on which the cursor 60 resides
  • the second key deletes or marks the paragraph on which the cursor resides
  • the first key deletes or marks the page on which the cursor resides.
  • certain keys are designated as "special function” keys when they are pressed in conjunction with the SCK 21.
  • the fifth key typically the “G” key
  • the sixth key typically the "H” key
  • the fifth key from the left functions as a second level undelete of text from a Second-Level Delete Buffer 619 (Fig. 2).
  • the "Tab” key when pressed in conjunction with the SCK 21 key, preferably “indents” the entire paragraph, not just the first line of the paragraph.
  • the "backspace” key changes all previous upper case letters in a sentence, except the first character, to lower case letters. This function corrects the string of capital letters caused by mistakenly pressing the "Caps Lock” key.
  • the "Shift” key preferably toggles the system 30 on and off.
  • the system 30 preferably includes two types of “Action” commands: “Single Keystroke” and alphanumeric "String” commands.
  • Single Keystroke commands when the SCK 21 is pressed in conjunction with certain keys, a program “action” call (explained below) is executed. For example, pressing the SCK 21 in conjunction with the "M” key preferably calls for a "move” or “cut” action.
  • the user when the user wants to underline a line, the user first selects the "underline” action by pressing "U” (preceded by a begin string signal and followed by an end string signal) and then presses the "delete/mark line” key (e.g., the SCK 21 in conjunction with "E”). This latter key now marks and underlines a line.
  • the key combination that previously deleted a sentence e.g., the SCK 21 in conjunction with "O" now marks and moves/cuts a sentence by placing the text in the copy/move buffer 620.
  • a "cursor/mark” key 54, 56 as explained above.
  • this key "marks” or “highlights” the text, and leaves the selected “action” function active for further adjustment until the user executes the "end action” key (such as a "/"), at which time the desired action is executed.
  • the “end action” key such as a "/”
  • FIGS. 5-11 show functional block diagrams in flow chart form of the operation of the TEEF system 30.
  • FIG. 5 shows a word processor interface 100 for attaching the TEEF system 30 as depicted in FIGS. 6-11 to a conventional word processor 28 (Fig. 2), such as WordPerfect.
  • the interface 100 starts at block 1 1 1 when the host word processor 28 (Fig. 2) determines that an event has occurred which is eligible for sub-routine processing.
  • An event can be defined as something that happens external to the TEEF system 30 itself, e.g., a keystroke. If an event has occurred, the interface 100 progresses to block 1 12, in which it tests if the TEEF system 30 has been installed (registered) as a subroutine to be called. If the TEEF system 30 has not been registered as a subroutine, the flow continues to block 1 16 and the word processor 28 (Fig. 2) continues. If the TEEF system 30 is registered as a subroutine, the interface 100 progresses to block 122, where the TEEF system 30 is called with information describing the event.
  • a main control loop 200 of the TEEF system 30 is shown. From block 122 of Figure 5, the main control loop 200 determines in block 212 whether the event is a response to a prior request by a subroutine of the TEEF main routine of FIGS. 6- 1 1 . Some actions performed in the main routine require multiple steps, so the routine regularly determines whether it itself generated the event. For example, requesting display of a menu, e.g., for setting margins, and then selecting from the menu, typically requires multiple keystrokes.
  • the main control loop 200 passes control to the subroutine that made the request. On the other hand, if it is not, the main control loop 200 goes to block 213, at which it tests whether the event is a keystroke. If the event is not a keystroke, control flows to block 223, which returns to block 123 of Figure 5, and then to block 1 16.
  • block 214 tests whether the TEEF system 30 is waiting for another keystroke by querying the "waiting for keystroke" flag setting. For example, if the ⁇ command " bold" were entered using the TEEF system 30 the appropriate subroutine would await the next keystroke to carry out the command. If a TEEF subroutine is expecting a keystroke, block 224A processes the keystroke and performs the pending action, depending on the requested command. Then, block 224B resets the "waiting for keystroke” status flag, e.g., by setting appropriate bits in a TEEF internal buffer (not shown) to zero.
  • Block 215 tests whether the keystroke was an internal command within the TEEF system 30, or more specifically, a single- keystroke type command rather than a string command. For example, moving the cursor 60 one character to the right using the SCK 21 in combination with the "J" key is a single-keystroke command of the type to which this test refers. On the other hand, a string command requires multiple keystrokes, such as "BOLD", which requires typing the "B" key plus hitting the SCK 21. If it is a string command, block 225 passes control to the "process string commands" subroutine, as described below in conjunction with Fig. 7A-7B.
  • block 216 tests whether the command is valid for the current state of the word processor 28 (Fig. 2), and more specifically, of the TEEF system 30. For example, if the user has requested the TEEF system 30 to delete text (using the SCK 21 with the period " .” key) the cursor movement commands are valid for marking the text to be deleted, but the indent command (the SCK 21 and the "q" key) is not, and block 216 tests determines whether any such limitations should render an entered command invalid. If it is invalid block 226 returns to block 125 of Figure 5, instructing the host program 28 to ignore the event, and from there to block 1 16.
  • block 232 clears a TEEF internal command buffer 222 (Fig. 2).
  • the main control loop 200 tests whether the command is a "cursor/mark" command, a "delete/mark” or a "special function” command, respectively, and, depending on which it is, transfers control to respective blocks 243, 244, and 245, and from there to appropriate subroutines depicted in Figs. 8-11. If the command is found to be none of those, the main control loop 200 proceeds to block 246 to process the command as an "action" command, as depicted in Figure 7A-7B.
  • Fig. 7A-7B depicts a subroutine 300 for processing string commands.
  • Block 312 determines whether "string commands" are valid. If they are not, block 332 returns to the interface 100 at block 124. If it is a valid string command, block 313 tests whether the keystroke was a "begin string” key, in which case block 323 clears the internal TEEF key collection buffer 309 used to collect key strokes.
  • a "begin string” key may include the space bar or one of the cursor movement keys (t, «-, , -», PAGE UP, PAGE DOWN, HOME and END). Then, the subroutine 300 proceeds to block 332 and from there to block 124.
  • block 314 tests whether the keystroke was an "end string” key.
  • the internal TEEF key collection buffer 309 (Fig. 2) stores an identification (ID) keystrokes after the "begin string” key is recognized. If it was not an "end string” key, the ID of the key is added to the TEEF key collection buffer 309 in block 324, and the routine 300 passes control to block 124 of Figure 5 so that the host program 28 may process the keystroke.
  • block 315 places the number of text delete commands required to delete the keystrokes in the TEEF key collection buffer 309 from the document text into the TEEF internal command buffer 222.
  • block 316 tests whether the key collection buffer 309 contains a valid TEEF string command. If it is a valid TEEF string command, block 325 tests whether the internal command has a specific processing routine. If it does, block 326 causes the TEEF system 30 to go to the command's processing routine on the next call to the main control loop 200. If the string command does not have a specific processing routine, block 335 appends the command string required to process the requested command to the text delete commands in the TEEF command buffer 222.
  • block 317 creates a macro execute command using the contents of the TEEF key collection buffer 309 as the macro's name.
  • the block 317 then appends the macro's name to the contents of the command buffer 222.
  • Figure 8 shows a cursor/mark command subroutine 400.
  • Block 4 2 sets up the first (or only) command buffer 222 for the requested cursor movement command.
  • block 413 tests whether the requested cursor movement command requires the use of multiple routines. If it does, block 423 conditions the main control loop 200 "waiting for keystroke" status flag, e.g., by setting appropriate bits in flag buffer 215 (Fig. 2) so that control passes repeatedly back to the requested command's processing routine until the command is completed. Then, block 424 causes the command in the command buffer 222 to be processed by block 124 of Figure 5. On the other hand, if multiple routines are not required, routine 413 goes directly from block 412 to block 424.
  • Figure 9 depicts the delete/mark commands routine 500.
  • block 532 tests whether the requested command is valid. If it is not, block 532 passes control to block 125 of Figure 5, causing the event to be ignored. If the command is valid, block 513 determines whether the delete/mark command requires use of multiple routines or commands.
  • block 523 conditions the main control loop 200 by setting the "waiting for keystroke" status flag in the flag buffer 215 to go directly to the requested commands processing routine until the command is completed. From there the routine 500 proceeds to block 514, as it does if it is determined in block 513 that multiple routines are not required.
  • Block 514 determines whether an "action” command is active. If it is, block 524 sets up an appropriate "mark” command, and block 525 sets an "action completed” flag in the flag buffer 215 (Fig.
  • block 535 proceeds to block 124 of Fig. 5 for processing of the command. If block 514 determines that no "action command" is active, block 526 sets up a "delete” command, and block 536 passes control to block
  • Fig. 10 is a special function commands routine 600. Block
  • block 632 causes the event to be ignored by returning to Fig. 5 at block 125. If it is a valid command, block 613 tests whether the command is a "retrieval" command, and, if it is a "retrieval” command, block 623 tests whether data should be retrieved from a delete buffer 618 (Fig. 2). If data should be retrieved from the delete buffer 618, block
  • block 633 sets up a command, if the retrieval is from the copy buffer 620, block 624 sets up the command, then block 634 passes control to block 124 of Fig. 5. If the command was not a "retrieval" command, block 625 sets up the "Indent” command and proceeds through block 634 to Fig. 5 block 124 to process the command.
  • Fig. 11 shows a routine 700 for processing action commands.
  • Block 712 determines whether the requested command is valid. If it is not, block 725 ignores the event and returns control to block 125 of Fig. 5. If the command is valid, block 713 sets a command for the requested action.
  • block 714 informs the main control loop 200 that an action command is active by setting an appropriate flag, and block 715 informs the main control loop 200 that an action command is waiting for a key stroke. Then, the routine passes control to block 725 for return of control to block 125 of Fig. 5 which causes the event to be ignored by the word processor 28.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

L'invention se rapporte à un système facilitant la saisie et la mise en forme d'un texte. Ce système utilise des touches alphanumériques prédéterminées d'un clavier réagissant à une touche de commande spéciale qui permet d'entrer le mouvement d'un curseur, de sélectionner/effacer et d'effectuer d'autres opérations sans que les mains de l'utilisateur ne quittent la rangée d'appui du clavier. Les touches alphanumériques concernées pour ces fonctions sont choisies de façon que leur position et leur corrélation spatiale sur le clavier soient liées à la position d'un curseur apparaissant sur l'écran.
PCT/US1997/014180 1996-08-13 1997-08-11 Procede et appareil destines a faciliter la saisie et la mise en forme d'un texte WO1998007087A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU40626/97A AU4062697A (en) 1996-08-13 1997-08-11 Method and apparatus for efficient text entry and editing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69805996A 1996-08-13 1996-08-13
US08/698,059 1996-08-13

Publications (1)

Publication Number Publication Date
WO1998007087A1 true WO1998007087A1 (fr) 1998-02-19

Family

ID=24803759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/014180 WO1998007087A1 (fr) 1996-08-13 1997-08-11 Procede et appareil destines a faciliter la saisie et la mise en forme d'un texte

Country Status (2)

Country Link
AU (1) AU4062697A (fr)
WO (1) WO1998007087A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19932671A1 (de) * 1999-07-13 2001-03-22 Helmut Degen Anordnung und Verfahren zur objektorientierten Bedienung und Steuerung von technischen Einrichtungen, insbesondere von Computern
GB2360015B (en) * 2000-01-21 2004-07-14 John Victor Parkinson Keyboard with improved shift arrangements

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847799A (en) * 1986-04-22 1989-07-11 Nec Corporation Keyboard apparatus having separate working areas with thumb-operated shifting of key functions
EP0365305A2 (fr) * 1988-10-19 1990-04-25 Brother Kogyo Kabushiki Kaisha Dispositif de traitement de données
EP0602790A2 (fr) * 1992-11-02 1994-06-22 BORLAND INTERNATIONAL, Inc. Direction d'opérations de systèmes d'ordinateur

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847799A (en) * 1986-04-22 1989-07-11 Nec Corporation Keyboard apparatus having separate working areas with thumb-operated shifting of key functions
EP0365305A2 (fr) * 1988-10-19 1990-04-25 Brother Kogyo Kabushiki Kaisha Dispositif de traitement de données
EP0602790A2 (fr) * 1992-11-02 1994-06-22 BORLAND INTERNATIONAL, Inc. Direction d'opérations de systèmes d'ordinateur

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALAN SIMPSON: "Mastering Wordperfect 6.1 for Windows", 1995, SYBEX INC., ALAMEDA, CA, US, XP002049767 *
ALAN SIMPSON: "Mastering WordPerfect 6.1 for Windows", 1995, SYBEX INC., ALAMEDA, CA, US, XP002049768 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19932671A1 (de) * 1999-07-13 2001-03-22 Helmut Degen Anordnung und Verfahren zur objektorientierten Bedienung und Steuerung von technischen Einrichtungen, insbesondere von Computern
DE19932671B4 (de) * 1999-07-13 2005-05-04 Degen, Helmut, Dr. Verfahren zur Steuerung eines Verarbeitungssystems für Text, Tabellenfelder und Graphik und dafür geeignetes Verarbeitungssystem
GB2360015B (en) * 2000-01-21 2004-07-14 John Victor Parkinson Keyboard with improved shift arrangements

Also Published As

Publication number Publication date
AU4062697A (en) 1998-03-06

Similar Documents

Publication Publication Date Title
EP0394614B1 (fr) Interface utilisateur avancée
US5252951A (en) Graphical user interface with gesture recognition in a multiapplication environment
JP4242270B2 (ja) コンピューティング・デバイスへのペン入力システムと方法
US6154758A (en) Text conversion method for computer systems
RU2206118C2 (ru) Система устранения неоднозначности с уменьшенной клавиатурой
JP3727399B2 (ja) 画面表示式キー入力装置
US5818437A (en) Reduced keyboard disambiguating computer
US9606989B2 (en) Multiple input language selection
US5745717A (en) Graphical menu providing simultaneous multiple command selection
WO2014045414A1 (fr) Dispositif de saisie de caractères, procédé de saisie de caractères, et programme de commande de saisie de caractères
KR100298547B1 (ko) 문자입력장치
KR20010096061A (ko) 터치스크린을 이용한 단말기에서의 수기 입력 방법
WO1998007087A1 (fr) Procede et appareil destines a faciliter la saisie et la mise en forme d'un texte
JP2003005902A (ja) 文字入力装置、情報処理装置、文字入力装置の制御方法、及び記憶媒体
JP4133523B2 (ja) キャラクター入力装置
JP2003288155A (ja) 文字列入力プログラム
JP2001222362A (ja) 情報処理装置及び情報処理方法
CN111788776B (zh) 键盘输入电子设备的输入方法
JPH08249097A (ja) キーボード
JP3153704B2 (ja) 文字認識装置
JP3766695B2 (ja) 画面表示式キー入力装置
JP3766695B6 (ja) 画面表示式キー入力装置
JPH0883276A (ja) 文書処理装置及び処理方法
JPH10124226A (ja) 入力用画像表示装置およびその方法
JPH06337746A (ja) キーボード

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AU BA BB BG BR CA CN CU CZ EE GE HU IL IS JP KP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK SL TR TT UA UZ VN YU AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 98509963

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase