AU2004100131A4 - A Human/Machine Interface - Google Patents

A Human/Machine Interface Download PDF

Info

Publication number
AU2004100131A4
AU2004100131A4 AU2004100131A AU2004100131A AU2004100131A4 AU 2004100131 A4 AU2004100131 A4 AU 2004100131A4 AU 2004100131 A AU2004100131 A AU 2004100131A AU 2004100131 A AU2004100131 A AU 2004100131A AU 2004100131 A4 AU2004100131 A4 AU 2004100131A4
Authority
AU
Australia
Prior art keywords
cursor
chord
keys
chords
pointer
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
AU2004100131A
Other versions
AU2004100131A9 (en
Inventor
Bruce William Macdonald
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kordtech Pty Ltd
Original Assignee
Australian Institute of Marine Science
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 Australian Institute of Marine Science filed Critical Australian Institute of Marine Science
Priority to AU2004100131A priority Critical patent/AU2004100131A4/en
Application granted granted Critical
Publication of AU2004100131A9 publication Critical patent/AU2004100131A9/en
Publication of AU2004100131A4 publication Critical patent/AU2004100131A4/en
Assigned to KORDTECH PTY LTD reassignment KORDTECH PTY LTD Request for Assignment Assignors: AUSTRALIAN INSTITUTE OF MARINE SCIENCE
Anticipated expiration legal-status Critical
Expired legal-status Critical Current

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

S&F Ref: 640013
AUSTRALIA
PATENTS ACT 1990 INNOVATION PATENT SPECIFICATION Name and Address of Applicant: Actual Inventor(s): Address for Service: Invention Title: Australian Institute of Marine Science, a Body Corp est by the Aust Inst of Marine Science Act '70 and continued in existence by the Aust Inst of Marine Science Act 72, of PMB No.3, Townsville Mail Centre, Queensland, 4810, Australia Bruce William MacDonald Spruson Ferguson St Martins Tower Level 31 Market Street Sydney NSW 2000 (CCN 3710000177) A Human/Machine Interface The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5843c (1 A HUMANIMACHINE INTERFACE FIELD OF THE INVENTION This invention relates to human/machine interfaces that are particularly, but not exclusively, suited to use with computing devices implemented in a compact format, and for computing devices to be used in mobile and adverse environments.
BACKGROUND
This application is related to Australian Patent No. 693553 (and corresponding US Patent No. 5,900,864 and European patent application having publication no EP 0 776 550), which is incorporated herein in its entirety by reference. This application is also related to Australian Provisional Patent Application No. 2003903098, filed on 18 June 2003, which is also incorporated herein in its entirety by reference.
Australian Patent No. 693553 describes a device and method whereby one or more indicia are displayed. Each indicium represents a user initiated instruction or data input, and is displayed in a manner to indicate which combination of one or more digits effect the instruction or data input. A plurality of keys provide for user inputs, and the keys are physically arranged to match the sequential relation of the digits. Thus the manner of displaying each indicium indicates which respective one or more keys are to be activated.
Australian Provisional Patent Application No. 2003903098 describes a chordic engine for data input. A human/machine interface can be implemented by means of a chordic input device connected to a chordic engine for decoding or interpreting a predefined set of chords or chord sequences generated by a user of the chordic input device. Such an arrangement can be used to implement a Chordic Graphical User Interface (CGUI), wherein connection of the computing platform to a display device provides a means for visually indicating to a user which fingers or keys to press in order to generate one or more defined chords to activate a particular function.
Selected portions of Australian Patent No. 693553 and Australian Provisional Patent Application No. 2003903098 are included hereinafter for the reader's convenience.
Fig. 1 shows a schematic arrangement for a human/machine interface implemented on a computing device. An input device 10 is coupled with a processing device 30, in turn coupled with a display device 50. The input device 10 has five input keys, which are denoted as 4, 3, 2, 1 and T. As is apparent from the representation of the human hand, each of the fingers and the thumb correspond sequentially to the like-referenced keys, and any activation of one or a combination of keys produces "a chord". The processing device can be any off-the-shelf personal computer, although for mobile applications should be compact and rugged in nature, for example, in the PC/104 format. The display device also can be conventional, although again it is preferred that it be as compact as possible, and in this respect a head-mounted display device is particularly suitable. In operation, the processing device 30 causes a display of information on the display device 50. In response to that information, the user inputs instructions or data by means of keyed chords. Indicia displayed on the display 50 correspond directly to a particular chord, thus giving effect to either the instruction or data input represented by the indicium. As noted above, the principle is essentially 'What You See Is What You Press' (WYSIWYP).
Fig. 2 shows a functional block diagram of a computing device upon which a human/machine interface can be implemented. The input device 10 comprises a multiswitch unit 20 constituted by the keys 4-1, T shown in Fig. 1. The switch unit 20 is connected to a debounce and latch circuit 22 that is configured to output signals only on release of the keys, as opposed to on initial depression of the keys. In this way, individual keys in a combination of keys can be depressed separately in time, however only the total combination is signalled when all those keys are coincidentally released. The output from the debounce and latch circuit 22 passes to a bi-directional parallel port 24 of a conventional type, with the output thereof constituting a bit pattern that can be decoded by software resident in the processing device 30. In one preferred form, the input bit pattern is binary coded leading to a raw decimal value for any chord as a combination of key presses. In the same way as a conventional keyboard inputs to a personal computer, the input bit pattern functions as an interrupt to the operating system. The interrupt function is represented by the interrupt handler 32. The interrupts then pass via an input parser 34 to a command manager 36. The command manager 36 interacts with the host operating system 38, a feedback manager 40 and associated audio handler 42 and applications software 44. The command manager 36 also co-operates with the visual handler 46, which in turn drives the display device 50. The audio handler serves a particular function in providing an auditory feedback mechanism to the user on activation of any key. A pentatonic scaling is preferred, which is the division of one octave into five discrete frequencies. The division is not uniform, but rather based on a temporal consideration of what sounds pleasant to the ear. A chording of more than one key results in the reproduction/feedback of the respective notes in combination. Pentatonic scales per se are well known. The software component of the interface is essentially transparent to the user. The user is concerned only with display presented on the display unit 50 as the display relates to the sequential relation of the keys equating or mapping onto the digits of the hand.
Figs. 3a and 3b show the complete set (or 'galaxy') of chords for a five-button input device. The dashed lines represent the boundary of five notional regions within which the indicia are bounded. The indicia are shaded, and for convenience are as a type termed "bar chords". Note that a number of the bar chords are not formed by a contiguous key press and these special chords are termed "hollow bar chords". Also shown beside each indicium is the corresponding "raw chord value". By a convention, the thumb origin is at the left hand side, and the notional regions are represented in a binary form so that any chord also can be represented as a unique decimal number this is useful in an implementation of an embodiment of the invention as will become apparent. The binary convention is reversed, increasing from 0-31 from right to left, but equally could be increasing from 0-31 from left to right.
Fig. 3c shows five different styles of chord representations, for, as it turns out, the chords having the decimal values 1-5. The first (left-most) column shows bar chords for which the partitioning into five regions has to be visualised without a graphical prompt compare this with the bar chords in the third column. In the second column, the boundary of the five regions is represented by the bottom horizontal line and the key(s) to be chorded by the vertical line marks. This representation is termed "glyph chords". The fourth column represents the vertical, rather than horizontal orientation of bar chords, with the thumb origin occurring at the bottom. The fifth column representation of dots and line marks are termed "dot chords".
Fig. 3d shows the galaxy of glyph chords together with their raw chord value.
Fig. 4a and 4b show an alternative representation for couplet chording for a number of indicia 150-156. Also shown is the corresponding dot chord representation. The convention adopted is that horizontal takes precedence over vertical, thus in the case of Fig. 4a leading to the couplet and and for Fig. 4b, "3 4" and "T 4".
Fig. 5a shows an abbreviated form of an indicium 160 representing three bar chords. The two tabs 162, 164 located along the bottom edge of the indicium 160 indicate that "T 1" are required to access any one of the three superimposed sub-indicia 166-170. The dot chord representation for those three sub-indicia 166-170 also are shown. In Fig. 5b, the tabs 182, 184 are located to the right hand side of the indicium 180, indicating the keys "3 4" are required as well as the corresponding key of the superimposed sub-indicia 186-190 to effect a chord.
A library of conventions can be chosen, and as follows from the example presented hereinbefore, it is apparent that the left hand side and/or bottom of an indicium represents the thumb origin. The thumb is always the starting point this is particularly important if less than five keys are provided. Horizontal takes precedence over vertical as does clockwise over anticlockwise. All indicium must satisfy the rule that they are resolvable into a 'press path'.
Fig. 6 shows a mechanical arrangement for the input device 10. The body 11 is sized to fit into the palm of the hand of a user, and in the configuration shown is suited to use by the left hand. The thumb therefore wraps around the side of the body 11 whilst the four fingers wrap across the top. The digits therefore can activate the keys in a manner previously described. Such an arrangement provides the advantage of being useable in a mobile configuration. The body 11 is securely grasped in the palm of the hand, and the digits do not have to move other than in a gross closing motion to activate the keys. The configuration shown is easily adapted for use by the right hand simply by flipping it over, therefore is completely ambidextrous.
Figs. 7a and 7b show an alternative arrangement for an input device 10. The handheld device 10 comprises two body portions 12, 13 hingedly connected together. The arrangement of the keys with respect to each of the body parts 12, 13 is shown. The particular advantage of this configuration is that it is ambidextrous, and also can be used either in the manner shown for the controller 10 of Fig. 6 when grasped in the palm of the hand, in which case the respective body parts 12, 13 are arranged at an acute angle to each other, or with the body parts in a common plane for use as an on-bench keyboard.
It would be readily apparent to one skilled in the programming arts how to write code to implement the embodiments of the invention hereinbefore described without the exercise of any inventive faculty. In this connection, Figs. 8 and 9 are flow diagrams of the chording methodology and the couplet methodology.
In Fig. 8, step 820 detects a key press. If, in step 830, a chord is to be formed on release, then step 850 checks to determine whether all the keys are released, and if so step 860 sends the value of the chord keyed. If the chord is not to be formed on release, step 840 delays sending of the chord keyed.
Fig. 9 concerns an extension of Fig. 8 to the forming of couplets and shows a flow diagram of a process for identifying a timed break couplet. Step 905 represents waiting for a chord press, and once such is received, step 910 determines whether the chord pressed is a singlet. If so, there is a return to step 905. If the result of step 910 is no, then step 915 tests whether for the present couplet, the second part is being awaited. If no, step 920 determines whether it is the first part, and if no again, step 930 ignores the chord and returns to step 905 to await a further chord. If, however, it is the first part of the chord, then step 925 sets the "waiting" flag and returns to step 905. In step 915, if yes, step 935 determines whether the chord is the second part, and if not loops to step 905, but if so, step 940 clears the "waiting" flag and sends the couplet press.
A chordic input device typically includes a number of switches that can be in one of two states, "on" or "off'. The transitions between these states comprise make and break, wherein make refers to closure of a switch and break refers to opening of a switch (off). A press action or keypress is the act of pressing, making or closing a switch, whereas a release action is the act of releasing, breaking or opening a closed switch. Bistate switches can thus be used to generate various combinations of event states. It should be noted that the terms keys, buttons and switches are used interchangeably throughout this document.
An n-bit chordic system can provide an interface for any width of input. Practically, however, chordic systems are generally limited from 3 bits to 14 bits. A relatively simple 3-bit system assigns each of three digits of a human hand to three input switches. A system assigns each of five digits of a human hand to five input switches and a system enables the thumb to selectively operate two or more input switches. A 10 bit system assigns each of five digits of two human hands to ten input switches and a ten+ bit system enables both thumbs to selectively operate two or more input switches.
A chord event is a transitory message or signal that contains information pertinent to the most recent user action. Chord events are created or raised as a result of press or release actions. An action refers to an activity that takes place in real-time in the physical world, whereas chord events are derived from such actions via a set of defined rules. In the simplest form, a chord event contains at least the chord value associated with a chord action. However, a chord event may also comprise other information such as identification of a hardware device, an indication of left or right hand usage, timing data, and even rich information such as data relating to the pressure exerted in a keypress.
Singlet events are defined as chord events that comprise a single chord action a particular key or combination of keys pressed once by a user to effect a particular action).
Singlet events are typically used for a wide range of single action controls and represent the basic building block for more complex sequential chord events. Both a make singlet and a break singlet can be made to occur instantly or after a delay.
Multiplet events, on the other hand, comprise two or more chord events that take place contiguously over time. The simplest example is that of a couplet, which requires a user to press a first specific chord followed by another specific chord to effect a particular action. 961 couplets are available from a five-key chordic input device. Other multiplets can be considered as multiples of the basic couplet transition. Whilst the direction of transition from a specific chord to another specific chord has no special significance for present purposes, such may have chordnomic value. In other words, transitioning from chord A to chord B may be easier or more difficult than transitioning from chord B to chord A.
There are numerous applications of features of the human/machine interface described in Australian Patent No. 693553 and the chordic engine described in Australian Provisional Patent Application No. 2003903098, a small number of which are described hereinafter.
SUMMARY
A device having a human/machine interface is provided. The device comprises an input device having a plurality of keys, a visual display device, and a processor device receiving instructions or data from the input device and outputting information to the display device. The processor device is programmed to identify chords activated by a user of the device, the chords comprising predefined combinations of the plurality of keys. The plurality of keys are disposed such that each of the predefined chords can be activated by a single digit of a human hand. Certain of the instructions received from the input device may comprise a predefined sequence of chords spaced apart in time.
The processor device may be further programmed to cause the position of a cursor to be displayed in accordance with a system of radial co-ordinates on the visual display device in response to instructions received from the input device. Movement of the cursor may be performed in a stepwise manner, wherein each subsequent position of the cursor is calculated as a function of a predefined stepsize and an angle defining a current heading direction of the cursor.
BRIEF DESCRIPTION OF DRAWINGS A small number of embodiments will be described hereinafter, with reference to the accompanying drawings. In these drawings, Figs. 1 to 9 originate in the aforesaid Australian Patent No. 693553 and are useful for describing embodiments of the present invention.
Fig. 1 is a schematic block diagram of the broad hardware elements required to implement a human/machine interface; Fig. 2 is a schematic block diagram showing greater detail of the elements of Fig. 1; Figs. 3a to 3d, 4 and 5 show sets of chords in accordance with various forms of representation; Figs. 6, 7a and 7b show respective views of a hand-held input device; Figs. 8 and 9 are flow diagrams of the chording and couplet decoding methodology, respectively; Fig. 10 Oa shows a screen display of a visual display unit; Fig. 10b shows shows a set of chords for a radial pointer; Fig. 11 is a flow diagram of the operation of a three-bit chordic radial pointer; Fig. 12 shows a chord-enabled lever; Fig. 13a shows an embodiment of a handheld device; Fig. 13b shows additional detail of the handheld device of Fig. 13a; Fig. 14 shows an embodiment of a handheld device; Fig. 15 shows an embodiment of visual indication of an analog input; and -8- Figs. 16a and 16b show plan and left side views of an embodiment of an input device, respectively.
DETAILED DESCRIPTION Pointers A conventional mouse-driven Graphical User Interface (GUI) provides a user with the ability to move an onscreen pointer or cursor in an analog manner. The movement of the pointer mimics movements in the real world movement of a mouse or other pointing device). A Chordic Graphical User Interface (CGUI), on the other hand, does not rely on movement of a pointing device to select and activate controls, but rather on the digital inputs to a chordic input device. The mechanism of data entry in a CGUI is thus primarily digital in nature.
Fig. 10a shows a screen display 1010 of a visual display unit containing a generic application window 1020. The screen display 1010 further includes a pointer or cursor 1030. In non-chordic graphical user interfaces, the pointer 1030 is navigated about the screen display 1010 (in an X-Y plane) by use of a mouse or other pointing device. Once the pointer 1030 points to a desired icon or displayed item on the screen display 1010, a function represented by the icon can be selected and/or activated by way of a user activating buttons or switches that form part of the pointing device. Such buttons or switches typically comprise single bit inputs.
Chordic Pointers In one embodiment, a pointer for a 5-bit CGUI uses five keys. Four of the keys are used for selecting a direction of movement of the pointer 1030 on the X-Y plane and the other key is used for selecting a displayed icon or item or for activating an action associated with that icon. The operation of such a pointer is orthogonal in nature, in that the four possible movement directions are at right angles to one another. An additional four directions are achieved by combining movements. For example, the simultaneous activation of keys to move upwards and to the right results in movement of the pointer 1030 in a north-east direction on the X-Y plane of the screen display 1010. However, chords relating to certain other combinations of the four basic movements are invalid for directional movement of the pointer 1030. For example, a chord which activates both Up and Down (or both Left and Right) is invalid and is thus available for implementing other functionality. An example of such functionality is a second selection/activation chord (corresponding to the right 'click' on a conventional mouse) or a chord for accessing a different chord context a context wherein chords are mapped to different functions compared to the present chord context). Accordingly, it is possible to deliver considerable functionality to a user of an orthogonal chord pointer, accompanied by simple and intuitive usability due to an inherent similarity to conventional cursor navigation.
Creation of a chordic pointer in a 3-bit CGUI is considerably more difficult than in a 5-bit CGUI due to the reduced amount of available chord bandwidth. Whilst a 3-bit CGUI provides seven possible chords (2 3 there are other methods of implementing navigation capability in a 3-bit CGUI. An embodiment of a radial pointer is described hereinafter, which replicates analog movement of a conventional GUI pointer.
Radial Pointers A radial pointer operates based on radial, rather than orthogonal coordinates, and thus lends itself to operation by three digits of one hand of a user. Accordingly, handheld electronic devices with three chordic input keys (as described in embodiments hereinafter) are capable of providing users with the basic functionality of a conventional analogue pointing device without the need for additional hardware a separate pointing device). At its simplest, a radial pointer allows a user to move a pointer forward and to steer its direction of movement like the tiller of a boat. Thus, a minimalist radial chord pointer requires three commands: move, rotate and click select or activate).
However, it is more practical to provide two directions of rotation, namely clockwise and anticlockwise. Numerous other enhancements can also be made, such as dynamic acceleration. Dynamic acceleration enables faster movement of a pointer in response to an analog input the length of time that a movement chord is kept activated by a user).
Fig. 10b shows a set of five chords for a radial pointer in a 3-bit CGUI that uses the thumb for anti-clockwise rotation, the index finger for forward movement, and the middle finger for clockwise rotation. The first two chords shown represent "rotate" commands in anti-clockwise and clockwise directions, respectively. Anti-clockwise rotation is effected by the thumb and clockwise rotation is effected by the forefinger The third chord effects forward movement by way of the index finger. The fourth chord effects a "click" or "select" operation and the fifth chord effects a "toggle grab" or "activate" operation. In operation, a user typically rotates the on-screen pointer or cursor 1030 in the direction of a display icon that is desired by keeping the corresponding keys depressed until the pointer 1030 arrives at the display icon. The journey can include a number of rotate and move instructions. Moving in a reverse direction is achieved by a 1800 rotation (in either direction), meaning that only one movement command is required.
As would be understood by persons skilled in the art, numerous other embodiments of a radial pointer can be practised. For example, a radial pointer can be practised in a CGUI having more than 3 bits, such as a 5-bit or 7-bit CGUI. The chords defined in Fig.
are for the purpose of illustration and numerous other pre-defined chords and chord sets are possible. For example, a quick press and release of the third chord can be used to nudge the cursor forward by, say, a single pixel. Dynamic acceleration of the cursor can be implemented by holding down the third chord for an extended period of time. Other available chords or chord sequences can be used to provide additional functionality such reversing the direction of travel of the cursor by 1800 and altering the stepsize and/or angle increment of the cursor.
A Software Implementation of a Radial Pointer Fig. 11 is a flow diagram of the operation of a three-bit chord radial pointer that uses the thumb for anti-clockwise rotation, the index finger for movement, and the middle finger for clockwise rotation. Holding a rotation chord down results in continuous rotation, while holding the move chord down results in continuous movement. Pressing the thumb and middle finger simultaneously generates a click.
Referring to Fig. 11, a chord event is detected at step 1110. If, at step 1120, the thumb key is pressed but not the index finger key (YES), the heading of the on-screen pointer is rotated in an anti-clockwise direction, at step 1125. If not at step 1120, and the middle finger key is pressed but not the thumb key (YES), at step 1130, the heading of the on-screen pointer is rotated in a clockwise direction, at step 1135. If not at step 1130, and the index finger key is pressed but not the thumb and middle finger keys (YES), at step 1140, the on-screen pointer is moved by an amount (AX, AY), -11at step 1245. If not at step 1140, and the thumb and middle finger keys are pressed but not the index finger key (YES), at step 1150, a toggle grab event is sent at step 1155.
If not at step 1150, and all the keys are pressed (YES), at step 1160, a click event is sent at step 1165. If not at step 1160, no other chords are decoded and the routine ends at step 1170.
The amount the on-screen pointer is moved at step 1145 is calculated based on a predefined stepsize as follows: AX sinO x stepsize, and AY cosO x stepsize, where 0 is defined as the angle between the current heading direction of the onscreen pointer and the horizontal.
Appendix A, included hereinafter for illustrative purposes, contains source code for an HyperText Markup Language (HTML), Web-based, JavaScript embodiment of a radial chord pointer. A feature of this embodiment is that pressing a rotate chord whilst not moving results in the rotation heading altering by 10 degrees rather than 1 degree.
Further, the embodiment also provides one chord press, being all three digits pressed simultaneously, for accessing a different chord context.
Sliders and Levers Constrained movement devices such as sliders and levers can be implemented in a CGUI. For example, a lever that moves backwards and forwards can be operated by two interlocking chords _111. and respectively. For the convenience of a user, indications of the chords can be presented as proportional areas and integrated into the aesthetics of the lever.
Fig. 12 shows a chord-enabled lever 1200 that can be moved forwards and backwards into and out of the page, respeectively). The lever has a shaft 1230 and a handle 1210. The handle 1210 includes 5 regions 1211 to 1215 that correspond to the thumb and 4 fingers of a human hand. Thus, the handle 1210 provides chordic indications in a horizontal orientation. Pressing the chord indicated by regions 1211 and 1215 pulls the lever backwards or towards the user. Similarly pressing the chord _111. indicated by regions 1212, 1213 and 1214 pushes the lever away from the user. The text shown on the lever handle 1210 provides a dynamic display of the current lever setting.
-12- Lever activation and deactivation is controlled by chords, representations of which are indicated in a vertical orientation on the lever shaft 1230. The indication regions 1221, 1222 and 1224 on the shaft 1230 correspond to the thumb, forefinger and ring finger of a user, respectively. The lever is activated by the chord The two indications 1222 and 1224 are shown in a depressed state to indicate that the lever 1200 is active. Once the lever 1200 has been set to an appropriate position, the lever 1200 can be locked or made inactive by again pressing the chord Alternatively, the lever 1200 can be locked by not moving the lever until a time-out occurs or by activating an invalid chord in the lever context. When the lever 1200 is in the locked or inactive state, the indication regions 1222 and 1224 are shown in an extended state the indication regions 1222 and 1224 protrude further from the shaft 1230 than as shown in Fig. 12).
A purely digital system enables a user to control the lever functionality described above in a binary manner. However, by utilisation of analog input, the lever can be moved at differing rates and may be stopped at any position during travel of the lever. For example, the longer a particular movement chord is held, the further the lever will move.
Analog inputs include, but are not limited to, time duration, pressure and distance of chord activation.
Another embodiment is that of a scroll bar, whereby the current position in a document is controlled by a pointing device. In a conventional GUI, a mouse is typically used to click and drag the 'thumb' of the scroll bar in a horizontal or vertical track. In an embodiment for a CGUI, however, two interlocking proportional chords such as and III, that are disposed for operation by a user's thumb, enable the user to associate the relative position of the proportional chords with the direction of travel that is effected by the chord.
Handheld Devices Fig. 13a shows a handheld device 1300, having a display 1302 and three circumferentially arranged keys 1310, 1312 and 1314, conveniently termed the "left key", "top key" and "right key". The handheld device 1300 also includes three "facia" keys 1320, 1322 and 1324 that are equivalent to the left, top and right keys 1310, 1312 and 1314 in operation and a numeric keypad 1342 such as may be found on a conventional mobile telephone.
-13- The keys 1310, 1312 and 1314 and/or the facia keys 1320, 1322 and 1324 can be used to implement a 3-bit CGUI and a 3-bit radial pointer, as described hereinbefore.
As would be clear to persons skilled in the art, numerous other configurations of the handheld device 1300 are possible. For example, only one of the sets of circumferentiallyarranged or fascia keys need be provided. Furthermore, the numeric keypad 1342 may not be provided.
As will be appreciated, a user holding the handheld device 1300 from its underside can easily locate their thumb, index and middle fingers on the three circumferentially located keys. A right-handed person would have their thumb on the right key 1314, their index finger on the top key 1312 and their middle finger on the left key 1310. The reverse would be true for a left-handed person. In this way, a user can conveniently operate the device 1300 using three-fingered chording. This provides more ergonomically efficient and speedier mode of operation by the user. Conventionally, users operate handheld devices such as mobile telephones by single-finger operation, which can be cumbersome and prone to data entry errors.
The facia keys 1320, 1322 and 1324 operate as the equivalent of the circumferentially arranged keys 1310, 1312 and 1314. However, the difference is that these keys are operated by a single digit, typically the user's thumb. As will be appreciated, the user's thumb is of sufficient surface area to span the regions between adjacent keys and, indeed, the region where the three keys intersect. Thus, a single thumb press can achieve the combinations of: a single key press, a double key press or a triple key press.
Fig. 13b shows possible target areas where single, double, and triple key presses can be achieved by the use of only a single digit of the human hand, preferably the thumb or forefinger. Keys 1320, 1322 and 1324 can be activated or pressed by application of a single digit of a human hand to target areas 1330, 1332 and 1334, respectively. A chord comprising keys 1320 and 1322 can be activated by applying a digit of the human hand to target area 1531. Similarly, a chord comprising keys 1322 and 1324 can be activated by applying a digit of the human hand to target area 1333 and a chord comprising keys 1320 and 1324 can be activated by applying a digit of the human hand to target area 1335.
Finally, a chord comprising all of keys 1320, 1322 and 1324 can be activated by applying a digit of the human hand to target area 1337.
-14- Fig. 14 shows an embodiment of a handheld device 1400, having a display 1402 and three keys 1410, 1412 and 1414, which correspond to the keys 1310, 1312 and 1314 of the handheld device 1300 in Fig. 13a. In the embodiment shown in Fig. 14, the display 1402 comprises a static display to visually indicate to users which fingers to use or keys to press to activate a particular alarm function. Static displays provide static or unchanging information and include, but are not limited to, electronic displays, optical displays and printed text printed labels). Any one of the schemes for chord representation shown in Figs. 3a to 3d, 4a, 4b, 5a and 5b may be used to visually indicate available chords or chord sequences to a user. The static display 1402 comprises a printed label that indicates a series of couplets, each of which may be activated by a user to execute an alarm function. However, as would be appreciated by persons skilled in the art, other embodiments of the handheld device 1400 could include a dynamic display such as a Liquid Crystal Display (LCD) screen. Any other display type known in the art may also be practised.
Indicatorsfor Analog Inputs in a CGUI Analog inputs in a CGUI include, but are not limited to, time duration, pressure and distance of chord activation.
Fig. 15 shows an embodiment of visual indication of an analog input to a user.
Referring to Fig. 15a, an icon 1510 requires a greater magnitude of analog input time, pressure, distance, etc.) than an icon 1520 for chord activation. Fig. 15b shows either of icons 1510 or 1520 when the represented chord or chord sequence has been activated.
Input Device Arrangement Figs. 16a and 16b show an arrangement for an input device (with reference to Figs.
6, 7a, and 7b). Fig. 16a shows a plan view and Fig. 16b a left side view of the arrangement, being a switch plate assembly. The switch plate assembly comprises switch plates 1610, 1620, 1630, 1640, 1650 and switches 1612, 1614, 1622, 1624, 1632, 1634, 1642, 1644, 1652, 1654. Each of the switch plates 1610 to 1650 are centrally supported in a pivotal manner by common or separate fulcrum element/s.
Fig. 16b shows switch plate 1610, switches 1612 and 1614, and fulcrum element 1660. The fulcrum element 1660 enables the switches 1612 and 1614 to be pressed independently of each other by allowing the switch plate 1610 to rock or pivot about the fulcrum element 1660 when pressure is applied to the upper surface of the switch plate 1610 in the vicinity of either of the switches 1612 and 1614. Furthermore, application of pressure to the switch plate 1610 directly above the fulcrum element 1660 can enable both of switches 1612 and 1614 to be pressed simultaneously by way of resilient collapse of the fulcrum element 1660. As would be readily understood by a person skilled in the art, each of the other switch plates and corresponding switches can be operated in a similar manner to that shown in Fig. 16b.
An advantage of this arrangement is that a user can simulate striking two separate chord pads or input devices, with the use of only one hand. For example, by notionally assigning switches 1612, 1622, 1632, 1642, and 1652 to a left hand and switches 1614, 1624, 1634, 1644, and 1654 to a right hand, a user may simulate the use of both hands on separate chord pads or input devices. This arrangement is particularly useful for increasing input bandwidth through the simultaneous striking of chords for the generation of couplets).
Embodiments described herein have immediate application in relation to conventionally-understood computing devices, but equally could be incorporated into viewfinder control systems (eg. camcorders), autotellers, fax and photocopy machines, embedded interfaces (eg. vending machine maintenance interfaces), mobile telephones and pagers, portable machinery (eg. service equipment), video and television remote controllers, interactive television controllers, personal stereo, household appliances (eg.
clock radios), vehicleonics (eg. air conditioning, cruise control, stereo, cabin controls, etc.), powertool interfaces (eg. pistol grip-style drills) control mounted (eg. steering wheel or joystick), game and toy interfaces, electronic slate-style magazines, pocket organisers, hand-held computing devices, notebook and pen computers. Furthermore, a radial pointer such as described hereinbefore may be practised by means of a chordic input device connected to any computer system.
-16- Various alterations and modifications can be made to the techniques and arrangements described herein without departing from the scope and spirit of the invention, as would be apparent to one skilled in the relevant art.
(Australia Only) In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including", and not "consisting only of'. Variations of the word "comprising", such as "comprise" and "comprises" have correspondingly varied meanings.
17 APPENDIX A <html> <head> <title>3 Bit Radial Pointer Demo</title> </head> <Script language="Javascript" src="../src/dynapi.js">//external graphics support</script> <script SRC="chordio_ok.js">//external chord event support</script> <script SRC="kssniffer.js">//browser type detection </script> <Script language="Javascript"> This program draws three buttons and a small pointer dot on a html page by pressing combinations of the keyboard keys SPACE J K on a normal keyboard it is possible to steer a radial pointer object around the screen the index finger moves the pointer forward the thumb rotates the heading 1 degree anticlockwise the middle finger rotates the heading 1 degree clockwise by holding the index finger down the pointer will move, whilst holding it pressing either the middle finger or the thumb will alter the angle of the heading allowing you to navigate the pointer pressing and releasing the thumb and the middle finger will result it a 'click event' as if you had clicked a mouse button Pressing and releasing either the thumb or middle finger whilst the pointer is at rest will result in a degree rotation of the heading //bring in and initialise external event and graphics code DynAPI.setLibraryPath('../src/lib/'); DynAPl.include('dynapi.api.*'); DynAPI .include('dynapi.event.*'); DynAPI.include('button.js','./'); //initialise and draw onscreen buttons and pointer object once page has started DynAPI.onLoad=function() //create layers and buttons pointerBox new DynLayer(null,100,1 00,3,3,'#000FFO'); /the pointer object buttonPanel new DynLayer(null,0,0,95,31,'#FF0000'); leftButton=new button('leftbutton',2,3,30,23,"); /thumb rightButton=new button('rightbutton',62,3,30,23,"); //middle middleButton=new button('middlebutton',32,3,30,23,"); //index //add layers DynAPI.document.addChild(buttonPanel); DynAPI.document.addChild(pointerBox); //draw buttons buttonPanel.addChild(leftButton); buttonPanel.addChild(rightButton); buttonPanel.addChild(middleButton); layer.addChild(myButton); //start chord detection in chordiook.js library code ChordlO("setkeyboard","jkl"); ChordlO("enable"); I/initialise stuff heading 45; I/current pointer heading stepsize 1; //number of pixels to move forward 18function rotateAnticlock(amount){ H/alter heading heading heading amount; if (heading 0){ heading 360 heading; I/wrap around so 361 -1 1 function rotateClock(amount){ f/wrap around so 361 -1 heading heading amount; if (heading 360)1 heading heading 360; function degreestoradians(degrees){ I/trig conversions var y =((degrees/360)*(3.141592*2)); return y; function rad ianstodegrees(rad ians){ //trig conversions var z (radians/(3.141592*2)*360); return z; function moveForwardo{ I/move the pointer along the heading var deltaX =(Math.sin(degreestoradians(heading))) stepsize; I/calculate new x y position var deltaY (Math.cos(degreestoradians(heading))) stepsize; var X pointerBox.getPageXo; I/get current x y position var Y pointerBox.getPageYo; if (Math.round(X deltaX) 0 Math.round(Y deltaY) 0) I/don't go outside the 0,0 xy origin pointerBox. moveBy(deltaX,deltaY); I/move the pointer object the required distance function Chord Pressed (cval, ctim I/a chord has been pressed and released leftButton.invokeEvent('mouseup'); I/trick button to think its clicked middleButton.invokeEvent('mouseup'); I/button goes visually up and down rightButton.invokeEvent('mouseup'); I/thumb and index alert("you clicked"); I/let them see they 'clicked'
I
if (cval I/middle finger rotateAnticlock(1 0); if (oval 1 I/thumb rotateClock(1 0); if (cval I/index finger moveForwardo; function Chord Down (cval,ctime){ I/a chord is being pressed down if ((oval 16) 16){ I/thumb is down leftButton.invokeEvent('mousedown'); I/show the onscreen button going down rotateClock(1); I/move heading by one degree 19 )else{ IeftButton.invokeEvent('mouseup'); I/set the onscreen button to up state if ((cval 8) I/index finger middleButton invokeEvent('mousedown'); moveForwardo; I/move onscreen pointer )else{ middle Button. invoke Event('m ouseup') if ((cval 4) I/middle finger rightButton. invoke Event('mousedown'); rotateAnticiock(1); I/change heading by 1 degree }else{ rightButton. invokeEvent(mouseup') </script> <body> </body> </html>

Claims (4)

1. A device having a human/machine interface, said device comprising: an input device having a plurality of keys; a visual display device; and a processor device receiving instructions or data from the input device and outputting information to the display device, the processor device programmed to identify chords activated by a user of said device, said chords comprising predefined combinations of said plurality of keys; wherein said plurality of keys are disposed such that each of said predefined chords can be activated by a single digit of a human hand.
2. A device according to claim 1, wherein certain of said instructions received from the input device comprise a predefined sequence of chords spaced apart in time.
3. A device according to claim 1, wherein said processor device is further programmed to cause the position of a cursor to be displayed in accordance with a system of radial co-ordinates on said visual display device in response to instructions received from said input device.
4. A device according to claim 3, wherein movement of said cursor displayed on said visual display device is performed in a stepwise manner and each subsequent position of said cursor is calculated as a function of a predefined stepsize and an angle defining a current heading direction of said cursor. A device according to claim 4, wherein said instructions include one or more instructions selected from the group of instructions consisting of: rotate said cursor in a clockwise direction; rotate said cursor in an anti-clockwise direction; move said cursor in a current heading direction; reverse direction of movement of said cursor; -21- select an item displayed on said visual display unit that is currently indicated by said cursor; activate a function displayed on said visual display unit that is currently indicated by said cursor; alter the magnitude of said predefined stepsize; alter the angle defining a current heading direction of said cursor; move said cursor in a current heading direction by a predefined number of pixels on said visual display unit; accelerate movement of said cursor in a current heading direction. Dated 20 February, 2004 Australian Institute of Marine Science Patent Attorneys for the Applicant/Nominated Person SPRUSON FERGUSON
AU2004100131A 2004-02-20 2004-02-20 A Human/Machine Interface Expired AU2004100131A4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2004100131A AU2004100131A4 (en) 2004-02-20 2004-02-20 A Human/Machine Interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2004100131A AU2004100131A4 (en) 2004-02-20 2004-02-20 A Human/Machine Interface

Publications (2)

Publication Number Publication Date
AU2004100131A9 AU2004100131A9 (en) 2004-03-18
AU2004100131A4 true AU2004100131A4 (en) 2004-03-18

Family

ID=34230149

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2004100131A Expired AU2004100131A4 (en) 2004-02-20 2004-02-20 A Human/Machine Interface

Country Status (1)

Country Link
AU (1) AU2004100131A4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409380B2 (en) 2016-09-25 2022-08-09 Kordtech Pty Ltd Human machine interface system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409380B2 (en) 2016-09-25 2022-08-09 Kordtech Pty Ltd Human machine interface system

Also Published As

Publication number Publication date
AU2004100131A9 (en) 2004-03-18

Similar Documents

Publication Publication Date Title
US7602382B2 (en) Method for displaying information responsive to sensing a physical presence proximate to a computer input device
US7358956B2 (en) Method for providing feedback responsive to sensing a physical presence proximate to a control of an electronic device
US7091954B2 (en) Computer keyboard and cursor control system and method with keyboard map switching
AU693553B2 (en) A human/machine interface
US8125440B2 (en) Method and device for controlling and inputting data
US6232957B1 (en) Technique for implementing an on-demand tool glass for use in a desktop user interface
US6333753B1 (en) Technique for implementing an on-demand display widget through controlled fading initiated by user contact with a touch sensitive input device
US8560947B2 (en) Touch screen with user interface enhancement
JP6115867B2 (en) Method and computing device for enabling interaction with an electronic device via one or more multi-directional buttons
US20080297475A1 (en) Input Device Having Multifunctional Keys
US20050024341A1 (en) Touch screen with user interface enhancement
JP2009527041A (en) System and method for entering data into a computing system
WO2004010276A1 (en) Information display input device and information display input method, and information processing device
JP6740389B2 (en) Adaptive user interface for handheld electronic devices
US20210247849A1 (en) Input device, signal processing unit thereto, and method to control the input device
US9606633B2 (en) Method and apparatus for input to electronic devices
JP4502990B2 (en) Man / machine interface for computing devices
AU2004100131A4 (en) A Human/Machine Interface
Hirche et al. Adaptive interface for text input on large-scale interactive surfaces
JPH08190552A (en) Document display device
JPH03286221A (en) Bidirectional pointing device

Legal Events

Date Code Title Description
FGI Letters patent sealed or granted (innovation patent)
SREP Specification republished
PC Assignment registered

Owner name: KORDTECH PTY LTD

Free format text: FORMER OWNER WAS: AUSTRALIAN INSTITUTE OF MARINE SCIENCE

MK22 Patent ceased section 143a(d), or expired - non payment of renewal fee or expiry