KR20020015986A - 고속 타이핑 장치와 그 방법 - Google Patents
고속 타이핑 장치와 그 방법 Download PDFInfo
- Publication number
- KR20020015986A KR20020015986A KR1020017009429A KR20017009429A KR20020015986A KR 20020015986 A KR20020015986 A KR 20020015986A KR 1020017009429 A KR1020017009429 A KR 1020017009429A KR 20017009429 A KR20017009429 A KR 20017009429A KR 20020015986 A KR20020015986 A KR 20020015986A
- Authority
- KR
- South Korea
- Prior art keywords
- word
- key
- words
- characters
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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/0233—Character input methods
- G06F3/0235—Character input methods using chord techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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 a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction 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 a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
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
본 발명은 고속 타이핑 방법 및 키보드의 각 키에 대응되는 복수개의 문자를 구비한 장치에 관한 것이다. 이 시스템을 사용하면, 각 키에 복수개의 문자를 사용하여 키들의 수가 알파벳 문자의 수보다 적은 수로 될 수 있다(즉, 영문 알파벳의 26문자 보다 적은 수의 키). 키보드 상의 각 키는 숫자코드에 대응되어 있다. 본 시스템에서는 타이핑된 단어에 대응하는 숫자코드를 이용하여 메모리장소의 메모리에 저장되어 있는 입력된 숫자코드에 해당하는 사전 또는 단어표에 접근한다. 시스템이 입력코드에 응답하여 사용가능한 모든 단어가 화면상에 표시된다. 사용자가 사용가는한 단어들을 선택하면, 이 단어가 문서로 저장된다. 또한, 시스템에 의하여 하나 또는 그 이상의 최적어가 화면에 표시될 수도 있다. 사용자가 키보드의 키들과의 관계에서 손의 위치를 느낄 수 있도록, 키보드 상의 키들이 경사진 형태를 가질 수 있다. 또한, 본 발명의 타이핑 시스템은 스위치들을 구비한 손가락 장착 입력장치에 의하여 수행될 수도 있다. 상기 손가락 장착 장치는 또한, 하나 또는 그 이상의 입력선택판넬들과 결합되어 사용될 수도 있다. 상기 판넬들은 상기 스위치들과 결합되어 있으며, 사용자가 선택할 수 있는 키들을 구비하고 있다.
Description
종래의 타자기는 키 하나에 영어 알파벳 문자 하나가 할당된 26개의 문자키를 이용하고 있다. 처음 나온 키보드 구조 중에 하나는 "QWERTY" 키보드인데, 이것은 지금까지 산업 표준으로 남아 있다. "Dvorak" 키보드 같은 다른 종류가 고안되었으며, 이 키보드는 인체 공학적 구조로 만들어져서 쉽게 근접 사용할 수 있다. 이 키보드는 주로 사용자를 덜 피로하게 할 뿐만 아니라 타이핑의 속도와 정확성을 증가시키는데 일차적인 목적이 있다.
일반적으로 이러한 모든 종래의 키보드는 각 알파벳 문자에 키 하나를 제공한다. 문자키 외에도, "ALT", "CTRL", "스페이스바(SPACE BAR)", "엔터(ENTER)" 등과 같은 기능키도 제공된다. 따라서 키보드에는 여러 가지 키가 많이 있어 구조가 복잡하고, 많은 공간을 필요로 한다. 이와 같이, 이러한 종래의 키보드를 사용하려면 사용자가 선택하고자 하는 각 문자에 대한 특정한 키의 위치를 알고 기억해야 한다.
다른 키보드 구조로서, 복합문자 키(multiple letter key) 시스템 또는 이중누름(double-touch) 시스템으로 불리는 키 하나에 하나 이상의 문자가 할당되어있는 것이 있는데, 그러나 이러한 시스템을 사용하려면 보통 문자 하나를 선택하기 위해 여러 키를 작동해야 한다. 여러 키를 동시에 작동해야 하는 시스템은, 미국 특허번호 4,891,777에 보여진 바와 같이 때로는 코드(chord) 시스템이라 일컫는다. 이 코드 시스템을 사용하기 위해서는 글자 하나를 선택하기 위하여 이중의 노력이 필요하다. 더불어, 이러한 코드 시스템을 사용하려면 알파벳 하나에 문자 하나가 배정된 26개의 키를 일일이 기억하고 있어야 한다.
특정한 복합문자 키를 연속적으로 작동해야 하는 복합문자 키 시스템도 있다. 가령 미국 특허번호 5,062,070에는 각 키마다 복합문자 키가 제 공되는 시스템이 개시되어 있다. 그러나 원하는 문자를 선택하기 위해, 사용자는 해당 키를 적어도 두번 연속 눌러야 한다. 그래서 각 알파벳에 키 하나씩, 연속적으로 눌러야 하는 26가지의 다른 조합을 기억해야한다. 한편 미국 특허번호 5,007,008에는 키 하나에 지정된 복합문자 하나를 순차적으로 움직이기 위해 그 키를 계속 눌러야 하는 키보드가 있다.
문자 하나를 선택하기 위해 키를 여러 번 눌러야 하기 때문에 결과적으로 이러한 복합문자 키 시스템은 느리고 쉽게 피곤해지기 쉬우며 입력오류를 쉽게 범할 수 있다. 따라서 이러한 시스템은 속도나 정확성보다는 사이즈가 작은 키보드가 중요시되는 곳에서 주로 사용된다.
다른 타이핑 방식 중에 단축타이핑이라 불리는 방식은 단어의 일부분만 입력할 수도 있다. 예를 들면, 미국 특허번호 4,459,049에는 문자 4개 이하만 입력해도 되는 단축타이핑 시스템이 있다. 그 다음에 시스템이, 단축된 단어를 메모리에서 찾는다. 단축된 단어를 일단 찾게되면 단어 전체가 기억장치로부터 서류에 입력이 된다.
이러한 모든 키보드 시스템은 사용하기가 어렵고 배우기는 더욱 힘들다. 따라서 타이핑속도는 느리고 오자가 쉽게 생기게 마련이다. 더욱이 이러한 특별한 키보드를 사용해 본 적이 없는 사람이 작동하기에는 더욱 힘이 든다. 타이핑이 서툰 사용자는 원하는 글자를 일일이 찾아서 눌러야 하는데, 이러한 글자들은 수많은 키 중에서도 알파벳 순으로 정렬되어 있지 않다.
키를 입력하는 또 다른 종류를 원격 시스템 악세스용 전화기에서도 볼 수 있는데, 자동응답 시스템이라 불리어진다. 대개 이러한 자동응답 시스템에서는 원거리에 있는 키를 누르면 그에 관련된 알파벳을 인식한다. 예를 들면 미국 대법원에서 사용되는 시스템으로 소송 번호나 계류중인 사건의 진행상태를 알고자 할 때 대법원 전화번호만 누르면 된다. 어디에서나 종래의 전화만 사용하여 시스템에 들어갈 수가 있다.
일단 대법원 자동응답 시스템에 들어가면 음성 메세지로 전화기에 있는 번호를 사용하여 사건 번호를 누르라고 지시한다. 종래의 전화번호판은 0부터 9까지의 숫자와 "*", 그리고 "#" 모두 12개의 키로 되어있다. 글자 여러 개가 2부터 9까지와 연관이 되어 있는데 Q와 Z를 제 외한 모든 글자가 정해져 있고 Q와 Z는 수자키 1에 배정되어 있다. 0부터 9까지의 10가지 숫자를 사용하여 원하는 이름을 입력한다. 또는 10가지 숫자보다 적게 입력하고 바로 다음에 "*"을 입력하거나 4초 동안 지연한다. 일단 당사자 이름이 입력되면 시스템이 사무관의 명부를 찾아 소송 번호, 당사자 그리고 현 진행상태에서 가장 가까운 소송 3건을 음성으로 들려준다.만약 이용자가 의문 사항이 더 있으면 사무관과 통화할 수도 있다.
위에서 언급한 자동응답 시스템은 종래의 전화번호판과 메모리에 저장되어 있는 제 한된 단어들을 사용하여 쓸 수 있도록 되어 있는데 워드프로세서 분야에는 사용되지 않고 있다. 따라서 이 시스템은 매우 느리며 고속 타이핑용으로는 쉽게 적용 될 수가 없다. 더욱이 이 시스템은 음성통신 시스템과 전화번호판으로만 사용 가능하다. 이러한 이유로 자동응답 시스템에서는 기억장치를 편집하거나 원하는 용어나 새 단어를 정의할 수가 없다. 또 전화번호판은 타이핑용으로 고안되어 있지 않다.
종래의 키보드에 대한 대안으로서, 프린스(Prince)의 미국특허 제 5,581,484호와 그림스(Grimes)의 미국특허 제 4,414,537호에 입력장치를 손과 손가락들에 장착하여 사용하려는 시도가 개시되어 있다. 기본적으로, 이 시스템들은 손 근처의 다양한 위치에 스위치들을 배치하여 컴퓨터에 정보를 입력하는 것을 단순화하고 있다. 그러나, 이들은 고속 타이핑을 목적으로 개발된 시스템들이 아니다.
관련 출원
본 출원은 1996년 9월 26일자로 미국특허출원 제 08/705,903호의 일부계속출원(continuation-in-part)이다.
기술분야
본 발명은 보다 더 쉽게 타이핑을 배우게 하고 타이핑의 정확성을 향상시키며 타이핑 속도를 증가시키고 사용자를 덜 피로하게 하는 장치와 방법에 관한 것이다. 좀 더 구체적으로, 본 발명은 최소한 하나의 키 또는 모든 키에 복수의 알파벳 문자가 지정된 키보드를 사용하는 마이크로프로세서 제어 워드프로세싱 시스템을 사용하여 문서를 고속으로 입력하는 시스템에 관한 것이다.
도 1은 본 발명 워드프로세서 시스템의 실시예 전체를 블록 다이어그램으로 나타낸 것이다.
도 2(a)는 본 발명의 실시예에 따라 표준 QWERTY 키보드의 숫자판의 첫 줄에 구현된 8-키 배열을 나타낸다.
도 2(b)는 본 발명의 바람직한 실시예에 따라 표준 QWERTY 키보드의 종래의 문자열에 구현된 14-키 배열을 나타낸다.
도 3은 도1의 시스템에 적용가능한 다른 실시예에 따른 키보드의 6-키 배열을 나타낸다.
도 4(a)는 본 발명의 방법에 따른 플로우챠트를 나타낸다.
도 4(b)는 본 발명의 다른 방법에 따른 플로우챠트를 나타낸다.
도 5는 본 발명의 바람직한 실시예에 따른 모니터화면을 나타낸다.
도 6은 본 발명의 바람직한 실시예에 따른 플로우 다이어그램을 나타낸다.
도 7은 다른 실시예에 따른 모니터화면을 나타낸다.
도 8(a)-(d), 9, 10, 11, 12, 13, 14, 15, 16, 17,(a) - 17(d), 18, 19 및20은 는 도1의 키보드의 변형가능한 배열을 나타낸다.
도 21은 도 1의 터치스크린(touch-screen) 모니터 위에서 사용되는 다른 키보드배열이다.
도 22(a)-(b)는 동일한 키에 둘 이상의 알파벳 문자가 결합되는 경우, 하나 이상의 단어들에 대응되는 단어코드들의 수를 보여주는 표이다.
도 22(c)-(d)는, 도 22(a)의 표에 기초하여 생성되된 4 내지 21개의 키를 가진 키보드 배열들을 보여주는 표로서, 하나 이상의 단어에 대응되는 단어코드들의 수와, 각각의 배열에 대하여, 배열마다 하나 이상의 단어를 갖는 이들 단어코드들에 대응되는 전체 단어들의 수를 보여주는 4 내지 21개의 키를 가진 키보드 배열들을 보여주고 있다.
도 22(e)-(x)는 도 22(b)의 표에 기초한 다른 키보드배열이다.
도 23은 손가락에 장착되는 입력장치와, 본 발명의 고속 타이핑 시스템과 함께 사용되는 입력선택판넬을 보여주는 그림이다.
도 24(a)는 본 발명에 따라 변형된 키패드를 보여주는 평면도이다.
도 24(b)는 도 24(a)의 중산단 키, 하단 키 및 측단 키들을 보여주는 측면도이다.
도 24(c)는 도 24(a)의 4 측면에서 본 투시도이다.
도 25는 음성인식시스템과 함께 결합되는 워드프로세싱 시스템의 블록 다이아그램이다.
도 26(a)-(y), 27(a)-(z) 및 28(a)-(m)은 다양한 키보드배열을 보여주는 그림이다.
도 29(a)-(l)은 다양한 키보드배열을 보여주는 그림이다.
발명의 요약
본 발명은 최소한 하나의 키 또는 모든 키에 복수의 알파벳 문자가 지정되어, 이 시스템을 이용하면 알파벳수 만큼의 키(예를 들면, 영어문자를 위해서는 26개의 문자 키기 필요하고, 러시아 문자의 경우에는 33개의 키가 필요함)가 불필요한 키보드를 이용한 고속 타이핑 시스템과 방법에 관한 것이다. 예를 들어, 알파벳 26글자가 4, 6, 8 또는 17개의 키들에 할당될 수 있다. 키보드 위의 이러한 각 키에는 하나의 숫자가 대응되어 이 숫자들의 시리즈가 코드를 형성한다. 본 시스템에서는 상기 숫자코드를 사용하여, 숫자코드에 해당되는 기억장치장소에 있는 컴퓨터의 기억장치에 저장되어 있는 사전이나 단어테이블에 접근하게 된다. 본 시스템은 입력된 코드에 응하여 이에 해당되는 유력한(available) 모든 단어를 표시하여 사용자에게 보인다. 입력된 코드에 해당될 수 있는 단어가 여러 개 있을 때에는, 사용자가 이들 중 원하는 것 하나를 선택할 수 있다.
나아가서, 사용자는 특정 숫자코드에 해당하는 최적어(preferred word)를 선택할 수도 있다. 숫자코드가 입력되면 컴퓨터에는 모든 단어들이 표시되는데, 이 때에 최적어들도 함께 표시된다. 그러나 최적어들만 표시되도록 선택할 수도 있다.
또 특정 숫자코드에 관련된 단어들을 여러가지 방식으로 표시되도록 할 옵션이 있는데 이들은 다음과 같다. (1) 사용자가 정의한 우선순위나 정도에 따라 표시하는 방식, (2) 가장 많이 사용되는 단어에 높은 우선순위를 순서를 붙여 표시하는 방식, (3) 알파벳 순으로 표시하는 방식, (4) 법학용어나 과학용어 등 특별히 미리 정의된 카테고리에 따라 표시하는 방식. 동일한 숫자코드에 해당하는 다수의 단어그룹 중 원하는 단어를 지정할 때 사용자가 선택한 단어들에 기초를 두고, 자동적으로 순위표를 조정하는 옵션도 있다.
본 발명의 또 다른 특징은, 예를 들면 26자의 알파벳이 배정된 4, 6, 8, 12개의 글자키로 이루어지는 키보드 구조들 가운데서 하나를 선택할 수도 있다는 것이다. 또한 사용자가 모든 글자키를 누르지 않더라도 시스템이 그 문자 전체를 표시할 수 있다. 본 발명은, 보통 키보드의 윗줄에 위치한 0~9까지의 숫자키와 보통 오른쪽에 위치한 사각형 모양의 숫자판과 글자들이 횡렬로 배열된 전통적인 QWERTY 키보드 상에 구현되는 것이 바람직하다. 또, 본 발명은 특수하게 고안되어 컴퓨터에 접속되어 사용하는 키보드 상에 구현될 수 있다. 본 발명에 따라 키의 개수가 적게 고안된 키보드는 신체에 장애가 있는 사용자에게 더 적합하며 종래의 키보드 대신에 또는 병행해서 사용할 수 있다.
따라서 본 발명의 목적은 키의 위치를 기억하기가 쉽고 사용자가 바라는 것 만큼 적거나 많은 키를 갖는 키보드를 사용하여 타이핑 속도를 높힐 수 있는 장치를 제공하는 것이다.
본 발명의 다른 목적은 지나치게 많은 키가 키보드에 밀집하지 않아, 입력장치의 크기와 차지하는 공간을 줄일 수 있는 간단한 구조의 키보드를 이용하는 고속타이핑 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 키 하나에 복수의 글자가 배정되지만, 원하는 글자를 타이핑하는데 키를 한 번만 눌러도 되는 키보드를 제공하는 것이다.
본 발명의 또 다른 목적은 인체 공학에 근거를 두고 사용자가 덜 피로하며 쉽게 배울 수 있고 정확도와 능률을 향상시키는 고속 타이핑 키보드를 제공하는 것이다.
본 발명의 또 다른 목적은 관절염 등 신체적으로 장애를 가진 사용자도 쉽게 사용할 수 있는 타이핑시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 손가락에 장착한 입력장치가 구비된 고속 타이핑시스템을 구현하는 것이다.
본 발명의 또 다른 목적은 사용자가 키보드 상에서 손의 의치를 감지할 수 있도록 변형된 키를 설계하는 것이다.
본 발명의 또 다른 목적은 음성인식시스템을 이용하여 편집과 타이핑 정보를 입력할 수 있는, 빠르고 쉬운 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 데이터를 압축시켜서 데이터의 저장에 필요한 메모리의 양을 줄이고 전송속도를 증가시키는 압축시스템을 제공하는 것이다.
상기 본 발명의 목적과 장점들은 이하의 도면과 상세한 설명에 의하여 보다 명백하게 될 것이다.
도면에서 나타낸 대로 본 발명의 바람직한 실시예를 설명하는 데는, 명백하게 하기 위해 특정한 용어에 의지하게 된다. 그러나 본 발명은 선택된 특정한 용어에 한정되지 않고 유사한 목적을 달성하기 위해 유사한 방법으로 운영하는 모든 기술적 용어를 포함한다.
도 1은 본 발명의 바람직한 실시예에 의거한 고속 타이핑 시스템 100을 나타낸다. 시스템 100은 마이크로 프로세서, 내부 메모리 12, 그리고 워드프로세서 분야에서 주지인 입출력 구성요소를 갖는 컴퓨터 10를 포함한다. 종래의 키보드 14, 프린터 16, 그리고 모니터 18가 종래 방식대로 마련되어 있다. 또한 따로 특별히 고안된 키패드(keypad) 또는 키보드 50가 설명하는 바와 같이 선택적으로 활용될 수 있다. 사용자가 입력한 글자들을 인식하고 그에 따라 나타내고 프린트하는 컴퓨터 내부의 프로그램된 지시사항에 의해 워드 프로세스 시스템이 제어된다. 본 발명의 기능을 구현하기 위해 소프트웨어 지시사항은 종래의 지시사항으로부터 변형될 것이다. 본 발명의 기능을 구현하는 소프트웨어는 워드프로세서 시스템에 미리 프로그램된 지시사항에 있을 수 있거나 디스크, CD-롬 또는 기타 유사한 시스템에 저장될 수 있고, 인터넷(internet), 로컬 네트웍(local network) 또는 기타 유사한 시스템에 의하여 원격으로 저장하거나 불러낼 수 있으며, 또한, 이 분야에 잘 알려져 있는 모든 주요 워드프로세서와 종래의 접속기술로 연결될 수도 있다("Dynamic Data base Enhancing" 또는 "Object Linking and Abetting" 또는 "Standard Interface"가 이러한 예이다).
비록 시스템 100은 구성요소가 따로 되어 있지만, 키보드 50 및 모니터 18과 함께 집적된 메모리 12를 구비한 휴대영 컴퓨터 10처럼, 상기 시스템 100은 여러 가지 방법으로 구현될 수 있다. 휴대용 컴퓨터, 또는 휴대용 입력장치는 직접 연결시키거나 무선으로 송신시켜 다른 컴퓨터로 출력을 보낼 수 있다. 따라서, 휴대용 입력장치에서는 원격 무선전화를 통하거나, 종래의 유선전화를 이용하거나, 또는 입력장치에서 발생되는 음향신호 또는 이진음향코드를 무선으로 이용하여 시스템에 원거리에서 접근할 수 있다.
본 발명의 시스템은 사용자가 종래 키보드의 글자키를 사용하거나, 일반적으로 키보드의 맨 윗줄에 있거나 오른쪽에 위치한 숫자키를 선택 사용할 수 있도록 고안되어 있다. 마찬가지로 조이스틱과 유사하게 생긴 토글형 콘트롤레버 또는 다른 유사한 입력도구를 사용하여 터치스크린 모니터에 구현할 수 있다. 또한, 이들 키들은 한쪽 방향에서 손가락 키들을 안으로 누르도록 고안되고, 엄지손가락용 키들이 키보드의 양 측단에 설치되어 사용자가 엄지손가락을 안으로 눌러서 사용할 수 있는 휴대용 키보드에 탑재될 수도 있다. 상기 엄지손가락은 기능키 제어, 스페이싱, 백스페이싱, 또는 커서의 사용과 하이라이팅에 있어서 특히 유용하다.
도 2(a)에는 본 발명의 바람직한 실시예에 따라 본 발명을 구현하는데 사용되는 종래의 확장 QWERTY 키보드가 있고, 키보드 14의 오른 쪽을 따라 10개의 숫자키가 있으며, 이들 각각에는 0에서 9 까지의 숫자와 “0”이 표시되어 있다. 본 발명의 실시예들은 영어로 제공된다. 키보드 14에는 맨 윗줄에 10개의 숫자키가 있다. 문자판(overlay) 23이 윗줄의 숫자키에 덮히는데 숫자키에 해당하는 위치에 문자가 인쇄되어 있다. 또한 문자가 표시된 스티커(미도시)를 키보드 14의 오른쪽에 위치한 숫자키나 보통 글자가 표시된 키에 옵션으로 부착할 수가 있다.
이 실시예에서, 8-키 구조는 표준 키보드인데, 문자판 23을 보면, 1부터 7까지의 숫자키에는 각각 알파벳 세 글자가 배정되어 있고 숫자키 8에는 다섯 글자가 배정되어 있다. 각 숫자키에 배정된 숫자는 그와 상응하는 숫자들과 연관이 있는 입력 요소코드나 숫자 코드로 사용될 수 있다.
14-키의 배열에 해당하는, 또다른 실시예는 도 2(b)에 나타나 있는데 "a", "s", "d", "f", "r", "c", "j", "u", "n", "I", "k", "¸", "l", ";" 와 같은 종래의 글자키가 보는 바와 같이 재정의되어 있다. 키 하나에 1개부터 8개 글자까지 할당될 수 있다. 이 실시예는 자음과 하나 또는 그 이상의 자음보다는 모음과 하나 또는 그 이상의 자음을 배치하는 것이 더 바람직하다. 한 단어를 형성하기 위하여 배열된 특정 문자열 내에서, 모음과 자음은 대개 그 위치를 바꿀 수 없어서, 배열의 결과로 동일한 코드의 단어들이 일치하는 경우는 매우 드물다. 또한, 가장 흔히 사용되는 글자들은, 때때로, 쉽게 닿도록 키가 분리되어 있다. 반면, 사용빈도가 적은 글자들은 대개는 하나의 키 또는 키들로 묶어져서 편리하지 않은 위치에 놓여 있는 것이 바람직하다.
도 3은 이중 6-키 구조화에 상응하는 특별히 고안된 키보드 50의 한 예를 나타낸다. 키보드 50은 전체적으로, 글자키 52와 기능키 54를 포함한다. 글자키 52는 키보드 50의 가운데 줄에 있는 반면 기능키 54는 키보드 50의 윗부분 56과 아래 부분 58에 놓여있다. 또한 커서(cursor) 컨트롤러 55와 선택 버튼 57은 키보드 50의 윗부분 56에 따라 놓여있다. 키보드 50은, 예를 들면 키가 활모양으로 배열된 키보드처럼 키가 배열될 수도 있다. 키보드 50은 종래의 방법으로 워드프로세서 컴퓨터 10과 접속한다.
기능키 54는 실행될 모든 기능에 부합될 수 있지만, 기능키 54의 아래 줄에는, 예를 들면, 스페이스 바(SPACE BAR) 60, 탭(TAB) 키 62, 시프트(SHIFT) 키 64 그리고 엔터(ENTER) 키 66이 있는 것이 바람직하다. 기능키 54의 맨 윗줄 56에는 숫자키, 코드키, 커서이동키, 정의가능한 기능키, 두문자키, 백스페에스, 또는 기타 유사한 작동기능을 갖는 키가 위치할 수 있다. 더불어, 키보드 50은 확장 키보드(도 1의 14)와 연결하여 사용될 수 있다. 확장 키보드 14는 키보드 50이 제 공하지 않는 숫자 또는 기능키 54를 제 공한다. 따라서 확장 키보드 14는 선택적으로(option) 전통적인 기능키와 캐릭터 키 전체를 제 공함으로써 특수 키보드 50을 보완하고 있다.
문자키 52는 그룹 68과 70의 두 그룹으로 나뉘어지며, 각 그룹에는 세 개의 키가 있다. 문자 3개는 왼쪽 그룹 68의 각 키 52에 할당되며, 이들 문자는 키 위쪽의 자판이나 덮개(도 3에는 없음) 위에 표시할 수 있지만, 사용자의 손가락이 키 자체에 위치한 문자들을 가리지 않도록 키 위에 인쇄하는 것이 바람직하다. 좌측 키 52에는 A, B, C, D가 있고; 가운데 키 52에는 E, F, G, H가; 우측 키 52에는 I, J, K, L가 있다. 키 52의 우측 그룹 70에는 각각 4 내지 5개의 문자를 표시한다. 좌측 키 52는 M, N, O, P, Q가; 중간 키 52에는 R, S, T, U가; 그리고 우측 키 52에는 V부터 Z까지가 있다.
각 글자키 52는 숫자코드 72에 해당하는 숫자가 배정되어 있는데 키의 우측 아래쪽에 인쇄되어 있다. 이 숫자코드, 또는 입력요소코드의 목적은 이후의 설명을 통해 명확해질 것이다. 키 52의 좌측 그룹 68은 사용자의 왼손으로 사용하고, 우측 그룹 70은 오른손으로 사용하도록 고안된 것이다.
도 2와 도 3에서 보는 바와 같이, 문자들은 전체적으로 문자키 52에 좌측에서 우측으로 알파벳순으로 배열되어 있다. 이러한 배열에 의하여 사용자가 키의위치를 쉽게 배우고 기억할 수가 있으며, 타이핑이 서툰 사용자가 원하는 키를 쉽게 찾을 수도 있다. 그러나 사용빈도에 따라, 적게 사용되는 글자들은 같이 묶어놓거나 자주 사용되는 글자들은 서로 분리시키는, 적절한 방법으로 글자들을 형성시킬 수 있다. 또한, 다른 키의 모음들을 알파벳 순서로 배열하는 방식으로, 문자들을 부분적으로 알파벳 순서로 배열 할 수도 있다. 뿐만 아니라, 하나의 단어코드에 대응하는 단어들의 수를 줄일 수 있도록 문자가 배열될 수도 있다. 더하여, 사용자나 프로그래머가, 자신들이 정한 수 만큼의 키 위 문자들의 위치지정하기 위한 프로그램을 장치할 수도 있다.
더 나아가서 컴퓨터를 설계하여, 사용된 단어를 기록하고 가장 자주 사용된 글자를 알아내고 이러한 내용을 자동적으로 메모리에 순차적으로 입력시키게 할 수 있는데, 이러한 것은 이후의 설명을 통해 명확해질 것이다. 예를 들어, 문자들아 알파벳 순서로 배열되어있다면 “o”는 “n” 또는 “p”와 그룹지어져 있을 것이다. 그러나, “on”과 “no”의 사용빈도가 너무 많기 때문에, “o”는 알파벳순서가 가까운 “p” 또는 “m”와 함께 있는 것이 바람직하다. 더욱이, 사용자가 위치를 기억하는데 도움을 주기 위해 비슷하게 생긴 글자들을 그룹으로 만들 수도 있다. 뿐만 아니라, 추가 키들은 이 키들에 쉽게 접근할 수 있도록 검지손가락 주위에 집중하여 배치할 수도 있다.
또한, 키보드의 숫자가 5 내지 21 문자 키까지, 또는 그이상으로 변화될 수있는 바, 이에 따라 키보드배열도 달라질 수 있으며(참조: 도 22(c), (d) 및 (e)), 이 경우, 각 키들에 할당되는 문자의 수는 1에서 8 또는 그 이상까지 변화될 수 있다. 도 22(c)-(e) 외에도 동일하게 실용 가능한 다른 형태의 키보드 배열이 있을 수 있으며, 사용자에 의하여 설계되거나 컴퓨터프로그램에 의하여 집적될 수도 있다. 아래에서 분명히 알게 되겠지만, 키의 개수가 많아질수록 사용자가 행하는 수정이나 동작 빈도는 줄어들 것이다. 그러나, 키의 개수가 많아지면 타이핑의 속도가 느려지고 배우기가 더 힘들어진다. 반대로 키 개수가 적으면 적을수록 시스템을 배우거나 타이핑하는 것은 더 쉽다. 그러나 더 많은 수정 또는 편집을 해야한다.
도 4(a)에서, 컴퓨터의 내부 메모리 12나 플로피 디스켓에 저장되어 있는 프로그램에 의해 실행되는, 본 발명의 동작을 플로우챠트로써 설명한다. 시스템 100은 단계 102에서 시작하는데 여기에서 시스템이 자동으로 포맷된다. 포맷이 될 때, 각 키는 선정된 키보드 배열에 따라 글자와 숫자코드 72의 특정 세트에 배정이 된다. 예를 들어, 바람직한 기본(디폴트) 키보드 배열은 도 2(a)에서의 8-키 배열, 또는 10-, 또는 12-키 배열이다. 따라서 8개의 입력요소(여기서는 키 52)에는 좌측에서 우측으로 각각, 1부터 8까지 할당된다. 또한, 글자 A, B, C는 각각 숫자 또는 입력요소코드 1에 할당이 되며; 글자 D, E, F는 숫자코드 2에 할당 된다. 이렇게 해서 키보드(도1의 14)에서 글자키 52를 누르면, 이에 해당하는 숫자코드 72가 컴퓨터 10에 의하여 단계 104서 인식이 된다.
8-키 키보드의 표준포맷은 시스템 디자인에 따라 사용자가 바꿀 수 있다. 즉, 이 시스템은 4, 6, 또는 13키를 중 하나를 선택하여 사용자에게 서로 다른 포맷 중에서 하나를 선택할 수 있다는 것을 화면에 표시하여, 사용자가 포맷을 선택하고, 또한, 각 키에 할당된 문자를 선택할 수 있도록 표시되게 할 수 있다. 각 포맷은 자판 또는 덮개 23을 통해 이루어진다.
포맷을 하고 난 후, 타이핑을 할 수 있다. 단어를 입력하기 위해 키를 누르면 이것이 읽힌다(단계 104). 사용자가 입력 완료를 표시하는 키를 누를 때까지(단계 106) 각 키에 관련된 숫자가 읽히고 저장된다. 예를 들어, 만약 입력된 문자가 마침표(punctuation mark), 빈칸(space), 또는 리턴(carriage return)이면, 시스템은 단어의 입력이 완료된 것으로 판단하고 단계 108로 넘어간다. 아니면 시스템은 단계 104로 돌아가서, 다음 키가 입력될 때까지 기다린다.
단어가 입력될 때마다, 누른 키에 해당되는 각 글자를 화면에 표시하는 것이 바람직하다. 예를 들어, 도5에서 보는 바와 같이 키 "1"을 누르면 "ABC"가 횡렬 또는 종렬로 표시된다. 반면에, 아무것도 표시하지 않을 수도 있고 숫자 "1"이 표시될 수도 있다. 또한, "*"이나 다른 문자가 표시될 수도 있다. 이러한 표시기호들은 입력된 단어를 받아들일 것으로 시스템이 결정하거나 사용자가 다른 단어를 입력하기 위해 그 단어를 지울 때에 자동적으로 사라진다.
일단 단어 전체가 입력되면(단계 106), 입력 코드의 숫자값을 메모리 12에 저장된 단어코드 목록과 비교하여 찾는다(단계 108). 여러 가지 숫자코드나 단어코드의 예가, 도 2(a)의 표준 8-키 구조화를 나타내는 표1에 있다. 표1에서 보는 바와 같이, 각 단어코드는 특정한 메모리 위치에 저장되어 있는데 메모리 위치에서는 각각 하나 또는 여러 단어를 포함한 목록이 있다. 단어코드는 하나 또는 다수의 입력요소코드부터 형성된다. 따라서, 사전에 있는 모든 단어는 특별한 코드와 연관이 되어 메모리에 저장되어 있다. 메모리는 어떠한 표준 워드프로세서 사전이나 이와 유사한 시스템으로부터 구조화 될 수 있다
코드 | 최적어 | 단어 |
5-5 | no | |
on | ||
5-5-8 | now | now |
mow | ||
5-5-8-7 | mows |
또한, 사전에 있는 모든 양의 단어보다 적은 분량만을 테이블메모리에 저장할 수 있다. 예를 들면, 업무용 서신이나 학술논문을 작성한다거나 약학, 생화학, 물리학, 적절한 명사, 철학 등 관련분야의 용어가 저장된 메모리 장소를 찾아갈 때 사용되는 한정된 어휘에 상응하는 제한된 범위의 정보를 사용자가 선택할 수도 있다. 줄어든 사전의 분량은 메모리를 검색하는데 드는 시간을 줄이게 할 뿐만 아니라, 필요한 메모리도 작아지게 된다. 이와 같이, 메모리에 보다 적은 코드가 있기 때문에 사용자와 메모리사이의 필요한 상호작용을 줄여 주게되며, 이에 따라, 각 코드는 더욱 적은 수의 단어들과 대응하게 되며, 결국, 타이핑 속도가 빨라질 수 있게 된다.
사용자는 어떤 사전을 사용할 것인가를 선택할 수 있으며, 어느 사전들을 조합하여 사용할 것인가, 또는, 사전 하나만을 사용하거나 통상의 용어만이 기록된 기본적인 사전과 함께 사용할 것인가를 선택할 수 있다. 따라서, 하나의 대조표에서 특정의 단어를 찾을 수 없는 경우 사용자는 검색대상을 다른 사전으로 확장할 수 있다. 또한, 이와 같은 검색은 자동으로 수행될 수 있다. 또한, 사용자는 사용빈도가 높은 단어들의 대조표를 별도로 정의할 수도 있으며, 뿐만 아니라, 이 사전으로부터 특정의 단어들을 추가하거나 제거할 수도 있다.
입력 숫자코드가 메모리 도표에 있으면(단계 108), 시스템은 단계 118로 넘어간다. 단계 118에서, 시스템은 여러 단어가 특정 입력 코드와 연관이 있는지를 결정하기 위해 메모리 위치를 조사한다. 그러나 만약 단계 108에서 단어가 메모리에 없으면 잘못 입력한 단어를 정정할 기회가 주어진다(단계 109). 만약 코드가 잘못 입력되었으면(단계 109) 다시 코드를 입력할 수 있다(단계 104). 필요할 때마다 입력된 코드를 지우고 새로운 코드를 입력하는 것처럼, 표준 워드프로세서 운영에 따라 오타 정정이 실행된다. 정정을 하고 난 후, 시스템은 정정된 단어에 대한 코드가 메모리에 있는지를 결정한다(단계 108).
반면, 타이핑 오류가 없다고 가정하면, 선택한 숫자코드에 해당하는 사전 메모리에 특정한 단어를 추가할 수가 있다(단계 110). 타이핑되는 홈(home) 열 위 및/또는 아래에 표시되는 글자 그룹 가운데 적절한 글자들을 하이라이트시켜 새 단어를 선택한다. 또는, 문자가 스크린의 또 다른 윈도우에 표시될 수도 있다. 문자가 하이라이트되고 상기 윈도우로부터 선택되면, 이들이 홈열로 들어오게 된다.
단어의 모든 글자들이 하이라이트되면 사용자는 "엔터(ENTER)"를 누르고 컴퓨터는 숫자코드에 해당하는 메모리 위치에 새 단어를 저장한다. 사용자가 단어를 메모리에 추가시키면 메모리는 갱신된다(단계112). 그리고 난 뒤, 선택한 단어는 서류에 표시되고(단계114), 시스템은 단계 104로 돌아가서 다음의 입력을 기다린다(단계 117).
한편, 만약 새 단어를 추가하지 않으면 (단계 110) 지시사항이 나타나고(단계 116), 시스템은 다시 다음 키의 입력을 기다린다(단계 117, 104). 지시사항은, 예를 들어, 단어를 찾을 수가 없어 사용자가 오타인지의 여부를 결정하여야 한다거나, 또는, 사용자가 새로운 문자를 정의할 것인가에 대하여 다시 고려하여야 한다는 것이다. 그래서 "check spelling " 또는 "code not recognized"이라는 메세지가 나타날 수 있다. 또는, 메모리에 있는 코드 중에서 가장 가까운 코드에 해당되는 단어를 표시하고, 일치하는 단어를 찾지 못했다고 알려 줄 수도 있다.
입력된 코드와 관련된 단어 하나 이상이 메모리에 저장되어 있음이 단계 108에서 판정되면, 시스템은 단계 118로 넘어간다. 단계 118번에서, 입력된 코드에 관련된 단어 하나만 메모리 위치에 있으면 그 단어가 표시된다(단계120). 표시된 단어가 원하는 것이 아니면 그 단어를 수정(추가 또는 삭제 )할 기회가 있다(단계 122). 위의 단계 110과 마찬가지로, 단어를 메모리에 추가하거나 삭제 하여 메모리를 갱신하고(단계 124), 원래 표시되었던 단어 대신에 새 단어가 표시되며(단계126), 시스템은 단계 127에서 단계 104로 돌아간다. 표시된 단어가 정확하여 단계 122에서 수정되지 않으면 시스템은 단계 127에서 단계 104로 돌아간다.
아래에서 논의되는 것처럼 단계 110, 122, 152에서 메모리에 있는 단어를 수정하는 과정으로 인해 사용자는 통상의 표준 사전에 포함되어 있지 않는 단어를 특별히 정의하기 위해 메모리를 갱신할 수가 있다. 가령 고유명사가 사전 메모리에 없어 특별한 코드로 고유명사를 메모리에 수정 또는 첨가하기를 원할 때도 있다. 그래서 고유명사, 기술용어, 약어 등을 컴퓨터 메모리에 짜 넣을 수가 있다. 단순히 새 단어를 특정 코드와 관련된 메모리 위치에 추가시키는 등의 방법으로, 적절히 프로그래밍하여 이를 실행할 수 있다. 또한 전에 메모리에 써넣은 용어를 나중에 삭제하기 위해 메모리를 수정할 수도 있다.
메모리에 단어가 1개 이상이 있다고 가정하면(단계 118) 모든 단어들이 표시되고(단계 142) 이 단어들 중에서 최적어들은 단어 목록 중에서 먼저 표시된다. 그후 단어를 선택하여 (단계 144) 최적어를 새로 만들거나(단계 148) 코드에 해당하는 메모리위치에 새 단어를 포함시킬 수가 있다(단계 152).
표시된 단어들 가운데 한 단어를 선택하면(단계 144) 선택된 단어가 표시되고(단계 146) 시스템은 다음 문자의 입력을 기다린다(단계 147, 104). 그러나 단어를 선택하지 않고(단계 144) 사용자가 원하는 단어를 새로 만들 수도 있다(단계 148). 단계 148에서, 표시된 단어를 최적어로 정의하여 목록의 맨 위에 또는 특정 위치에 표시하도록 정의할 수 있다. 원하는 단어로 수정되면(단계 148) 메모리가 갱신되고(단계 150) 이 단어가 표시되며(단계 146) 시스템은 다시 단계 104로 돌아간다(단계 147).
최적어는 가장 자주 사용된 용어로서 이전에 사용자가 선택 또는 지정한 단어를 말한다. 또한 미리 정의된 최적어로 시스템을 배열할 수도 있다. 뿐만 아니라, 사용자가 맨 마지막으로 선택한 단어 또는 맨 마지막으로 입력한 코드가 최적어가 되도록 시스템을 배열할 수도 있다. 가령 표1에서 보는 바와 같이 "now"라는 용어를 코드 5-5-8에 해당하는 바람직한 용어로 정의할 수 있다. 이 바람직한 용어가 메모리 표1에서는 분리된 목록으로 나타나 있지만, 단순히 이들을 하나의플래그로 하여 해당 메모리 위치에 다른 단어들과 함께 저장할 수 있다.
마지막으로, 사용자가 단어를 선택하지 않고(단계 144) 최적어 목록을 수정하지 않으면(단계148), 사용자는 그 단어를 수정(삽입 또는 개조)할 수 있다(단계 152). 가령, 위에서 논의한 대로, 표시된 단어들 중에 원하는 단어가 누락될 수 있거나, 입력된 숫자코드에 연관되어질 새 단어를 사용자가 포함시키는 것을 원할 수도 있다. 이러한 경우에 새로운 내용을 반영키 위해 단계 150에서 메모리가 갱신되며 새 단어가 표시된다(단계 146). 그리고 시스템은 단계 104로 돌아가 새 문자가 입력되기를 기다린다(단계 147).
만약 사용자가 단어를 선택하지 않거나(단계 144) 최적어를 새로 만들지 않거나(단계 148) 또는, 단어를 수정하지 않을 경우 (단계 152), 지시사항이 나타난다(단계154). 그리고 시스템은 단계 104로 돌아가며 다음 키를 입력하는 것을 기다리게 된다(단계 147). 예를 들면, 메시지는 “check spelling” 또는 “word was skipped”등을 사용자에게 표시하여 준다.
이제, 도 4(b)로 돌아가서, 도 4(a)의 플로우 챠트에 대한 다른 실시예에 대해 논의하자. 기본적으로 시스템은 도4(a)에 나타난 방법으로 단어 모두를 단어 목록의 맨 위에 최적어와 함께 표시한다. 그러나 도 4(b)에서는 최적어들 목록만 우선 나타나게 한다. 원하는 단어가 바람직한 용어들에 포함되어 있지 않으면, 사용자는 단어 목록 전체를 보는 것을 결정할 수 있다.
따라서, 도 4(b)의 단계 302-327은 도 4(a)의 단계 102-127과 유사하다. 그러나, 단계 318 이후에서는, 사용자는 단지 최적어들만의 목록을 먼저 표시하도록 선택할 수 있다. 그리하여 입력 코드와 연관된 메모리 위치에 저장되어 있는 단어가 한 개 이상이면, 단계 318에서 확인되었듯이 시스템은 최적어들의 목록을 그 다음으로 검색한다(단계 328). 최적어가 메모리에 저장되어 있으면, 시스템은 그 입력 코드와 연관된 최적어들을 나타낸다 (단계 330). "*"이나 특정 메세지가 최적어들과 함께 나타나서 표시된 최적어 이외에 다른 단어들도 이용이 가능하다는 것을 사용자가 알게 된다.
사용자는, 바람직한 용어 목록을 검토하고 난 뒤(단계 330), 모든 단어가 나타나면(단계 342) 단어 목록 모두를 볼 결정을 할 수 있고(단계 332) 사용자에게 이후 논의 될 여러 가지 선택권이 주어진다. 만약 단어 모두가 나타나지 않으면, 여러가지 최적어들이 메모리에 저장되어 있는지를 시스템이 결정하고(단계 334), 만약 그렇다면 사용자는 최적어 중에서 하나를 선택할 수 있다(단계 338). 단어가 선택되면 선택된 단어가 표시되고(단계 336) 시스템은 돌아가 새로운 키가 눌려지는 것을 기다린다 (단계 337, 304). 만약 단어를 선택하지 않으면 메세지가 표시되면서(단계 340) 시스템은 단계 304로 돌아가서 다음 키를 받아들인다(단계 337, 304).
단계 332로 돌아가서, 사용자가 메모리에 저장되어 있는 단어 모두가 표시되도록 선택하거나(단계 332) 처음부터 최적어가 없으면(단계 328) 단어 모두가 표시된다(단계 342). 따라서 해당 메모리 위치에 있는 모든 단어가 모니터 18에 표시된다(단계 342). 일단 단어들이 표시되면(단계 342), 사용자는 단어를 선택하거나(단계 344) 최적어들의 목록을 새로 만들거나(단계 348) 혹은 코드와 일치하는 메모리 위치에 새 단어를 추가할(단계 352) 수 있다.
단계 342부터 354까지는 도 4(a)의 단계 142부터 154까지와 실질적으로 유사하다. 그러나 단계 348에서, 사용자는 표시된 단어를 최적어로 정의하거나, 최적어들의 목록을 보고 수정하거나 새롭게 만들 수 있다(단계 348).
이제, 도 4(a)를 참조하여 도 5에 따른 본 발명의 동작례를 설명한다. 모니터 18에서는 보통 스크린 22에 출력신호가 표시된다. 가령 "Dear Tom, Now is the time for all good men to come to the aid of their country"라는 문장을 입력한다고 가정하자. 컴퓨터가 포맷되고 난 뒤(단계 102) 키로써 2-2-1-5를 눌러서 "Dear"라는 단어를 입력하는데, 이것은 단계 104에서 시스템에 의해 인식된다. 각 키를 누를 때마다, 각 키에 해당되는 문자들이 스크린 22에 표시된다.
문자는 수직으로 서서 홈열 25 위에 표시되는 것이 바람직한데, 이는 중간열로써 표시된다. "홈열"은 현재 타이핑이 진행되고 있는 열을 말한다. 또한 최고의 최적어가 표시되는 열이기도 하다. 만약, 최적어가 없는 경우라면 홈열에 표시되는 단어는 알파벳순으로 맨 앞의 단어나, 코드가 입력된 것들 중 맨 마지막으로 선택된 단어가 최적어가 된다. 홈열 아래에는 낮은 우선순위를 가진 단어들의 목록이 알파벳순으로 표시된다. 홈열 아래에 있는 단어가 선택되면, 그 단어가 홈열로 옮겨지게 된다. 모든 편집이 둘 중 하나의 단어를 선택하는 방식이 될 수 있도록, 문자나 단어들은 수평으로 표시되는 것이 바람직한 바, 특히 편집할 단어의 수가 적은 경우에는 더욱 그러하다.
특정한 키에 할당된 많은 글자들에 대해서는 시스템을 제 한하여 앞 세 글자 또는 네 글자만 표시하도록 사용자가 선택할 수 있다. 다른 글자도 스크롤(scroll) 가능함을 사용자에게 알리기 위해서 "*"이 마련되어 있다. 도 5를 참조하면, 가령 "w"에 대한 키 8을 누르면 "v", "w", "x"가 함께 나타난다. 이때 "*"이 역시 표시되는데, 이것은 다른 글자 "y"와 "z"가 표시되지 않았음을 뜻한다. 물론, 문자가 표시되지 않도록 선택할 수도 있으며, 또한, 원하는 단어가 표시되지 않은 경우 문자가 표시되게 하는 옵션도 있을 수 있다. 따라서, 예를 들어, 메모리에서 어떠한 단어코드도 찾을 수 없는 경우에만 문자가 화면에 표시될 수도 있다. 만약, 단어코드를 메모리에서 찾을 수 있는 경우에는, 사용자가 누르는 개개의 키들에 해당하는 문자들이 아니라, 메모리에서 찾아진 그 단어만이 표시되는 것이다.
코드 5-5-8을 입력하여 "now"라는 단어의 입력을 완료했다고 가정하자. 5-5-8이 입력되면 사용자는 스페이스바 60을 누르는데 이것은 시스템에게 단어입력이 끝났다는 것을 알려주는 것이다(단계 106). 이때 표1에 기재된 것처럼 시스템 100은 메모리를 검색하여 메모리 12에 있는 코드 중 하나와 일치하는 입력 코드 5-5-8을 인식한다(단계 108).
다른 바람직한 실시예로서, 사용자가 각 키를 누를 때마다 숫자코드가 검색되도록 할 수도 있다. 그리하여 사용자가 "N"을 위해 5를 누르면 메모리는 스크롤하여 5로 시작하는 숫자코드 모두를 지나게 된다. 사용자가 그 다음 "o"를 위해 5를 누르면 메모리는 숫자코드 5-5까지 스크롤된다(이때 사용자가 어떤 단어의 입력을 끝내지 않았어도 현재 검색된 단어 "no" 와 "on"이 스크린 22에 표시된다). 그 다음에 사용자가 "w"를 위해 8을 누를 때, 시스템은 단지 약간만 아래로 스크롤해서 이에 해당하는 코드 5-5-8을 찾는다.
단계 118에서의 예를 가지고 계속 설명하면, 코드 5-5-8에 대응하는 단어로서 시스템은 "now"와 "mow"의 두 단어를 인식하게 된다. 이 경우, 시스템이 경고음을 내어 사용자가 문서를 편집하도록 할 수도 있다.
다음으로, 시스템이 스스로 "now"란 단어를 최적어로 결정할 것이다. 그래서 "Now"가 홈열 25에 표시되며 하이라이트된다. 또한 도 5에서 나타난 바와 같이"Mow"는 "now" 아래에 표시된다. 기능선택을 풀다운(pull-down) 메뉴로 선택하는 것처럼 사용자는 모든 단어를 적절한 방법으로 표시할 수 있다. 입력 코드에 해당하는 단어들은 홈열 25에서 시작하여 아래로 표시되는 것이 바람직하다. 사용자는 키보드 14나 50, 마우스 20, 또는 커서 컨트롤러 55에 있는 스크롤키를 사용하여 "Mow"같은 표시 단어중 하나를 스크롤다운해서 하이라이트시킬 수 있다(단계 144). 일단 적절한 단어가 하이라이트되고 사용자가 엔터키를 누르면, 선택된 단어는 스크린 22에 표시되며(단계 146), 그리고 시스템은 처음으로 돌아가 다음 키 입력을 기다린다(단계 147, 104).
아래로 스크롤하는 예는 코드 3-5-5-2에 대해서 도 5에서 보여진다. 코드가 모두 입력되고 난 뒤, "gone"이 홈열 25에 표시된 상태로 "gone", "home", "good" 단어들이 아래 방향으로 배열되어 표시된다. 그러나 도 5에서, 사용자가 "good"을 하이라이트하기 위해 아래로 스크롤하였다. "good"을 일단 하이라이트하고 엔터키를 누르면 "gone"과 "home" 단어는 디스플레이에서 사라진다. 또한 "for all" 단어에서 보인 것처럼 "good"은 하이라이트되지 않고 홈열 25에 표시된다.
물론, 리스트 전체의 단어들 중에서 선택된 단어를 구별하기 위한 방법으로, 원하는 단어에 하이라이하는 것을 대신하여 밑줄을 그어 표시할 수도 있고, 표시 및/또는 선택한 단어에 괄호를 사용할 수도 있으며, 또는, 기타 다른 적당한 방법 또는 조합으로 표시할 수도 있다. 뿐만 아니라, 이상의 예에서 단어들이 수직으로 정렬된 것과는 대조적으로, 수평으로 배열될 수 도 있으며, 또한, 문자가 특정의 윈도우에 표시되어 있어서, 홈열에서 편집과 위치지정이 끝날 때까지 그 원도우에 남아있을 수도 있다.
더하여, 상기 단어들이 홈열 25에 스크롤된 채로 ENTER 키를 누르는 방법으로 단어를 선택할 수도 있다. 또는, 목록에 있는 단어들 중 홈열로 올리고자 하는 단어들의 옆에 있는 번호를 지정하여 선택하는 방법도 있다. 만약, 홈열의 위, 아래 및 홈열에 3개의 단어가 있는 경우라면, 각각, “+”, “-”키를 사용하여 위의 열 또는 아래 열의 단어를 홈열로 이동시킬 수도 있다. 뿐만 아니라, 스크롤키(이 키는 “+”와 “-”사이에 배열하는 것이 바람직하다)를 사용하여 다음 그룹의 세 단어를 한꺼번에 이동시켜, 같은 형태로 표시되게 할 수도 있다. 또한, 선택된 단어들을 화면상의 다른 특정한 윈도우로 이동시켜 표시할 수도 있다.
더 나아가서, 사용자가 새 단어(또는, 스펠링 실수로 인하여 메모리에 단어코드가 없는 경우)를 메모리에 추가할 수 있다(단계 152). 가령, 도 5에서 나타낸 바와 같이 "Tom"이라는 자신의 이름을 위해 코드 7-5-5를 입력한다고 하자. 표준 사전 메모리에는 고유명사인 Tom이라는 단어가 없을 수도 있지만 "Ton"과 "Son"을 포함한 다른 단어는 있다. 위에서 언급한 것처럼, 그에 대응하는 각각의 키들을 누르면 코드 7-5-5에 대한 모든 단어들이 스크린 22에 나타난다. 또한, 바람직한 용어가 없는 상태에서도 "ton"과 "son" 단어 또한 스크린 22에 나타난다. 도 5에서 보는 바와 같이, 새 단어를 정의하기 위해서는 기능키를 눌러 모든 문자를 표시하는 옵션을 실행한 다음, "Tom"이라는 새 단어를 형성하는데 쓰이는 문자들을 수직으로 스크롤링하여 홈열 25로 이동시키거나 커서를 움직이고 클릭하여 하이라이트할 수 있다.
일단 모든 글자들이 하이라이트되면 엔터키를 누르고 홈열 25에 단어가 표시되며(단계 114), 다른 글자들과 나머지 단어들은 화면에서 사라진다. 물론, 개개의 문자를 하이라이트하기 보다는, 표준 26-키 키보드 배열로 바꾸어(위에서 설명한 바와 같이) 단어를 직접 타이핑할 수도 있다. 더하여, 밑줄을 그어 표시할 수도 있고, 괄호를 사용할 수도 있으며, 기타 다른 적당한 방법 또는 조합으로 표시하여 선택된 문자를 구별할 수도 있다. 또한, 단어들을 수직으로 정렬하지 않고, 수평으로 배열될 수 도 있다.
그럼에도 불구하고, 일단 단어가 선택되어 만들어지면, 시스템이 새롭게 갱신되어(단계 150), 숫자코드 7-5-5에 해당하는 메모리 위치에 "Tom"이라는 새로운 단어가 저장되게 된다(이렇게 되면 해당 단어가 메모리에 없다는 메시지가 표시되지 않게 된다). 이후, 시스템은 다음의 키가 눌러지기를 기다리는 단계 104로 돌아가게 된다. 일단, 사용자가 타이핑을 마치면, 문서를 프린터 16으로 출력하거나, 디스크에 문서를 저장할 수 있으며, 기타 통상적인 워드프로세싱시스템의 작업을 할 수 있다.
도 6에는 본 발명의 다른 실시예에 의거한 플로우 차트가 있다. 도 6이 도 4(a)와 다른 점은, 마지막으로 표시될 단어를 선택해야 하기 전에 사용자가 문장, 절, 페이지, 또는 서류 전체를 끝낼 수 있도록 한다는 것이다. 또한 최적어들이 도 4(b)에서 보는 바와 같이 모든 단어군과 연결되어 표시된다. 이리하여 최적어들의 목록만 표시하는 대신에, 시스템은 이제 리스트의 맨 위에 놓여진 최적어들과 함께 단어 모두를 표시한다. 긴 목록은 적절한 방법으로 스크롤할 수가 있다.
도 4(a) 및 4(b)에서, 시스템 자체를 포맷하고(단계 202) 키를 읽으면서 시작한다(단계 204). 한 단어 전체가 입력된 후 (단계 206) 시스템은 메모리에 있는 그 코드를 조사한다(단계 208). 입력된 코드가 메모리에 없으면 (단계 208) 메세지가 나타나거나, 단어를 찾지 못했다는 것을 알리기 위해 코드가 표시되고(단계 210) 하이라이트된다. 만약 그 코드가 있고(단계 208) 단어가 하나 뿐이면(단계 212) 그 단어가 표시된다(단계214). 메모리에 단어가 하나 이상 있다고 가정하면, 최적어가 홈열에 있고 다른 단어가 위/아래에 배열된 상태로 모든 단어가 표시된다(단계 216). 그러나 여기서 한 단어는 단계 216에서 반드시 표시되기 때문에 단어 하나 이상을 조사하는 단계(단계 212)를 생략할 수 있다.
코드와 단어, 또는 단어들이 단계 210, 214, 또는 216에서 표시된 후 시스템은 서류를 편집 또는 확인할 것인지를 결정할 것이다(단계 218). 여기에서 한 줄의 문구, 절, 또는 페이지를 입력하고 난 뒤 서류 전체를 편집하는 선택을 할 수 있으며, 시스템은 적당한 시간 간격으로 사용자에게 알려준다. 따라서 줄, 문장, 또는 절이 입력된 후, 시스템은 자동적으로 그 줄로 다시 가서 편집하라고 사용자에게 알려준다. 그러나 사용자는 계속해서 입력을 하고 나중에 서류를 편집할 수 있다. 문서를 연속적으로 편집하는 과정에서, 메모리에 오직 하나의 단어만을 가진 모든 단어코드들을 건너뛰면서, 편집이 필요한 한 단어에서 다음 단어로 자동적으로 편집이 진행된다. 또는, 사용자가 TAB키 또는 기타 다른 기능키를 사용하여, 편집할 필요가 없는 단어는 모두 건너 뛰고 편집되어야 할 단어들만 차례로 나타나게 할 수도 있다.
사용자는 디스플레이에 표시된 복수의 문자들 및/또는 단어들 중에서 선택하기 위하여 “+”, “-” 또는 “O”키를 사용하는 옵션을 이용할 수도 있다. 예를 들어, 타이핑된 단어코드에 대응하여 스크린 상에 표시된 9개의 단어들 중에서 사용자가 선택하여야 할 경우를 가정하여라. 홈열 위 및 아래 모두에 단어코드들이 표시되며, 홈열을 중심으로집중되어 있게 된다(최적어가 홈열에 표시되고, 나머지 단어들은 알파벳순이나 중요도의 순으로 배열됨). 표시된 단어들 중 일부를 한정하여 홈열로 옮기기 위하여 “+”키를 치게되면(여기서는 맨 위의 다섯 단어), 나머지 단어들은 화면에서 사라지게 된다. 이렇게 하면, 디스플레이된 다섯 단어가 홈열에 집중되며, 만약, 홈열 아래의 단어들이 사용자가 원하는 단어가 있는 경우, 다시 홈열 아래에 디스플레인 된 단어들을 선택하기 위하여 “-”키를 누르면 된다. 만약 화면이 세 개의 단어로 좁아지게 되면, “+” 및 “-”키는 홈열의 위 또는 아래의 단어만을 선택하게 된다. 물론, 홈열의 단어는 엔터키를 치거나 사용자가 타이핑을 계속하는 방법으로 선택할 수 있다.
더하여, 아홉 개의 단어중 세 개의 단어만을 동시에 디스플레이 할 수 있도록 시스템을 배열할 수도 있으며, 이 경우, “+” 및 “-”키를 이용하여 홈열 위, 아래의 단어를 각각 선택하며, “O”키는 다음의 세 단어를 스크롤할 때에 사용된다. 또한, 사용자가 원하는 단어를 선택하기 위하여 단어 다음의 번호를 직접 입력할 수도 있으며, 커서를 사용하여 원하는 단어를 선택할 수 있음은 물론이다.
또한, 문서를 편집하는 도중, 아무때나 서류를 편집하는 선택을 할 수 있다. 서류가 편집되지 않는 한, 시스템은 단계 204로 돌아가서 다음 키의 입력을 기다린다. 따라서 시스템은 서류가 확인될 때까지 다른 단어나 글자들을 표시한다.
일단 서류가 편집되면, 시스템은 단계 220으로 나아간다. 여기에서 시스템은 메모리에 단어 하나 이상이 있는 각 입력 코드를 거쳐서 진행한다. 단어가 하나 밖에 없으면 서류 문구에 단어가 받아들여져 서류의 문구로서 표시된다. 단어가 하나 이상 있다면 시스템은 최적어들을 먼저 목록에 나타나게 하면서 단어 목록을 표시한다. 그리고 난 뒤 시스템은 단어를 선택하거나 새 단어를 사전에 입력하거나 또는 최적어를 선택하라고 사용자에게 알려준다. 이 과정은 앞서 논의된 것 처럼 도4(a)의 단계 118부터 147까지의 단계와 유사하다.
최고의 최적어가 홈열에 디스플레이되며, 나머지 최적어들은 우선순위에 따라 디스플레이된다. 우선순위는 사용자가 마리 정의할 수도 있으며, 시스템에 미리 지정되어 있을 수도 있다. 이것은 사용자가 단어 목록에 우선순위를 배정하므로써 실행된다. 아니면 시스템이 미리 우선순위를 정의할 수 있다. 순위가 매겨지지 않은 단어들은 우선순위가 높은 단어들 아래에 알파벳 순으로 역시 표시된다.
최고 우선순위을 가진 용어들은 홈열 25에 표시된다. 사용자는 이때 아래로 스크롤해서(만약, 단어가 홈열 위에 있는 경우에는 위로 스크롤하여) 선택할 용어에 하이라이트할 수 있다. 그러나 만약 홈열 25에 있는 단어를 선택하지 않으면(타이핑을 계속하는 경우와 같이) 최적어가 서류의 문구에 나타나게 된다. 나아가서 시스템을 체계화시켜 하이라이트된 모든 단어들을 한번에 사용자가 선택할 수 있도록 할 수 있다. 위에서 논의된 바와 같이 첫 최적어가 사용자의 선택에 의해 하이라이트되며, 각 단어마다 엔터를 누르지 않고도 원하는 단어를 하이라이트하기 위해 아래로 스크롤하여 다른 단어를 선택할 수 있다. 만약 최적어가 없으며, 홈열 25에 위치한 첫 단어가 기본적으로 하이라이트된다.
발명의 모든 작동 단계는 주지된 프로그램 기술에 따라 실행된다. 가령, 단어가 없다고 알리는 단계(단계 110, 122, 152), 최적어를 선택하는 단계(단계148), 또는 키보드 설정을 수정하는 단계는 팝업(pop-up) 메뉴나 디스플레이 윈도우를 사용하는 것처럼 주지의 프로그램 기술적 방법에 의해 실행된다.
이러한 방식으로 키보드 구조를 선택하거나 새 단어를 메모리에 삽입하는 것과 같은 사용자가 사용할 수 있는 모든 기능은 풀다운(pull-down) 메뉴나 디스플레이 윈도우에 의해 실행될 수 있으며, 이러한 것은 발명의 작동 도중 어느 때라도 혹은 선택된 시간 중에만 사용 할 수가 있다. 메모리를 갱신하는(단계 124, 150) 것과 같은 다른 작동 역시 주지의 프로그램 방법에 의해 실행되며, 이러한 예는 아래에서 논의된다.
윈도우를 사용하여 본 발명을 실행하는 예는 도 6에 나타낸 동작흐름과 함께 도 7에서 나타내었다. 메모리에 없는 새 단어를 입력하는 것처럼, 사용자가 사용가능한 기능 가운데서 하나를 선택하고, 새로운 키보드 설정을 선택하고, 최적어를 새로 만들고, 서류를 편집하는 등의 기능을 디스플레이 윈도우 방식으로 실행된다. 또한 가장 바람직한 용어가 먼저 리스트되고 하이라이트되면서 글자와 단어들이 윈도우에 표시된다. 그리고 난 뒤 덜 우선적이고 순위가 낮은 단어들은 가장 최적어 밑에 표시된다. 그러나 최적어가 사용자의 선택에 따라 반드시 하이라이트될 필요는 없다.
일단 단어가 선택되면 도 7에서의 “time”에서와 같이 윈도우는 사라지고그 단어가 서류 문구에 나타난다. 단어들을 선택하는 다른 방법으로서, 각 단어나 문자가(새로운 단어를 정의하는 경우) 번호 옆에 표시될 수도 있다(미도시). 그리고 난 뒤 사용자는 원하는 단어 옆에 표시된 숫자를 눌러 단어를 선택할 수 있다. 그리고 나서, 사용자는 한손으로 타이핑하며, 다른 손으로는 편집, 단어나 문자의 선택 또는 시스템 작동 등의 다른 작업을 수행할 수 있다.
도 8-20에는 여러가지 다양한 키보드 구조의 다른 실시예들이 나타나 있다. 이러한 구조는 시스템에 미리 프로그램되거나 사용자가 지정할 수 있다. 도 8-10에는 양손용 키보드배열의 예가 나타나 있고, 도 11-20에는 한손용 키보드배열의 일반적인 예가 나타나 있다. 이런 실시예에서는 사용자가 각 키에 손가락을 올려놓음으로써 손가락과 손을 덜 움직이게 하여 피로를 덜해준다.
14-키 키보드(키 12는 반복적이기 때문임)에 해당하는 도 10의 키보드배열을 "Now is the time for all good men to come to the aid of their country"라는 문장을 사용하여 테스트하였다. "aid"라는 단어만 사용자가 편집할 필요가 있었고 그 나머지는 입력된 코드에 대한 단어이기 때문에 편집할 필요가 없는 것을 알았다. 이리하여 키를 누르는 회수가 표준 26키에서 14키로 편집 회수와 함께 상당히 감소되었다.
키가 4개보다 적으면 도 12에서처럼 사용자는 항상 손가락 4개를 각 키에 올려놓을 수가 있다. 아니면 도 11에서처럼 사용자는 손가락 하나에 키 2개를 배정하여 두 손가락을 사용할 수 있다. 키가 5개부터 9개까지인 경우에는 도 13의 배열에서처럼 각 손가락마다 2개 내지 3개의 키를 사용하고 한 손에 세 손가락을 사용하는 선택을 할 수 있다. 도 13에서처럼 키가 12개인 경우에 사용자는 한 손의 손가락 4개를 사용할 수 있다. 이렇게 손가락 동작을 줄여 피로를 최소화하도록 키보드를 배열한다.
종래의 컴퓨터 모니터 18의 터치스크린 22로 구현되는 것처럼, 도 21에는 또 다른 실시예가 나타나 있다. 키 표시 80은, 원형이나 육각형 등의 다른 적당한 형태도 가능하나, 팔각형 형태로 모니터 18에 표시된다. 문자와 문자코드들은 수동 키보드에서 처럼 각 키 표시에 할당된다.
사용자는 팔각형 가운데 있는 포인터(도면에 없음)를 스크린 22 바깥쪽으로 움직여 키 표시 80 중 하나인 곳으로 민다. 이 동작은 일반적으로 화살표 82에 상응하여 나타난다. 포인터가 키 표시에 들어감으로써 키가 활성화된다. 그 키에 해당되는 글자들이 선택되고 사용자는 포인터를 팔각형의 가운데 위치로 되돌려 놓는다. 이러한 터치스크린 시스템은 특히 신체 장애자에게 적당하고 포인터로부터 방출되는 빛에 응하는 그러한 적당한 입력장치로부터의 입력을 인식하도록 배열할 수 있다.
상기의 키보드 배열을 이용하여 “기록”기술이 가능하게 되었다. 방향, 방향전환, 및, 원하는 경우, 스트로크 길이를 인식할 수 있는 특수한 기록장치 및/또는 자판을 이용한 기법들은 잘 알려져 있다. 원형의 장치, 장치의 길이 또는 키를 누르는 것 등에 의하여 동일한 문자가 계속하여 사용되는 것을 표시할 수 있다. 6-키 키보드를 이용하는 경우, 다음의 방법이 사용될 수 있다:
(a) 사용자가 펜을 움직여 6개의 방향중 한 방향으로 움직인 다음, 스트로크가 끝나면 펜을 들어올린다.
이 방향은 아래와 같다:
(1) 좌측 대각선 위
(2) 우측 대각선 위
(3) 좌측 대각선 아래
(4) 우측 대각선 아래
(5) 수직 위
(6) 수직 아래
(b) 단어의 끝까지 펜이 접촉을 유지하고, 펜이 들어올려지는 때에 스페이스 바가 활성화된다. 스트로크의 방향은 상기 (a)에서 표시된 바와 같다.
동일한 키가 한 열에서 두 번 또는 그 이상이 눌러지는지에 대하여 컴퓨터가 이를 인식할 수 있어야 한다. 이를 위한 몇 개의 방법이 있는 바, 이들은 다음과 같다: (ⅰ) 별도의 활성화란 표시를 하기 위하여 펜에 위치한 키를 검지손가락으로치는 방법, (ⅱ) 상기 “펜”을 쥐고있지 않은 손의 손가락으로 특정한 버튼을 누르는 방법. 이 키는 자판의 위나 기타 다른 곳에 있을 수 있다. 다음 문자가 동일한 키에 있으면 상기 (a)에서와 같은 방법으로 키를 치거나, 또는 상기 키(버튼)을 누른다. 또는, (ⅲ) 상기 (a)에 표시된 방향과 다른 방향으로 펜을 움직이는 방법, 즉, 키들에 대한 첫 번째 반복의 표시로 수평으로 움직이는 방법, 또는 다음 문자가 동일한 키에 있는 경우에는 상기 (a)에서와 같이 펜을 움직이는 방법.
상기 입력코드는 각 기호가 하나의 스트로크를 표시하며, 광학적으로 읽을 수 있는 육필의 기호일 수 있으며, 이러한 육필의 기호로 된 입력이 컴퓨터로 기호들의 형상을 이송하는 철필 및/또는 자판으로부터 올 수 있다; 즉, 방향, 방향전환 및 스트로크의 길이를 인식할 수 있다. 문자들의 분류는 문자들의 형태가 공통으로 가지는 특징을 기초로 하는 것이 바람직하다.
표 2에서 보이는 바와 같이, 첫 번째 행의 문자들은 두 번째 행에 있는 기호의 형태와 공통의 특징을 가지고 있기 때문에, 기억하기가 쉽다. 표 2는 오로지 예시적인 것일 뿐으로, 다양한 변화가 가능하다.
1 행 2 행 3 행a, c, g, q “⊂” “⊂”, “⊃”b, d, h, I, k, t “|” 방향; “↑” 및 “↓”e, p, r, s “/” 방향; “↗” 및 “↙”m. n “∩” “∩”, “∪”u, v, w, x, y “\” 방향; “↘” 및 “↖”o, z, f, j, l “- ” 방향; “→” 및 “←” |
기호 1 세트 2 세트 3 세트“⊂”, “⊃” a, c, g, q a, c, g, q, d a, c, g, d“|”, “↑” 또는 “↓” b, d, h, i, k, t b, h, i, k, t i, k, t“/”, “↗” 또는 “↙” e, r, s, p e, r, s, p e, r, s, p“∩”, “∪” m, n m, n, u m, n, u, h“\”, “↘” 또는 “↖” u, v, w, x, y, z v, w, x, y v, w, x, y“- ”, “→” 또는 “←” o, z, f, j, l o, z, f o, z, b“┌”, “└”, “┐”,“┛” f, j, l j, l f, j, l |
표 2a 및 2b의 경우에, 2행 및 1행의 기호가 각각 1행, 및 1, 2, 3 세트보다 자판에 입력하기가 단순하고, 짧고, 빠르다. 따라서, 알파벳의 26개 문자가 6개 내지 16개의 기호로 나타내어질 수 있다. 물론, 문자 “t”를 대신하여 “-”기호, 문자 “h”를 대신하여 “∩”기호, 문자 “d”를 대신하여 “⊂”기호, 또는 문자 f, j 및 l 를 대신하여 “┌”기호를 사용하는 것과 같이 기호를 사용하는 것에는 다양한 선택이 있을 수 있다.
또한, 많은 기호들이 문자들을 나타내기 위하여 사용될 수 있으며, 적거나많은 기호들이 사용될 수 있다. (1) 각 문자의 마지막에서 평판으로부터 철필을 올려, 특수한 기호를 사용하거나 키를 눌러 단어의 마지막을 표시하거나, 또는 (2) 단어의 마지막 까지 철필과 철필과의 접촉상태를 유지하 다음, 철필을 들어 단어사이의 공백을 만들라는 신호를 보낸다. 또한, 만약 철심이 평판과 접촉한 상태라면, 어디에부터 하나의 신호가 끝나고 다음 신호가 시작되는지를 식별하기 위하여 연속적으로 사용되는 특정한 스트로크의 방향을 반대로 할 필요가 있다. 따라서, “|”를 아래로 친 다음, 위로 반복하고 다시 아래로 반복하면 “bit”라는 단어가 써지게 된다. 반면에, 각 기호 뒤에 철필을 올리면 “bit”라는 단어는 “|||”로 씌여진다.
또한, 거울상 위치나 위아래 위치는, “fina” 따위의 단어와 같이 특정의 기호를 위해서 사용될 수도 있다. 따라서, 윗방향 키를 친 후, 아래로 움직이면, “∩”기호가 얻어지고, 결과적으로 동일한 문자 세트를 나타내는 “∪”가 나타나게 된다. 기호 “┌”에 대해서도 동일한 동작을 반복할 수 있으며, 이 경우 그 결과는 “└”기호가 된다. 따라서, 이와 같이 손으로 쓴 기호로부터 입력은 컴퓨터에 기호의 모양을 전달하는 철필 및/또는 평판으로부터 온다. 기호들은 해당되는 문자의 일반적인 형태에 따라 선택되며, 그 예로서는 다음과 같은 것들이 있다: “⊂”와 “abcd”; “\”와 “efvwx”; “- ”와 “ghijkl ”; “∩”와 “mno”; “⊃”와 “pqr”; “∪”와 “tu”; 및, “/”와 “yzs”. 이들 문자들을 분류하는 데에는 알파벳 순서 및/또는 문자들이 공통으로 가지는 형태상의 특징들을 기초로 하였다. 다른 방향의 키(표2의 화살표들), 거울상 키들을 사용하는 경우 최소한 16개의 “기호”들을 이용할 수 있다는 것을 3행에서 확인할 수 있다. “┌” 기호의 경우 비슷한 기호들은 “└”,“┐”, 및 “┛”이다.
통일한 키에 둘 이상의 문자를 배치시켜서 키보드 위의 키들의 수를 줄일수 있다. 이 경우, 문자들의 위치를 사용자가 기억하기도 쉽다. 또한, 키들의 수가 적기 때문에 서로 키들이 서로 가깝게 있다. 따라서, 손과 손가락이 키에 도달하기 위하여 필요한 움직임이 줄어들게 되므로, 타이핑의 속도가 빨라지고, 사용자 느끼는 피로도 줄일 수 있다.
그러나, 동일한 키에 둘 이상의 문자를 배치하는 것은, 결과적으로 단어코드들이 둘 이상의 단어에 대응되게 된다. 예를 들어, 만약 “B”와 “M”이 동일한 키에 할당되면, “berry”와 “merry”라는 단어가 동일한 단어코드를 가지게 된다. 이 경우 시스템은 두 단어 모두를 표시하게 되고, 사용자는 원하는 단어를 선택하여 문서를 편집하여야 한다. 이 편집 단계는 타이핑 속도를 늦출 수 있는 바, 키보드 상에서 결합되는 문자들을 현명하게 선택함으로써, 상기 편집양을 줄일 수 있다.
두 문자들의 조합이 하나의 키에 배치됨으로 인한 둘 이상의 단어들과 대응되는 단어코드들의 수와, 각 하나 씩의 문자를 갖는 나머지 24개의 키들에 대하여, 문자들의 조합빈도를 여기서는 빈도(frequency) #1, 또는 F#1이라 부르기로 한다.각 문자조합의 F#1 값으로부터, 편집량을 최소화 하기 위하여 어떤 문자들이 키보드 위에 조합되어야 하는지를 선택할 때 필요한 정보를 얻을 수 있다. 이 정보를 얻기 위해서 다음의 절차가 이용된다. 먼저, 키보드 상의 키에 먼저 두개의 문자를 할당한 다음, 남은 24개의 키에 나머지 24개의 문자를 하나씩 할당한다. 그 다음, 각 키에 입력요소를 하나씩 할당하여, 24개의 입력요소에 각 하나씩의 문자에 대응시키고, 하나의 입력요소에는 2개의 문자를 대응시킨다. 마지막으로, 이들 입력요소코드들을 21,110 단어의 사전에 있는 각 단어의 문자들에 할당하면, 이에 따라, 각 단어에 대응되는 단어코드가 생성되게 된다.
둘 또는 그 이상의 단어들이 할당된 단어코드들은 할당된 단어들 함께 번호순서로 분류되어, 단어코드들이 단어코드들과 함께 리스트된다. 도 22(a) 및 22(b)에서와 같이, 둘 또는 그 이상의 단어가 할당된 단어코드들의 수를 세어, 그 값을 F#1 값으로 하였다. 두 알파벳 문자들의 각 조합에 대하여 이 과정이 반복되어 그 결과를 도 22(a) 및 22(b)에 나타내었다. 각 알파벳 문자들이 첫번째 열과 첫번째 행에 리스트 되어 있다.
예를 들어, 단일 키 상에서 E와 F의 조합에 대하여 둘 이상의 단어가 할당된 단어코드들의 수는, 첫번째 열의 E가 위치한 행이, 첫번째 행의 F가 위치한 열과 만나는 곳까지 스캐닝하여 가는 방법으로 찾을 수 있다. 이렇게 하여 E-F 조합에 의한 단어코드가 11개가 있고, 각 단어코드에는 두개의 단어가 대응되는 바, 전부하여 22개의 단어들이 있음이 확인된다. 이들 22개의 단어들은 다음과 같다: (1) ear, far, (2) east, fact, (3) eat, fat, (4) eight, fight, (5) fief, fife, (6) chafe, chaff, (7) hale, half, (8) lief, life, (9) sere, serf, (10)scare, scarf, (11) sure, surf.
또한, 둘 이상의 단어가 할당된 단어코드들 둥에서 99% 이상이 두 단어에 대응되고, 단지, 약 1%의 단어만이 세 단어 또는 그 이상의 단에에 대응되는 단어코드 들임을 확인할 수 있다. “EJ”, “OV”, “BI”, “AZ” 및 “FI”와 같은 문자들의 특정한 조합은 둘 이상의 단어에 대응되는 단어코드들이 매우 적어, 다시 말하자면, 작은 F#1 값을 가진다. 키들과 문자들과의 조합에 대한 선택은 F#1 값이 작은 문자들의 조합으로부터 만들어지는 것이 바람직하다. 0 내지 32의 낮은 F#1 값을 갖는 문자 조합들은, 상기 선택과 키 위의 문자들의 배열을 도와주기 위하여 F#1 값에 따라 하나의 차트로 구성될 수 있다.
낮은 F#1 값을 갖는 문자들의 조합들은 많은 경우 알파벳순이나, 또는 거의 알파벳순서와 유사한 순서임을 확인할 수 있다. 따라서, 낮은 F#1 값을 갖는 경우에, 키들 위의 문자들을 알파벳 순서로 배열하는 것이 가능하며, 이 경우, 알파벳순서는 편집이 많이 필요 없이 사용될 수 있다. 이러한 문자 조합들에는, “AB”, “EF”, “HI”, “IJ”, “IJK”,“JK”, “MO”, “NO”, “OP”, “PQ”, “QR”, “SU”, “TU”, “UV”, “UW”,“UX”, “VW”, “WX” 및 “YZ” 등이 있다. 이들 조합들의 대부분이 모음과 자음을 가지고 있음을 확인할 수 있다. 이 결과는 단어를 이루기 위하여 주어진 문자들의 순서에서 모음과 자음이 대개는 서로 위치를 바꿀 수 없는 데에서 기인한다. 뿐만 아니라, “NR”, “RT”, “RP”, “LR”, “TN”, “NL”, “DT”, “TL”, “PT”, “TS”, “RD” 및 “RL”등과 같이 자음과 자음의 각 조합들은 높은 F#1 값을 갖지 않게 된다는 것도 확인할 수 있다.
도 22(a)-(b)의 정보로부터, 2-키 내지 21-키까지의 다양한 키보드 배열이 제작될 수 있다. 예를 들어, 5-키와 21-키를 구비한 키보드들의 예를 도 22(c)-(d)에서 볼 수 있다. 도 22(c)-(d)의 각 부분들은 키보드 위의 키를 나타낸다. 각 키들은 하나 내지 여섯 개의 문자들이 할당되어 있다. 예를 들어, 8개의 키로 구성된 키보드에는 세 개의 문자가 할당된 키 6개, 네 개의 문자가 할당된 키 2개를 구비되어 있다. 각 문자에는 문자가 할당된 키의 입력요소코드가 할당되어 있다. 또한, 각 문자의 입력요소코드는, 사전에 있는 단어의 문자들에 할당되어 있다. 예를 들어, 문자 ABC가 할당되어 있는 키가 코드 1을 갖는 다면, 사전에서 A, B 또는 C가 나타날 때마다 코드 1이 문자에 할당되게 된다. 그 결과로, 21,100 단어 사전의 각 단어가 단어코드에 할당되어 있다. 그리하여, 둘 또는 그 이상의 단어를 가진 단어코드들은, 단어코드에 할당된 단어들의 숫자순서로 분류되어진다.
둘 또는 그 이상의 단어가 할당된 단어코드들의 수를 합하여, 도 22(c)-(d)의 빈도 #2, 또는 F#2로 표시하였다. 이 합은, 각 키보드 배열에 대하여 둘 이상의 단어에 대응되는 단어코드들에 대응되는 단어 수의 합으로, 빈도 3, 또는 F#3으로 표시하였다. 도 22(c)-(d)에서, 문자들이 할당된 키들의 수는 4 내지 21까지의 범위이다. 20개의 키가 배열된 키보드에는 두 개의 문자가 할당된 키가 4개, 3개의 문자가 할당된 키가 하나, 그리고 하나의 문자가 할당된 키 16개가 구비되어 있다. F#2 값이 F#1 값보다 큰 바, 이는 F#1 값이 단일 키와 조합된 두 개의 문자와, 하나의 문자가 하나씩 할당되는 나머지 24개의 문자에 기초하기 때문이다. 반면, F#2 값은, 동일한 키에 할당된 두 개의 문자이상을 갖는 배열을 포함하기 때문에 F#1 값보다 넓다.
다음 예에서, F#1에서 F#2 까지, 동일한 단어코드에 할당된 단어들의 수가 증가됨을 확인할 수 있다. 다음과 같은 문자와 코드들의 조합을 가정해보자: G-1, E-2, N-3, R-4, O-5, I-6. 그러면, “goner”에 해당하는 단어코드는 15324가 되고, “inner”에 해당하는 단어코드는 63324가 된다. 만약, 문자“I”를 문자“G”와 동일한 키에 할당하면(두 문자 모두 코드 1을 갖게 된다), “inner”에 해당하는 단어코드는 13324가 된다. 따라서, 두 단어에 해당하는 두 코드는 여전히 다르다. 그러나, 만약, 문자“N”이 문자 “O”와 동일한 키에 할당된다면(두 문자는 코드 3을 갖게 된다), “goner”에 해당하는 단어코드가 13324가 된다. 따라서, 두 단어는 이제 동일한 단어코드를 갖게 되고, F#2 값이 F#1 값보다 커지게 된다. F#1 값에 의하여 F#2 값의 최소값을 알 수 있게되며, 이 때문에, F#1 값은F#2 값의 최초의 유력한 표지가 된다. 도 22(d)에서 다양한 키보드들의 F#1 값과 F#2 값을 확인할 수 있다.
14-키 또는 그 이상의 키보드가 있는 키보드에서, F#3 값은 F#2 값의 거의 두 배인 바, 이는, 하나의 단어코드에 대하여 오직 두 개의 단어 중에서 하나의 단어를 선택하기만 하면 편집이 가능하기 때문이다. 키들의 수가 줄어들면, 보다 많은 키들이 둘 또는 그 이상의 문자를 할당받게 되며, 셋 또는 그 이상의 단어들이 할당된 단어코드들의 수도 증가한다. 따라서, 8-키 키보드의 경우, 단어코드 하나마다 약 2.33 단어가 대응되게 된다.
도 22(c)-22(d)에서 보는 바와 같이, 복수의 키가 둘 또는 그 이상의 문자들에 할당된다. 8개 내지 21개의 키를 갖는 16개의 다른 키보드들이 유도되었다. 둘 또는 그 이상의 문자에 대응되는 키들의 수가 증가함에 따라, 둘 또는 그 이상의 단어에 대응하는 단어코드의 수도 증가하게 된다. 예를 들어, 만약 C와 D가 동일한 키에 결합되고, 다른 모든 문자들이 할당된 문자가 하나씩이라면, “calf”라는 단어와 “dale”이라는 단어가 동일한 단어코드를 갖지 않는다. A가 입력요소코드 1이고; C, D가 2이며; L이 3이고; E가 4이며; 및, F가 5라고 가정하면, “calf”라는 단어는 단어코드 2134에 해당하게 된다. 그러나, 만약, 문자 F와 E가 동일한 입력요소코드 5에 할당되면, 두 단어는 동일한 단어코드 즉. 2135를 갖게 된다.
도 22(c)-(d)의 키보드 배열은, 문자들의 알파벳순서를 실제적으로 기억한다는 점에서 중요한 바람직한 실시예이다. 실제적으로 알파벳 순서로 배열된 키보드를 얻기 위해서는, 각 문자들이 동일한 또는 키, 또는 알파벳순서로 가까운 문자들이 인접한 키들로 모여져야 한다. 따라서, 예를 들면, 문자 “J”는 문자 “K” 및/또는“L”과 동일한 키 또는 인접한 키에 있어야 한다. 알파벳 순서 또는 부분적인 알파벳 순서를 사용하면, 문자들의 위치를 기억하는 것이 용이하여진다. 키보드 상에 문자들을 배열하는 또 다른 기준으로서는 둘 이상의 단어를 갖는 단어코드들의 수와, 동일한 단어코드와 함께 통상적으로 사용되는 단어들이나 어구(“-tion”, “-ing” 및 “the”와 같은 것들)들의 빈도가 있다. 알파벳 순서로 배열하지 않는 경우에는 보다 다양한 키보드 배열이 가능할 것이다.
예를 들어, 전체 F#1이 값이 412개의 둘 이상의 단어에 대응하는 단어코드들인 11키 키보드배열을 생각해 보라. 첫 번째 키는 문자 “A”와 “B”를 가지고 있는 바, 둘 이상의 단어에 대응되는 단어코드들의 예가 12번이 있도록 결정되어 있다. 같은 방식으로 표의 아래로 내려가면, 두 번째 키, “CD”는 70개, “EF”는 11개, “GHI”는 42개, “JKL”은 87개, “MNO”는 109개, “PQR”은 0개, “SYZ”는 38개, “TU”는 8개, 그리고, “VWX”는 35개, 총계 412개의 둘 이상의 단어에 대응되는 단어코드들을 갖게된다.
키 하나에 둘 또는 그 이상의 문자들이 있는 경우, 각 키들의 F#1 값은, 도 22(a)-(b)에서 유도된 값에 근거하였다. 예를 들어, “GHI”3개의 문자 키의 경우, 결합된 값은 두 문자의 조합들로부터 얻어진다(다시 말하면, “GH”=36; “GI”=3; “HI”=3; 합계, 42). 물론, 둘 이상의 키에 둘 이상의 문자가 할당됨에 따라, 둘 이상의 단어에 대응되는 단어코드들의 수는 도 22(a)에 표시된 수보다 커지게 된다.
도 22(a)에 나타난 총계는 둘 이상의 단어에 대응되는 최소 수의 단어코드들을 갖는 문자 조합의 좋은 지표가 된다. 보다 적은 키로 이루어진 자판배열의 경우, 동일한 단어코드에 대응되는 단어들의 수는 커지게 되는 바, 그 이유는 키의 수가 적으면 결과적으로 둘 이상의 단어를 갖는 키들이 많아지기 때문이다. 물론, 의학용어들만을 모아놓은 사전이나 기타 이와 유사한 경우처럼, 사전의 크기가 작아지면 둘 이상의 단어에 대응되는 단어코드들의 수가 적어지게 된다.
또한, 도 22(c)-(d)(맨 아래의 열에) 시스템에 21,110 단어의 사전이 장착되었을 때, 편집 전에 타이핑된 줄 수에 대한 평균의 근사치가 표시되어 있다. 편집 양은 키보드 위의 키들의 수 및 키 위의 문자들의 배치와 직접적으로 관련이 있다. 여덟 개의 키들이 있는 작은 키보드는 약 10%의 단어들, 또는 한 줄 당 1.1 단어가 편집이 필요하다. 그러나, 큰 키보드에서는 편집이 적게 필요하여, 21-키 키보드에서는 사실상 1,000 줄을 타이핑할 때 하나 정도의 단어를 편집하면 된다. 최적어를 사용하는 경우 편집이 더욱 줄어들 수 있다. 뿐만 아니라, 단어코드들이 단지 둘 또는 세 개의 단어에 대응되는 경우(대부분의 키보드 배열이 이에 해당함), 홈열에 원하는 단어가 오는 경우가 각각 50% 또는 33.33%이다. 이 경우, 편집이 불필요하며, 타이핑을 계속하면서 원하는 단어를 선택하기만 하면 된다.
또한, 도 22(c)-(d)의 키보드배열이 230,000단어의 사전과 함께 장치되었다. 10-키보드의 경우, 사용자는 둘 이상의 단어에 대응되는 단어코드를 줄 당 대략 하나정도 만나게 된다. 그러나, 편집하여야할 양은 키의 수가 증가하면 급격하게 줄어든다. 18-키 키보드의 경우 둘 이상의 단어에 대응되는 단어코드의 수는 단지 쪽 당 하나정도일 뿐이다. 편집하여야할 양이 타이핑되는 자료에 따라 달라질 수 있음은 물론이다.
타이핑의 초심자는 키의 수가 적은 키보드로 타이핑을 시작하여, 타이핑 기술이 향상되면서 보다 많은 키를 가진 키보드를 사용할 수 있다. 이렇게 점진적으로 타지를 배우는 방법은 8-키 또는 그 이하의 키보드로부터 21-키 키보드까지 배우는 것을 단순한 방법으로 가능하게 하다. 도 22(c)-(d)의 키보들에 문자를 할당하는 것은 타이핑을 배우는 사람이 5-키 키보드를 이용하여 시작하는 것과 같다. 키 위의 문자들의 위치와, 키를 누르기 위한 손가락의 움직임을 쉽게 기억하여 용이하게 배울 수 있도록 하기 위하여, 각 키보드는 실제적으로 그보다 한 단계 더 큰 키보드와 실제적으로 유사하게 구성되어 있다.
도 22(e)-(x), 26(a)-(y), 27(a)-(z) 및 28(a)-(m)에는 몇 개의 키보드배열에 있어서의 문자들의 배열을 보여주는 바, 이들이 반드시 도 22(c)-(d)의 배열과는 일치할 필요는 없다. 도 22(e)-(q) 및 도 25(a)-(r)은 양손용 배열이고, 도 22(r)-(x), 26(s)-(y), 27(a)-(z) 및 28(a)-(m)은 한손 작동을 위한 배열이다. 이들 배열들은 오직 예시적인 것일 뿐으로, 적당한 다른 배열이 있을 수 있음은 당연하다. 상기 양손용 배열의 경우, 왼쪽과 오른쪽은 서로 바뀔 수 있으며, 개개의 키들도 다른 방법으로 그 위치가 바뀔 수 있다. 한 손용 배열의 경우에도 키들의 위치가 바뀔 수 있음은 물론이다. 뿐만 아니라, 열들이 바뀔 수도 있다.
양손용 배열의 경우, 왼손 키와 오른손 키가 하나의 키보드 위에 바람직하게 위치한 것이 보인다. 그러나, 왼손 키들이 사용자의 오른손으로 접근하는 키와 별도로 분리된 키보드 위에 배열될 수도 있다. 이 배열은 일반적으로 알파벳순서를 유지하며, 필요한 편집량을 최소화하도록 문자들을 결합하고 있다.
비록, 자른 적당한 배열이 있을 수 있지만, 한손용 키보드의 배열에 있어서 모음들의 배열은 다음의 일반적인 배열을 따르는 것이 바람직하다:
A E A E I A A E I
I O or O or E O or O U
U U I U
양손용 배열의 경우, 모든 모음들이 한 손으로 접근할 수 있도록 배치되는 것이 바람직하다. 어떤 키보드배열에서는 수 개의 문자들을 둘 이상의 위치에 두어(다시 말하면, 두 개 이상의 키 둠), 이들에 보다 쉽게 접근하여 타이핑의 속도가 빨라질 수 있도록 할 수도 있다. 모음들이 가장 빈번히 사용되는 바, 보다 빠른 타이핑을 위해서는 모음들을 중지와 검지의 접근이 편리한 위치에 두는 것이 바람직하다. 동시에, 모음들의 순서도 알파벳순서로 하는 것이 바람직하다.
본 발명의 또 다른 특징으로는, 긴 단어를 입력할 때에, 글자 모두를 누르기 전에 미리 시스템이 지금까지 입력된 코드만으로 시작하는 단어 하나를 인식하는 것이다. 여기서 단어가 스크린 22에 적혀 나오고 삑하는 소리가 나게된다. 그리고 난 뒤 사용자는 다시 그 다음 단어를 입력한다. 또한, 사용자는 위에서 언급한 방식으로 그 단어를 수정할 수가 있다.
가령, 표 3에 따라 코드 1-3-2를 입력한다 하자. 이때 사용자가 여러 가지 단어 중에서 선택할 수 있는데, 이들은 "aid", "age" 그리고 "bid" 이다. 그러나 보다 중요한 것은 사용자가 계속 입력하여 단어 수를 제 한할 수가 있다. 예를 들면 "aged", "ages", "ageless", "bids", "bidding" 등이 이러한 것들이다. 그러나 사용자가 문자키 4를 누르면 사용할 수 있는 유일한 선택은 "ageless" 라는 단어이다. 이 때 "ageless" 라는 단어가 스크린 22에 표시될 수 있다. 따라서 "ageless"같은 긴 단어를 모두 입력 할 필요가 없게 된다.
코드 단어...1 a1-3-2 ageaidbid1-3-2-2 chefagedbide1-3-2-4-2-7-7 ageless... |
표 3에서 보는 바와 같이 코드 1-3-2로 시작하는 단어가 있는지를 알기 위해, 컴퓨터 10은 적어도 그 번호순으로 되어 있는 코드를 찾아나가야 할 것이다. 그러나 표 4에서 보는 바와 같이 메모리 12의 각 메모리 위치를 구조화해서 사용가능한 모든 옵션을 기본 코드 1-3-2에 저장 할 수 있다. 그래서 1-3-2를 입력하면, 옵션의 제 한된 숫자만이 이때 모두 나타날 수 있다. 즉 "age", "aid", "bid", "chef", "aged", "bide", "ageless"와 "bidding", "chefs" 같은 다른 파생어들도 스크린 22에 나타난다. 이러한 실시예는 빠르고, 필요한 메모리 공간을 줄이게 한다. 그러나 이 실시예는 입력된 코드에 대해 그 다음의 파생어의 개수가 적을 때에만 효과적이다.
코드 단어...1 a1-3-2 ageaidbidchefagedbideageless1-3-2-2 chefagedbide1-3-2-4-2-7-7 ageless... |
본 발명의 또 다른 특징으로는, 커서를 단어 내에서 어느 위치에도 옮길 수 있는 것처럼 사용자는 언제든지 어느 단어로 되돌아갈 수가 있다. 사용자가 그 단어로 돌아가면 그 단어와 관련된 숫자코드가 다시 불려진다. 사용자는 이때 최적어들이나 그 코드와 관련된 단어 모두를 표시할 선택을 할 수 있고, 또한 새 단어를 입력하기 위해 코드를 바꿀 수 있다.
앞서 언급하였듯이, 본 발명의 또 다른 특징은 QWERTY 포맷을 포함한 다른 여러가지 키보드 구조 가운데 선택할 수 있는 옵션이 제 공되어 있다는 점이다. 플로우차트에는 나타나 있지 않지만, 시스템 작동 도중 어느 때라도 키보드 구조를 바꿀 수 있다. 특히 4-키, 6-키, 또는 8-키 구조같은 어떠한 적당한 키보드 구조라도 선택할 수 있다.
메모리 12는 각 선택할 수 있는 키보드 구조에 대한 개별적 목록을 저장한다. 적당한 메모리 위치를 액세스(access)하는 하나의 방법으로는 숫자코드의 첫 자리로서의 키보드 코드를 자동적으로 또는 내부적으로 포함시키는 것이다. 가령 6-키 키보드 구조에서 나온 코드를 구별하기 위해 표 5에서와 같이 코드 "6"이 각 새 단어가 시작될 때 각 단어의 앞에 자동적으로 첨부된다. 시스템은 이때 서류 제 작 중에 키보드 구조를 바꿀 수 있는데 계속 특정 키보드 구조를 찾으면서 입력 코드를 계속 인식한다. 따라서 그 다음에 시스템이 작동될 때 시스템이 포맷되면 마지막으로 저장한 구조를 기본값(디폴트)으로 저장한다(단계 102).
코드 단어...6-1 a6-1-3-2 ageaidbid6-1-3-2-2 chefagedbide6-1-3-2-4-2-7-7 ageless... |
더불어, 사용자는 미리 정의된 표준 배열 이외에 자신의 고유 키보드 배열을 정의할 수 있다. 앞서 언급했듯이 각 숫자키는 그에 대응하는 글자에 해당되는 입력 숫자코드로 사용된다. 사용자는 특정 글자와 키에 배정된 숫자코드를 선택한다. 이 내용은 이때 메모리에 저장되고, 더 나아가서 메모리는 갱신되어 메모리에 있는 단어들에 해당되는 새로운 코드들을 반영한다. 컴퓨터는 이때 특정 숫자코드와 관련된 모든 단어를 저장한다.
그러나, 표 5에 나타난 메모리 12는 결과적으로 각 키보드 구조마다 한번씩 각 단어를 여러번 저장한다. 다른 실시예에서는, 표 6에서 보는 바와 같이 각 키보드 구조에 대한 숫자코드가 각 단어를 위해 저장된다. 그 다음 컴퓨터 10은 정해진 키보드배열에 따라 숫자코드를 찾는다.
코드 단어 6-키 8-키2-5-5-5 2-5-5-6 door2-5-5-5 2-6-5-6 drop |
본 발명의 또 하나의 특징은, 사용자가 언제든지 메모리에 있는 단어들을 표시할 수 있다는 것이다. 이때 사용자는 추가, 삭제 또는 메모리에 저장되어 있는 단어를 수정하거나 또는 단어의 정확한 철자를 확인할 수 있다. 사용자는 또한 입력된 단어의 첫 글자로 시작하는 데이터 베이스나 메모리내의 모든 단어를 열거할 수 있다. 다시 말하면 한 단어의 첫 4, 5, 또는 6개의 글자를 입력하고 난 뒤 시스템으로 하여금 이러한 글자들로 시작하는 모든 단어의 목록을 만들게 할 수 있다. 사용자는 단어를 입력 또는 편집하면서 이 옵션을 선택할 수 있다. 이러한 방법으로 시스템을 사용하여 단어의 정확한 철자를 결정하게 한다.
따라서, 사용자는 긴 단어를 모두 입력할 필요가 없는데 가령 단어의 첫 4, 5, 6 글자만 입력해도 단어가 자동적으로 표시된다. 그리고 난 뒤 사용자는 원하는 단어에 하이라이트하고 엔터키를 누른다. 그러면 단어는 서류 문구에 들어가게 된다. 또 다른 옵션으로, 사용자가 누른 글자들의 개수에 따라 단어를 표시만 하도록 시스템을 구조화할 수 있다. 즉 사용자가 글자 7개를 누르면 첫 4개를 가진 7 글자 단어들만 표시된다.
본 발명의 고속 타이핑 방법은 "WordPerfect"(상표명임)이나 "Word"(상표명임) 등의 종래의 워드프로세서 프로그램과 호환성이 있으며 도스(DOS)나 윈도우즈(Windows) 또는 매킨토시(Macintosh) 환경에서도 사용가능하다. 더욱이 단어와 숫자코드의 데이터 베이스는 임의의 적절한 방법으로 검색할 수 있다.
키 하나에 여러 문자를 부여함으로써, 본 발명은 타이핑의 학습을 간단하게 한다. 더욱이 동작을 줄임으로써 타이핑 속도가 증가하고 사용자의 피로를 덜게 해준다. 또한 키보드가 조밀하게 집중되어 있지 않아 타이핑을 배우지 않은 사람도 쉽게 사용할 수가 있다. 또한 키보드의 공간이 넓어서 키 사이즈를 크게 만들어 관절염이나 기타 신체적 장애를 가진 사람들을 도와준다.
키보드 50의 사이즈가 상당히 줄어든 것은 물론, 문자를 모두 지니고 있기 때문에 발명은 랩톱 컴퓨터나 전자수첩과 같은 휴대용 전자장치와 함께 특별히 유용하게 사용할 수 있다. 키의 숫자가 적기 때문에 각 키의 위치를 쉽게 기억할 수 있고 보다 더 쉽고 빠르며 보다 더 정확하게 키를 누를 수 있다.
마찬가지로 본 발명은 입력하는데 필요한 키의 숫자를 줄여주기 때문에 종래의 코드(chord) 시스템이 보다 더 효율적이 된다. 따라서, 시스템을 구조화해서 사용자가 문자들이 할당된 특정한 코드를 선택하기 위해 키 하나 이상을 동시에 또는 차례로 누를 수가 있다. 연속적인 시스템에서는, 9-키 키보드의 9개의 키를 3개의 키로 줄일 수 있는 바, 이는 연속적으로 접근할 수 있는 9개의 조합이 가능하기 때문이다(즉, 1-1, 1-2, 1-3, 2-1, 2-2, 2-3, 3-2, 3-2 및 3-3). 같은 방법으로, 연속적으로 작동되는 키들을 이용하여 4-키의 키보드에서는 16개의 조합이 가능하다. 키들의 동시선택을 이용한 4-키 키보드에서는 열 개의 조합이 가능하다(즉, 1, 2, 3, 4, 1-2, 1-3, 1-4, 2-3, 2-4 및 3-4).
설명을 목적으로, 특정의 키들을 문자 “V”, “W”, “X”에 대응되게 하였다. 사용자가 키를 한번에 누른다면, 시스템은 “V”와 “W”를 인식하게 된다. 주어진 시간동안 동일한 키를 연속적으로 동작시키는 두 번째의 작동을 수행하는 경우(또는, 다른 키를 작동하는 경우), 시스템은 동일한 코드 “1”을 두번 감지하게 되며, 이들은 문자 “x”, “y” 및 “z” 와 같은 다른 세트의 문자들에 대응되게 된다. 다른 경우로서, 키들의 첫 번째 작동은 문자 “x”와 “y”에 대응되는 코드 “1”에 대응되고, 두 번째 작동은 문자 “x”, “y” 및 “z”에 대응되는 코드 “2”에 대응될 수 있다.
단일 코드 또는 복수의 코드가 단일 키에 할당되는 방법은, 이들 키들의 연속작동과 같이 다양한 방법들이 있다. 같은 방법으로, 복수 키의 코드형(chord-type) 동시작동과 같이, 단일 코드 또는 복수의 코드가 복수의 키에 할당될 수도 있다.
본 발명의 키보드는 형태와 크기에 있어서 여러 가지 변형이 있을 수 있으며, 본 발명의 실시예에 나타난 크기에 제한되는 것은 아니다. 동일하게, 본 발명에서 사용되는 “키” 및 “키보드”라는 용어는 사용자가 물리적인 힘에 의하여 누르는 형태의 기계적인 종류에 한정되지 않는다. 입력코드는 광학적으로 읽힐 수 있는 손으로 쓴 기호일 수도 있는바, 여기서 각 기호는 키-스트로크(key-stroke)에 상당하는 것이다.
입력은 원거리에서 작동될 수도 있는바, 이때 사용자는 키를 활성화시키기 위하여 문자군으로 눈을 집중시킨다. 더하여, 상기 입력코드는 음성으로 초기화될 수 있으며, 이 경우, 음성인식시스템이 “keystroke”라는 말을 코드화된 입력으로바꾸어 준다. 따라서, 사용자가 소리로서 “5”, “5”, “8”(또는 원하는 문자) 이라 말하면, 이 기호들이 시스템에 의하여 감지되고 5-5-8 코드로 전환된 다음, 위에서 논의된 바와 같이, “now” 또는 “mow”로 화면에 표시된다. 또한, 사용자가 화면에 표시되어야할 문자나 단어를 직접 말할 수도 있다. 뿐만 아니라, 본 발명의 메모리테이블은 당업계에서 최근 존재하는 사전정보나 또는 다른 편집기능과 집적될 수도 있다. 상기 사전을 적절한 단어코드와 함께 갱신하기만 하면 된다.
본 발명의 또 다른 실시예에서는, 다양한 기능을 장착한 기능키(또는 SHIFT키가 사용될 수 있다)들이 제공된다. 예를 들어, 숫자 키패드(keypad)를 제어하기 위한 기능키가 제공될 수 있으며, 그 예로서, 도 2(a)-(b)의 종래 키보드의 오른 쪽 끝 부분에 보이는 숫자 키패드를 들 수 있다. 상기 기능키는 사용자가 키패드의 토글작동(toggle operation)을 할 수 있도록 하여, 숫자패드나 문자패드로서 기능을 할 수 있게 하여준다. 만약, 사용자가 키패드를 숫자패드로 작동시킬 것을 의도한다면, 기능키와 (키패드의)숫자 7키를 누르는 거과 같이, 구두점의 선택을 표시하기 위하여 기능키를 사용할 수도 있다. 같은 방식으로, 커서를 직접 작동하기 위하여 기능키를 사용할 수 있다. 키패드가 숫자패드로 사용되고 있는지 또는 문자표지로 사용되고 있는 중인지를 표시하기 위하여 모드표시등(mode indicator light)이 이용되거나 또는 메시지가 사용될 수도 있다.
본 발명을 보다 더 설명하기 위하여, 기능키들을 종래의 전화용 키패드와 유사한 키패드에 사용하였다. 종래의 전화용 키패드에는 각각 세 개씩의 키가 있는 3개의 열이 있어, 이들은 모두 숫자키이며, 최하단 열은 애스터리스크(*) 키와 우물정자(#) 키가 있다. 숫자키 3열은 알파벳 문자들에 할당되며, 마지막 열의 키들은 기능키들에 할당될 수 있다.
전화 키패드의 마지막 열에 있는 숫자키(대개의 경우 “O”)는 두문자가 타이핑될 때 사용된다. 애스터리스크 키는 스페이스 바로 사용되며, 우물정자키는 백스페이스로 사용될 수 있다. 기능키들의 연속작동은 다양한 추가 기능들에 대응될 수 있다.
예를 들어, 애스터리스크 키를 누른 다음 우물정자 연속으로 키를 누르는 방법에 의하여 나머지 키보드들을 문자, 숫자 및 기호(구두점 포함)로 전환시킬 수 있다. 그리고, 미리 정하여진 시간 내에(및/또는 또 다른 키의 작동 전에) 숫자키의 연속작동을 두 번 수행하여 커서를 제어할 수도 있다.
또 다른 실시예에서는, 키 1, 2, 4, 5, 7 및 8 키가 문자들에 할당되고; 우물정다와 애스터리스크 키는 각각 “-” 및 “+”문자에 할당되며(위에서 논의된 바와 같이, 이들은 편집시 스크롤링하는데 사용됨); “0”키를 다른 키보드 배열로 이동하는데 할당되도록 전화키패드를 배열하였다.
더하여, 두 키들을 동시에 작동하여 다양한 기능키들을 실행할 수 있음을 확인할 수 있다. 따라서, 본 발명의 정신과 범위내에서 기능키들을 사용하는 방법이 다양하게 있을 수 있다.
앞에서 언급한 바와 같이 직접 연결되어 있거나 무선 통신으로 멀리 떨어져 있는 컴퓨터에 출력을 보내는 휴대용 컴퓨터나 휴대용 입력장치에 시스템을 구조화시킬 수 있다.
3진 코드에는 8가지 수열이 있는데 이것은 001, 010, 011, 100, 101, 110, 111, 000이다. 여기에서 6개는 6-키 키보드 구조화의 키 6개에 배정되며 이들에 글자 그룹들이 배정된다. 이러한 배정은 아래와 같을 수 있다.
키 번호 배정된 2진 코드
1 ABCD 001
2 EFGH 010
3 IJKL 011
4 MNOPQ 100
5 RSTU 101
6 VWXYZ 110
데이터(예: 구둣점, 숫자 데이터, 커서 조정, 기타 다른 기능)의 추가 입력에 관해서는, 추가 코드를 사용할 수 있게 하는 다른 2진 코드를 "shift"해서 특정한 3비트 2진 코드(여기서는 "000"으로 가정함)를 입력할 때 발생하도록 시스템을 구조화한다. 가령 "shift"는 3비트 2진 코드부터 8비트 2진 코드까지 될 수 있는데, 이것은 256가지의 8비트 2진 코드를 사용할 수 있게 한다.
한 단어 (예: ACT, BAT, CAT는 각각 001, 010, 101의 2진 코드를 가진다) 이상 관련된 단어코드들에서는, 선택 또는 확인 코드를 원하는 단어를 구별하는데 필요하다. 원하는 단어 하나 (예: ACT, BAT, 또는 CAT)를 선택하는 한가지 방법 (앞에서 논의된) 에는 사용자가 홈열 위에 원하는 단어 옆에 나타나는 숫자를 입력하는 것이다.
그리하여 홈열에 있는 "CAT" 단어를 선택하기 위해 "BAT"에 대한 숫자 1 또는 숫자 2를 입력하지 않는 한, 여기에서는 "ACT"가 자동으로 입력된다. 만약 숫자 1을 입력하면 "BAT" 단어는 홈열로 옮겨져 표시되며 프린트될 수 있다. 3개의 2진 코드를 형성하는 단어를 메모리에 저장하거나 보내거나 또는 추가적인 압축 기술을 적용하기 위해서는 각 단어마다 유일한 코드가 있어야 한다. 이것을 달성하기 위해 확인 코드와 같은 부가비트가 이 유일한 단어코드가 없는 단어에 첨가된다.
코드가 중복되지 않은 것을 확인하기 위해 부가비트(appendage)를 포함한 단어코드가 사전에 열거된 다른 단어코드들과 비교해야 한다. 가령 3비트 2진 코드 010이 "BAT"의 단어코드에 첨가되었으면 "BATH" 단어의 단어코드에도 역시 같은 결과를 가져온다. 그러나 110 (VWXYZ) 같은 다른 3비트 2진 코드에는 중복을 일으키지 않을 수도 있다. 가능하면 같은 기본 단어코드를 가진 단어를 구별하는데 3비트 2진 코드를 사용하는 것이 좋다. 그러나 3비트 2진 코드 여러개를 사용할 수도 있다. 이러한 다수의 3비트의 부가비트가 각 단어마다 유일한 단어코드를 가능하게 만든다. 유일한 단어코드를 만들어내는 다른 해결책은 3비트 2진 코드에서 8비트 2진 코드로 변환하는(shift) 것을 나타내는 "000"과 같은 3비트 2진 코드 하나를 보태는 것인데, 그리고 난 뒤 이 단어코드를 다른 단어코드와 구별하기 위해 8비트 2진 코드를 덧붙인다. 이러한 목적으로 선택된 8비트 2진 코드는 또한 단어의 끝을 나타낸다. 그러므로 그 단어 뒤에 공간이 생기고 다음에 3비트 코드로 자동적으로 변환된다.
단어의 끝을, 이러한 목적으로 지정된, 예를 들면 "111" (또는 앞에서 논의된 바와 같이 단어 끝에 있는 부가비트로 사용되는 3비트 이상의 2진 코드) 같은 특정한 3비트 2진 코드로 표시할 수 있다. 단어의 끝이 표시되면 그 단어에 대한 송신에러가 극소화된다.
각 글자가 3비트 2진 코드를 가지면, 네글자 단어 하나에는 약 12.712 비트가 필요하다. 8비트 2진 코드는 네 글자의 단어 하나에 대해 32 비트가 필요하다.
12.712 비트의 값은 아래와 같이 계산된다. 21,100 단어를 가진 사전을 사용하면 6-키 키보드는 유일한 단어코드가 배정된 17,008 단어를 가지므로 부가비트가 요구되지 않는다. 유일한 단어코드가 배정되지 않은 나머지 4,092 단어들은 총 1,588 단어코드에 배정된다. 이러한 각 단어코드의 각 단어에는 부가비트가 배정되지 않는다. 이유는 이들이 부가비트를 배정받은 다른 단어코드들과 틀리기 때문이다. 나머지 2,504 단어들은 부가비트가 배정된다. 2,504 단어들에 대해 이러한 부가비트에 평균 6비트가 요구되면, 21,100자 단어 사전에 한 단어당 평균 0.712 비트가 요구된다 (6*2504/21000). 한 단어에 평균 글자 4개가 있으면, 한 단어당 12.712 비트가 요구된다 [(4*3)+0.712]. 8비트 2진 코드는 32비트가 요구된다.
3비트 2진 코드는 2진 코드 8개가 사용 가능하다. 4비트 2진 코드에는 코드 16개가 사용 가능하다. 이 가운데 글자들이 배정된 키들에 코드 14개를 배정할 수가 있다. 코드 1개는 (예: 111) 단어 끝에 공간을 나타내게 하고, 한 단어는 (예: 0000) 숫자에 코드를 매기는 것, 구둣점, 기능키들, 커서 컨트롤 등을 위해 다른 2진 코드로 바꾸는데 사용된다. 만약 4비트 2진 코드가 각 글자에 사용되면 4글자 단어에는 대략 16 비트가 필요하다. 8비트 2진 코드는 4글자 단어에 대해 32 비트를 필요로 한다.
14 비트로는 다음과 같이 설명할 수 있다. 14-키 키보드는 단어코드 251개에 배정된 대략 590 단어를 가지고 있다. 그러므로 각 단어당 유일한 단어코드 하나를 가지기 위해 259 개에 대해 부가비트 하나만 필요하다 (590-251=259). 21,101 단어의 사전에는 4비트 2진코드가 평균 4비트 2진코드의 1/20을 단어하나에 보탠다 (4*259/21,100=1/20). 만약 평균 단어가 4자리 글자면, 대략 16.05비트가 한 단어당 필요하다. 상대적으로 8비트 2진 코드에는 32비트가 요구된다. 이리하여 6-키 키보드에 3비트 코드를 사용하거나 키가 7개부터 14개까지 가진 키보드에 4비트 코드를 사용하면, 글자에 코드를 매길 때 사용되는 8비트 2진 코드보다 코드가 더 적게 요구된다.
예상한 대로 단어코드에 3과 4비트 2진 코드를 사용하면 요구되는 코드의 숫자가 상당히 줄어드는 결과가 된다. 단어코드를 3캐릭터 2진 코드와 부가비트로 구성되는데 리시버에 전달되어 컴퓨터가 입력 코드의 숫자 값을 메모리에 있는 단어코드 목록과 비교를 하게된다. 그리고 난 뒤 입력 코드와 관련된 메모리에 저장되어 있는 단어가 나타나게 된다.
코드의 자리넘김(shift)은 3비트 2진 코드 하나를 완전히 자리넘기기 위해001,111,000같은 특별한 코드 연속에 의해 달성되며(또는 4비트 2진 코드 하나를 완전히 자리넘기기 위해0000,1111,0000), 그리고 난 뒤 4비트 2진 코드 완전히 자리넘겨 3비트 2진 코드로 돌아가기 위해 "0000" 의 자리넘김 코드연속이 사용된다. 4비트 2진 코드를 다시 자리넘김을 하기 위해 "0000"의 자리넘김 코드 연속을 사용할 수 있다. 가령 구두점이 사용될 때 (마침표나 의문표와 같이 문장의 끝에 올 때) 단어 사이의 스페이스(space)와 다음 단어의 첫 글자를 대문자화 하는 것은 자동적인 것처럼 입력할 때 몇가지 다른 경제 적인 면이 있다.
사전의 각 단어에 2진 캐릭터 3개이상 되어 있는 2진 코드가 역시 배정되어 각 글자는 유일한 2진 코드 (8비트 2진 코드와 같은)를 가지게 된다. 이러한 2진 코드 세트 2개는 (각 입력 요소에 대해 2진 캐릭터 3개를 가진 세트 1개와 3개 이상을 가진 세트 1개)데이터 베이스 안에 서로 나란히 놓여진다.
데이터를 받으면 데이터는 해독되어 3비트 2진 코드는 데이터를 받는 컴퓨터 메모리에 있는 파일에 3비트 2진 코드의 위치를 찾는데 사용된다. 각 글자에 배정된 유일한 2진 코드는 그 코드 옆에 저장된다. 그리고 난 뒤 문구는 리시버가 위치한 장소에 나타나거나 프린트 될 수 있다.
이 단어를 받으면 원하는 특정한 단어가 송신때 받은 단어코드 다음에 나타난다. "111"을 사용하여 송신 에러를 극소화하는데, 앞서 논의된 것처럼, "111"은 단어 사이의 스페이스(space)를 표시하며 동시에 리시버가 이것을 볼 때 재연속 키로 사용될 수 있다. 캐릭터 비트 3개 (111) 를 사용하여 송신 에러의 역효과를 극소화한다.
데이터를 더 압축하여 시스템으로 하여금 자동적으로 문구를 3비트 2진 코드를 사용하기 위한 포맷으로 번역할 수 있다. 각 단어마다 다음의 세 개씩의 코드가 메모리에 저장된다: (1) 3비트 코드(가장 많이 압축된 코드)와 (2) 각 글자마다 유일한 코드를 가진 2진 코드(8비트 2진 코드와 같은), 및, (3) 문장을 입력하하는데 사용되는 키보드 포맷에 대한 단어코드. 만약 다른 키보드 구조화에 대한 단어코드 1개가 사용되면, 그 단어코드 역시 저장된다. 더 나아가서 그 3비트 2진 코드를 잘 알려진 압축 기술을 이용하여 압축시킬 수 있다.
메모리에 저장되는 단어사전의 분량을 더욱 줄이기 위한 본 발명의 또 다른 실시예에는, 접두어와 접미어가 별도로 저장된다. 예를 들어, “necessary”, “unnecessary”, “published” 및 “unpublished”등을 대신하여, “necessary” 및 “published” 만을 저장하다. 더하여, 메모리에 통상적으로 사용되는 접두어와 접미어를 별도로 저장한다. 사용자가 “un”을 타이핑하는 경우 시스템이 접두어가 입력되었다는 것을 인식한다. 이후, 남은 단어가 입력되면, 단어가 메모리에 장소를 정하면 접두어 또는 접미어가 상기 단어에 추가되게 된다. 유사한 방법으로, 단어들의 복수형, 과거형, 현재형 또는 미래형이 단어의 그룹과 동일한 방법으로 메모리에 저장될 수 있다.
시스템 100은 더 나아가서 번역장치로 구조화 될 수 있으며, 메모리 12에 목록된 각 단어와 같이 번역된 단어를 포함하게 된다. 가령, 메모리 12는 표 7에서처럼 도 2(a)의 8-키 구조화에 기초를 둔 것과 같이 조직화 할 수 있다. 여기서 사용자는 번역된 단어를 영어 단어와 함께 또는 영어 단어 대신에 나타낼 수 있다.
코드 최적어 단어 번역어3-5-7-7-2 house casa |
달리 선택적으로, 외국 사전은 영어 단어와 분리를 시켜 메모리에 저장될 수 있다. 선택된 언어로 입력하기 위해 사용자는 이때 시스템으로 하여금 외국 사전을 사용하라고 지시할 수 있다. 가령 스페인어로 "집"인 "casa"를 입력할 때, 사용자는 간단히 1-1-7-1을 입력한다(참조: 도 2(a)의 키보드 배열). 그리고 난 뒤 사용자는 하나 또는 모든 언어로 입력된 서류를 프린트 할 수 있는 옵션을 가지게 된다.
외국 단어를 메모리에 저장하는 것 이외에, 숫자화 되거나 또는 미리 녹음된 음성 신호가 각 단어와 함께 메모리에 저장되어 질 수가 있다. 따라서 영어 단어와 번역된 단어가 사용자가 명령을 함으로써 음성으로 나타날 수가 있다. 상기 단어는, 스피커나 기타 다른 장치(미도시)를 잘 알려진 기술에 따라 사용하여 들을 수 있다.
상기 시스템은 대화인식시스템과 결합되어 대화자가 말하고 있는 단어를 화면상에 표시할 수도 있다. 이 결합된 시스템은 청각장애나 기타 다른 장애로 인하여 듣기능력에 문제가 있는 사람을 위하여 사용될 수 있다. 제 3자가 말하는 단어는 장애자가 들고 다니는 휴대용 장치의 화면에 표시될 수 있다.
다음으로, 청취 가능한 재생장치와 결합하여 사용함으로써, 장애자는 메시지를 타이핑하여 이를 화면에 디스플레이시킨 다음, 이를 발성장치를 통하여 발음하여 제3자에게 응답할 수 있다. 본 발명의 축소형 키보드를 사용하면, 타이핑을 현저하게 단순화시킬 수 있고, 상기 장치를 쉽고, 빠르고, 보다 휴대하기 편하게 사용할 수 있다. 이 시스템은 종래의 전화에 집적하여 사용되거나, 또는 결합되어 사용될 수 있다. 상기 대화인식시스템은 마이크로폰을 내장할 수도 있고, 음성신호를 받아 이를 워드프로세싱에 필요한 단어로 전환시킬 수 있는 종래의 시스템이 설치되어 사용될 수도 있다.
도 25에서 볼 수 있는 바와 같이, 본 발명의 고속 타이핑 방법은 마이크로폰 410을 포함하는 자동대화인식시스템(ASR) 400을 내장하여, 단어코드 타이핑시스템에 필요한 편집(다시 말하면, 동일한 단어코드에 둘 이상의 단어가 대응될 때, 원하는 단어를 선택하는 것)이, 대화인식요소에 의하여 완전하게 또는 부분적으로 이루어질 수 있게 되었다. 상기 ASR 시스템 400이 시스템 100과 분리되어 보이나,실제로는 컴퓨터 10과 집적된 형태로 배열되어 있다. 이와 유사하게, 마이크로폰 410은 ASR 시스템 400과 집적되어 있거나, 키보드 14 중 하나와 집적되어 있거나 또는, 컴퓨터 10에 직접 연결되어 있다.
타이핑 도중에는, 입력된 단어코드에 편집이 필요한 경우 경고음이 울리게 되며(타이핑된 단어코드에 하나 이상의 단어가 대응되기 때문임), 이에 따라, 사용자는 마이크로폰 410을 이용하여 원하는 단어를 선택할 수 있게 된다. 다른 방법으로는, 편집이 필요한 단어로 돌아가서 커서를 편집을 요하는 단어 위로 움직인 다음, 원하는 단어를 발음하여 선택할 수 있다. 시스템은 단지 발음된 단어와 타이핑된 단어코드에 대응되는 단어들만을 비교하면 되며, 단어 사전의 모든 단어를 비교할 필요는 없다.
이러한 측면에서, 타이핑의 속도를 더욱 빠르게 하기 위하여, 발음된 단어가 사전에 있는 보다 많은 단어와 비교되어야 하는 불편은 있으나, 단어의 일부분만을 타이핑하여도 된다. 도 4(a) 및 도 4(b)와 관련하여, ASR은 각각 단계 144, 338 및 344 후에 실행된다. 다시 말하면, 사용자가 단어의 선택을 원하는 경우(단계 144, 338 및 344), 상기 단어를 발음하여 선택할 수 있다. 이후, 시스템이 타이핑된 단어에 대응되며, 발음된 단어에 상응하는 정보를 가지는 단어를 메모리에서 검색한다. 따라서, 발음된 단어에 상응하는 단어들의 수를 감소시킴으로써 ASR이 보다 빠르고 정확하게 작동할 수 있게 된다.
다른 키보드의 경우, 특히 2 내지 3개의 키가 있는 키보드에 있어서는 45 내지 85%의 단어코드가 편집을 요하는 바, 단어코드가 입력될 때마다 사용자는 모든 단어를 목소리로 내어야 한다. 예를 들어, 2-키 키보드는 하나의 키에는 A부터 L까지, 나머지 키에는 M부터 Z까지의 문자가 있게된다. 또한, 3-키 키보드의 경우 하나의 키에는 A부터 H까지, 다른 키에는 I부터 Q까지, 나머지 하나의 키에는 R부터 Z까지의 문자가 있게된다.
단어코드에 대응하는 단어의 수의 평균은 다음과 같다:
5-키 키보드의 경우 단어코드 당 2.8 단어
4-키 키보드의 경우 단어코드 당 3.39 단어
3-키 키보드의 경우 단어코드 당 4.52 단어
2-키 키보드의 경우 단어코드 당 11.25 단어
편집이 필요한 양과 이에 소요되는 시간은 단어코드 당 단어의 수가 증가하면 함께 증가한다. 만약, 유일한 단어코드를 갖지 않은 단어들 모두가 사전에 포함되어 있는 경우라면, ASR 사전에 필요한 단어들의 수, 즉, 표 22(c) 및 (d)에서 F#3 값으로 표시된 수는 5-키의 경우 5,918단어로부터 20-키의 경우 13단어까지 변화하게 된다.
5-키 키보드를 사용하는 경우, 오로지 단어코드 당 3단어 이상이 있을 때에만 ASR 시스템을 사용할 것인지에 대하여 결정하여야 하며, 이는 줄 당 하나의 편집량에 해당한다. 물론, 편집하는 동안 모든 시간동안 ASR 시스템을 사용할 수도 있다. 편집이 필요한 경우 경고음이 울리게 되며, 이때마다 사용자는 원하는 단어를 발음하여야 한다.
상기 단어코드, 상기 단어코드에 할당된 단어 및 상기 단어를 발음하는 패턴이 데이터베이스에 저장될 수 있으며, 또는, 복수개의 데이터베이스가 시스템에 연결되거나 집적되어 사용될 수도 있다. 단어코드를 입력하거나 및/또는 발음된 단어를 마이크로폰 410을 통하여 입력하여 데이터베이스에 접근할 수 있다. 마이크로폰에 발음된 단어를 데이터베이스의 음성패턴을 비교하여 단어를 선택하는 바, 이때, 음성패턴은 공지의 기술에 따라 타이핑된 단어코드에 대응되어 있다. 다음으로, 선택된 단어는 기초가 되는 문서의 적절한 위치로 전송된다.
만약, 단어를 선택할 수 없는 시스템인 경우, 이 사실을 알리는 메시지가 화면에 표시되고, 사용자는 전술한 고속 타이핑 방법에서 기술된 방법으로 원하는 단어를 선택한다. 또한, 사용자가 새로운 단어를 입력하여야 하는 경우에도 전술한 고속 타이핑 방법에서 논의된 방법으로 이를 수행한다. 뿐만 아니라, 만약, 새로이 입력되는 단어가 유일한 단어코드를 갖지 않는 경우, 즉, 새로운 단어와 동일한 단어코드에 해당하는 다른 단어가 있는 경우에는 그 단어코드에 이미 대응되어 있는 ASR 어휘에 새로운 단어를 입력하여야 한다.
상기 대화인식요소는 구두점, 두문자, 백스페이스 및 다른 형태의 기능을 수행할 수 있는 고속 타이핑 방법과 함께 사용될 수 있다. 음성명령이 인식되고, 원하는 명령이 실행된다.
상기 ASR 시스템을 본 발명의 고속 타이핑 단어코드방법에 연결함으로써, 마이크로폰에 발음된 단어의 분석과정의 복잡함을 줄일 수 있는 바, 이는, 사용자가 마이크로폰에 대고 단어를 발음하는 과정에서, 특정한 시간에 분석을 요하는 ASR 시스템 내의 단어 수가, 입력되는 단어코드에 대응되는 단어 수로 제한되어 있기 때문이다. 그러나, ASR 시스템 전체의 어휘로부터 발음된 단어가 식별되어야 하며, 특히, 동일한 단어코드에 할당된 다른 단어들로부터 발음된 단어를 식별하여야 한다.
더하여, 단어코드의 입력으로부터 단어의 길이에 대한 정보, 단어의 처음과 끝에 관한 정보(사용자가 스페이스 바 또는 구두점에 의하여)를 얻을 수 있으며, 또한, 각 키스트로크는 특정의 문자와 대응되어 있기 때문에 단어상의 각 위치에서 가능한 문자에 관한 정보도 얻을 수 있다. 두 시스템의 결합으로, 편집에 필요한 시간이 줄어들 수 있으며, 몇 개의 키를 이용하여 타이핑의 속도를 매우 빨리 할 수 있다. 마이크로폰으로 발음된 단어나 타이핑된 단어를 식별할 수 없을 때 ASR시스템을 보조하기 위하여, 또는, ASR 시스템으로 입력되는 새로운 단어를 타이핑할 때, 또는, ASR 시스템에 포함되지 않은 단어로 된 문장을 타이핑할 때에 상기 고속 타이핑-단어코드 시스템이 ASR 시스템의 보조장치로 사용될 수 있다.
본 발명의 또 다른 실시예로서, 2 내지 4 또는 그 이상의 키 세트가 있는 상단 열과, 동일한 키 세트가 있으며, 상기 상단열의 바로 아래에 있는 하단 열을 구비한 키보드배열을 들 수 있다. 따라서, 상단 열의 각 키와 하단열의 각 키는 서로 동일한 문자 또는 문자들에 할당되어 있다.
새로운 단어의 입력이 시작된다는 것을 표시하기 위하여 줄을 바꾼 다음, 스페이스를 입력한다. 즉, 첫 번째 단어는 상단 열을 이용하여 입력하고, 두 번째 단어는 하단 열을 이용하여 입력한 다음, 세 번째 단어는 다시 상단 열을 이용하여 입력한다. 각 단어가 입력될 때마다 줄을 바꾸면 새로운 단어가 입력된다는 것을 시스템이 인식하게 되며, 이때, 최초로 타이핑되는 각 단어의 문자의 앞에 스페이스의 입력이 선행되어야 한다. 이런 형태의 키보드는 목적에 따라 적당하게 그 배열을 조절할 수 있는 바, 크기, 형상 및 키의 수 등이 본 실시예에 제한되는 것은 아님이 명백하다 할 것이다.
본 발명의 또 다른 실시예로서, 단어와 단어 사이어 스페이스를 두지 않고 타이핑을 할 수 있다. 이 방법에 의하면, 스페이스 바나 기타 다른 키를 누르지않고서도 타이핑이 가능한 바, 이는 평균적으로 모든 타이핑의 약 25%의 양에 해당한다. 대부분의 단어들이나 문장에 있어서, 입력된 단어들이 스페이스에 의하여 구분되지 않은 문서를 해독한다는 것은 어렵지 않은 작업이다. “the time for all”이라는 구절을 예로 들어보자. 완전한 단어가 타이핑될 때마다 스페이스를 추가하도록 시스템이 설계되어 있다. 따라서, “the time for”라는 단어들이 입력될 때, 시스템이 이들 각각이 하나의 단어라는 것을 인식하고, 스페이스를 추가하게 된다.
그러나, 가장 짧은 단어가 원하는 단어가 아닌 경우가 종종 발생한다. “now is the time”이라는 구절을 입력하는 경우를 예로 들면, 가장 짧은 첫 번째 단어는 “no”이다. 이때는, 문자 “w”가 시험되는 바, 하나의 문자가 동시에 추가되어 이 문자열과 일치하는 단어코드가 있는지를 시함한다(즉, 메모리에서 일치하는 단어코드를 검색한다).
여기서, “wist”라는 단어가 메모리에서 발견될 수 있고, 이 때에는 “no wist he time”이라는 구절이 입력되게 된다. 그러나, 이 경우에도 전체문장을 교정하기 위해서는 문자 “w” 뒤에 스페이스를 입력하기만 하면 된다. 뿐만 아니라, “wist”라는 단어가 사전에 없는 경우라면, 문자 “w”가 선행단어인 “no”라는 단어와 함께 시험되어, 시스템이 “now”라는 단어가 입력되었다는 것으로 인식하게 된다. 따라서, 이 때에는 타이핑이 진행되면서 편집할 필요가 없게 된다.
“스페이스 바”의 제거에 대하여 컴퓨터 상에서 시험되어, 만약, 다르게 해석될 가능성이 없는 경우라면, “스페이스 바”가 생략된 채로 문서가 저장되거나 또는 상기 “스페이스 바”가 없는 상태로 전송된다. 예를 들어, “compaction”이라는 단어와 같이 뒤에 많은 단어가 추가될 수 있는 “IN THE”라는 단어들은 다른 해독가능성이 없다. 즉, “IN”라는 단어와 “THE”라는 단어 사이에 스페이스 바를 생략할 수 있으나, “compaction”이라는 단어의 끝까지는 이를 생략할 수 없는 바, 이는, 이 단어가 “compact ion”이라 읽힐 수 있으며, 물론, 이는 전혀 다른 의미를 갖기 때문이다.
또한, 문장을 타이핑하는 모드에서, 사용자가 단어사이에 있는 특정한 수의 단어들이나 무작위로 단어를 제거하는 방법으로 스페이스를 제거할 수 있다. 이 방법은 보다 많은 양의 편집을 요한다. 이러한 그룹의 문자들에 대하여, 컴퓨터가 모든 가능성을 화면에 디스플레이하며, 이를 보고 사용자가 그의 선택을 하게 된다. 예를 들어, “IN THE COMPACTION MODE”라는 단어들을 입력하면서 경우 단어모드 이후까지 스페이스가 없는 경우라면, 사용자가 선택할 수 있는 경우의 수에는 다음의 것들이 있다:
“IN THE COMP ACT ION MODE”
“IN THE COMPACT ION MODE”
“IN THE COMP ACTION MODE”
“IN THE COMPACTION MODE”
사용자가 상기 네 개의 문장 중 하나를 선택할 수 있으며, 또는, 일단, 프로그램이 사용된 단어 중 가장 짧은 단어를 포함하는 구절만을 보여주도록 고안되고, 디스플레이된 단어들을 움직여 사용자가 구절을 편집할 수도 있다.
6-키 키보드의 경우 약 2,500단어가 편집이 필요하다(즉, 이들은 홈열로 이동하여야 한다). 구문론적인 법칙이나, 특정한 단어가 다른 단어와 함께 사용되는 빈도를 고려한 통계적인 정보에 의하여 편집이 필요한 양이 줄일 수 있다.
소유격부호, 콜론, 세미-콜론 및 하이픈 등의 특수문자들은 이웃하는 문자와 연관되어 인식될 수 있다. 예를 들어, 소유격부호는 특수한 경우를 제외하고는(복수형 단어의 소유격인 경우와 같이) 전후의 문자들이 서로 그룹지어져 있음을 표시하며, 콜론이나 세미-콜론은 앞 문자에 부가되며, 뒷 문장이 스페이스 다음에 뒤따라온다는 것을 표시한다. 상기 스페이스 바는, 15-18키 키보드와 같이 큰 키보드의 경우에는 쉽게 제거할 수 있는 바, 이는 둘 이상의 단어에 대응되는 단어코드의 수가 적기 때문이다.
도 23으로 돌아가서, 시스템 200이 종래의 손- 또는 손가락 장착 컴퓨터 입력장치 220과 함께 사용되는 경우 사용상 특별한 이점이 있다. 상기 손가락 장착 장치 220은 일반적인 블록 220으로 나타낸 바, 이는 선행기술부분에서 설명된 것과같은 손가락에 장착되는 입력장치 중 적절한 것이면 된다. 상기 입력장치 220은 보통 스위치 222를 구비하고 있는 바, 이는 사용자의 손가락이나 손 근처에 위치하게 된다. 상기 시스템 100은 키보드 210, 하나 또는 그 이상의 입력선택판넬 202 및 다른 적당한 구성요소(도 1에 보인 화면표시장치)를 구비할 수 있다. 상기 손가락에 장착되는 입력장치 220뿐만 아니라, 상기 입력선택판넬 202도 통상의 방법에 따라 컴퓨터 10에 연결되어 있다.
양손의 손가락 하나씩을 이용하여 두 손가락에 장착되는 입력장치 220이 사용하는 것이 바람직하다. 물론, 사용자가 한 손을 자유롭게 사용하여 키보드 210 및/또는 입력선택판넬 202를 자유롭게 사용할 수 있도록, 한 손가락 장착 입력장치 220이 시스템에 사용될 수도 있다. 적절한 수의 스위치 222에 의하여 시스템 200이 작동될 수 있는 바, 스위치 222의 수가 한 손 당 3 내지 4개일 수도 있으며, 또는 손가락 당 둘 이상의 스위치 222가 제공될 수도 있다.
하나 또는 그 이상의 문자들, 특수문자들, 기호들, 또는 명령들이 스위치들 222, 키들 206, 212, 스위치들 222의 조합 또는 스위치들 222와 키들 206, 212의 조합 중에서 선택된 것들에 할당된다. 뿐만 아니라, 하나 또는 그 이상의 코드들이 각 스위치들 222와, 상기 스위치들 222와 키들 206의 정의된 조합에 대응되게 된다.
사용자가 손가락 장착 입력장치 220을 장착하고, 선택판넬 202의 키들 206, 키보드 210의 키들 212 및/또는 테이블이나 책상의 편평한 표면(미도시)에 스위치 222를 누르는 방법으로 스위치 222를 작동한다. 그러나, 손가락 장착 입력장치 220은 하나 또는 그 이상의 입력선택장치나 패널 202들과 연관되어 사용되는 것이 바람직하다. 상기 입력선택판넬 202에는 유연한 패드 204가 있어, 수 개의 입력키 206(일반적으로 점선으로 표시됨)을 덮고 있다.
설명을 위한 목적으로, 사용자의 오른손 검지, 바람직하게는 손톱에 장착된 손가락 장착 입력장치 220의 스위치 222는, 스위치 222를 테이블에 누르는 방법으로 작동시킬 수 있다. 상기 스위치 222의 단독 작동은 입력코드 8에 할당되어 있다. 다시, 입력코드 8은 문자 “m”, “n” 및 “o”에 대응되어 있다. 그러나, 사용자가 상기 스위치를 첫 번째 입력선택판넬 202의 첫 번째 키 206에 대고 상기 스위치를 치는 경우, 이 조합은, 예를 들어, 입력코드 9에 대응되게된다. 입력코드 9는 다시, 문자 “m”(코드 8에 대응되는 서브세트), 또는 문자 “q”에 대응된다. 반면, 사용자는 이를 대신하여, 스위치 222를 두 번째 입력선택판넬 202의 첫 번째 키 206에 대고 동일한 스위치 222를 칠 수도 있다. 상기 조합은 입력코드 10에 대응되어 있으며, 이는 다시 표시된 커서를 올리라는 지시 명령어에 대응되어 있다.
물론, 적당한 수의 키 206과 패드 202가 사용될 수 있고, 키들의 다양한 조합도 가능하며, 이들이 특정한 입력코드와 연관된 특수문자 또는 명령어와 관련될 수도 있으며, 또한 이들이 선택될 수도 있다. 상기 시스템은 다양한 손가락 장착 스위치 222 및 키 206 배열 중에서 사용자가 적절한 것을 선택하여 사용할 수 있도록 배열되거나, 사용자가 배열을 다시 조정할 수 있어야 한다. 뿐만 아니라, 상기에서 언급한 바와 같이, 손가락 장착 장치 220는 종래의 키보드 210의 키 212와 연결되어 사용될 수도 있다. 여기서는, 예를 들어, 입력장치 220에 있는 스위치 222를 작동하면 메모리상의 서로 다른 코드에 대응하게 되어있어, 동일한 키가 종래 키보드 210의 키 212와 연결되어 사용되는 것과는 메모리상에서 다른 코드에 해당되게 된다.
바람직한 실시예에서, 입력선택판넬 202에는 패드 202의 아래에 있는 네 개의 입력키 206이 구비되어 있다. 상기 입력판넬은 두 개가 서로 옆으로, 위아래로 또는 기타 적당한 방법으로 배열되어 사용될 수 있다. 입력선택판넬의 입력키 206은 표준형의 키보드와 같이 종래의 압력작동식과 같은 기계적인 키일 수도 있고, 축전기작동식 키일 수도 있으며, 또는 또 다른 공지의 키일 수도 있다. 또한, 패드 204 각각에는, 입력선택장치 202상의 특수한 위치에 대응되는 특수문자나 명령어들을 식별할 수 있는 덮개(미도시)가 덮여있을 수도 있다.
도 24(a)에는, 키 302가 경사져 있어서, 키패드 300의 키 302 사이에서 사용자가 손의 위치선정을 하는 데에 도움이 되는, 본 발명의 또 다른 실시예를 보여준다. 키 302는 상기에서 설명한 고속 타이핑 시스템의 일부로서 사용될 수 있거나 또는, 키를 구비한 어떠한 다른 종류의 장치와도 함께 사용될 수 있다. 경사진 키 302는 특히, 휴대용 계산기나, 전화(특히 카폰) 및 이와 유사한 것과 같이, 키의 수가 적은 키보드들에서 유용하게 사용될 수 있다.
도 24(a)에는 특별하게 설계된 9-키 키보드 또는 키패드 300과 함께 사용된 경사진 키 302의 윤곽이 그려져 있다. 키패드 300에는 상단열 304, 중단열 306 및 하단열 308이 구비되어 있다. 키 302의 경사는 일반적으로 등고선으로 나타내어진다. 도 24(b)에서 볼 수 있는 것과 같이, 상단열 304와 하단열 308의 중앙에 있는 키 310, 312는 각각, 키패드 300의 중단열 306 쪽을 향하여 아래로 기울어져 있다. 같은 방식으로, 중단열의 양쪽 키들 314, 316도 키 해의 중심을 향하여 기울어져 있다. 중앙에 있는 키 310, 312, 314, 316들은 선형의 기울기보다는 곡선 또는 쌍곡선의 기울기로 되어 있는 것이 바람직하다.
또한, 구석에 있는 각각의 키 318, 320, 322, 324 역시 면이 기울어져 있다. 상기 구석키 318-324는 일반적으로 안쪽으로, 그리고, 키패드 300의 중심을 향하여 기울어져 있다. 도 24(c)에서 보는 바와 같이, 구석에 있는 키 318-324는 사용자의 손가락 모양을 따라 형성된 곡면으로 만들어지는 것이 바람직하다. 그러나, 구석에 있는 키가 상기와는 달리 선형의 경사진 기울기를 가지고 있어도 무방하다. 중앙에 있는 키 326은 평평하다.
경사진 키 302의 형상에 의하여 사용자는 키패드 300 상에서 움직이는 사용자 손의 위치를 감각적으로 알 수 있게 된다. 키 302의 각 키들은 중앙키 326을 향하여 기울어져 있는 바, 사용자는 감촉에 의하여 자신의 손의 상대적인 위치를 지각할 수 있게 된다. 사용자는 키 302의 각각에 할당된 문자들에 친숙하게 될 것이며, 따라서 어느 키가 눌러지는지, 또는, 어떤 문자가 선택되는지를 확인하기 위하여 키패드 300을 내려다보는 일이 없어지게 될 것이다. 상기 경사진 키 302는 압축형의 키보드를 제공하는 본 발명의 시스템 100과 결합하여 사용하는 경우 특별한 이점이 있다.
따라서, 각 키들의 상대적인 위치를 사용자가 지각할 수 있도록 키를 경사지게 하는 방법에는 여러 가지가 있을 수 있다. 바람직하게는, 상기 경사는 키들의 형상, 크기 및 배열에 관계되는 함수이다. 상기 경사진 키는 어떠한 크기 및 형상의 키보드에도 장착될 수 있다. 예를 들어, 전체 16개의 키가 있는 4×4의 키보드의 경우, 상단 열은 구석키 318, 320의 사이에 중앙키 하나를 추가하여 도 24(a)와 같은 방식으로 배열될 수 있다. 하단 열, 좌측 행 및 우측 행도 같은 방법으로 배열되고, 4개의 중앙키는, 중앙키 326처럼 평평하게 한다.
현재 키보드에 장착되는 키의 구조는, 아래로 연장된 튜브 형태의 샤프트로서, 위 방향으로 연장된 형태인 키보드 상의 샤프트와 맞물릴 수 있는 구조로 되어있다. 따라서, 현존하는 종래의 키보드(즉, 경사지지 않은 키)는 지레를 이용하여 위로 들어올리는 경우 쉽게 키보드와 분리된다. 따라서, 키보드에 원래 조립되어 있던 키를 제거하고, 본 발명의 경사진 키로 대체할 수 있다. 키에 형태를 주기 위한 다른 방법으로서, 종래의 키위에 경사진 삽입물이나 조각을 붙이는 방법이 있을 수 있다. 삽입물은 적당한 접착제나 기타 이와 유사한 것으로 붙이면 된다. 뿐만 아니라, 키나 삽입물의 재료에는 특별한 제한이 없는바, 딱딱한 플라스틱, 고무, 또는 기타 키의 형상을 바꾸는 데에 있어서 전통적으로 사용되는 어떠한 소재라도 무방하다. 뿐만 아니라, 모든 키가 경사진 형상일 필요도 없다.
첨부된 도면 및 표들에 다른 형태의 키보드 배열을 예시하였다. 이들 키보드 배열에는 문자들이 할당되어 있으며, 9-키 내지 14-키의 키보드는 한손입력용 키보드이고, 12-키 내지 18-키의 키보드는 양손입력용으로 설계된 키보드이다. 상기 키보드 위에 있는 다른 키들로서는, 구두점 방향키, 엔터키, 콘트롤키, 전환키, 백스페이스, 숫자키, 삭제키, 개개의 문자와 이들 문자의 열을 선택할 수 있는 선택키 및 표준형 키보드에서 찾을 수 있는 기타 기능키들이 있다. 본 발명에서 개시된 시스템은 표준형 키보드에 장착될 수 있다. 뿐만 아니라, 전환키는 한 세트에 키를 한 용도에서 다른 용도로 전환시키는 용도로 사용되어, 키보드 상에서 필요한 키들의 수를 줄일 수 있다. 예를 들어, 도 50에, 50개의 키가 구비된 키보드를 볼 수 있다.
첨부된 도면에 예시한 많은 키보드들에 있어서, 가장 자주 사용되는 문자들이 중단열(홈열 또는 홈라인이라 언급되기도 함)에 배치되어서, 타이핑 시작할 때 사용자의 손가락이 이 위에 위치하게 된다. 이렇게 하여, 타이핑 중의 움직임이 최소화 될 수 있고 따라서, 보다 빠르고 덜 피로한 타이핑이 가능하게 된다. 예를 들어, 도 31(a)에 보인 키보드의 중단 열에는 전체 타이핑 시간의 67%에 해당하는 시간동안 사용되는 키들이 할당되어 있다. 동일한 키에 중복되어 위치하는 문자들의 선택은 도 22(a) 및 22(b)에서 얻은 정보에 근거한 바, 이는, 첫째는 의도한 단어를 입력하였을 때 의도하지 않은 단어가 입력되는 빈도를 낮추기 위함이고, 둘째는, 동일한 입력에 의하여 얻어지는 단어를 조사하여, 동일한 키보드 입력에서 나타나는 통상적으로 사용되는 단어의 수가 최소화 될 수 있도록 하는 것이다.
키보드 위의 문자 배열과, 문자가 할당되는 키의 위치는, 이들의 위치가 기억되기에 용이하도록 배열되고 할당된다. 기억하기에 용이한 키보드란, 사용자가 키보드 위의 문자들을 보지 않고 이들의 위치를 쉽게 기억해 낼 수 있는 키보드를 말한다. 전체 알파벳의 순서로 배열하는 것은 키보드 배열을 기억하기에 용이하도록 하는 하나의 방법이다(참조: 도31(a)). 첨부된 도면에서, 모음이 할당된 키위에 하나 또는 그 이상의 자음이 할당되어 있으며, 자음들의 배열 순서는 일반적으로 모음의 순서를 따른다. 대부분의 경우에서, "ab", "ef" "ijk", "opg" 및 "tu"로 할당되어 있다. "ab"부터 "tu"까지가 상기와 같이 할당되어 있을 때, 이들을 여기서는 "알파벳순서의 모음/자음세트"로 부른다.
첨부된 도면들을 세 그룹으로 분류할 수 있는 바, 그 기준은 다음과 같다: a) "모음/자음 세트"의 알파벳순서의 수직 또는 수평방향성 및 상기 세트의 위치(즉, 상단 열 또는 하단 열), 그리고, b)전체 알파벳 문자의 알파벳순서의 수직 도는 수평 방향성.
패턴 #1: 도31(a)-(e) 및 도 34(a)-(d)에는, "알파벳순서의 모음/자음세트"가 중단열의 키들에서는 수평으로 배치되어 있고, 및/ 또는 이들 키 아래는 중단열의 순서대로 자음들이 알파벳 순서로 배치되어 있다. 전체적인 알파벳순서는 수직패턴이다.
패턴 #2: 도32(a)-(e) 및 도 35(a)-(e)에는, 상기 "알파벳순서의 모음/ 자음 세트"가 키보드의 좌측의 상단 열을 가로지른 다음, 다시 키보드 우측의 중단 열을 가로지르며 수평으로 움직인다. 결과적으로 전체적인 알파벳순서는 수직 패턴이다.
패턴 #3: 도 33(a) 및 33(b)에는, 상기 "알파벳순서의 모음/자음"세로"가 수직패턴을 보인다. 전체적인 알파벳순서는 수평 패턴이다.
키들의 알파벳순서가 수직이냐 또는 수평이냐 하는 관점에서 관찰하면, 패턴 #2 및 3에서 알파벳패턴과 전체적인 알파벳패턴은 반대의 방향을 나타내는 바, 즉,하나가 수직이면 하나는 수평이다. 이렇게 방향들이 꼬이는 것이 키보드를 기억하는 데에 도움이 된다. 즉, 사용자가 모음의 위치를 기억하면 자음의 위치도 쉽게 기억할 수 있으며, 이는 자음의 위치를 기억하는 경우 마찬가지다.
첨부된 도면 전체의 키보드가 상기에서 언급한 모음/자음 세트 및 전체 알파벳순서의 관계를 갖는 것은 아니다. 그러나, 이들 모두 전체적인 알파벳순서는 가지고 있다. 동일키 위에 있는 문자는 알파벳순서가 유지되어 의도하지 않는 단어가 입력되는 것을 최소화 할 수 있도록 주의 깊게 선택되었다.
이 시스템을 이용하고자 하는 자는 다음의 고려사항을 근거로하여 원하는 키보드를 선택할 수 있다:
1) 키보드 위에 키들이 배열된 형태-지그재그형 패턴 또는 직각 패턴
2) 양손타이핑, 오른손 타이핑 또는 왼손타이핑에 대한 선호도
3) 키를 위에 문자가 배열된 형태, 즉, 상기 키보드배열 1, 2 또는 3에 대한 사용자의 선호도
4) 문자가 할당된 키들 수.
상기 고려사항에 의한 키보드 설계의 요약이 도 59에서 확인할 수 있다.
이하의 차트는 첨부된 키보드 설계를 설명하는 것이다.
사용자는 그가 선호하는 디자인을 선택할 수 있다. 적은 키보드부터 시작하여 점진적으로 키 수가 많은 키보드로 발전하는 것이 바람직하다.
다음은 단어의 타이핑과 사용자가 보는 표시화면과 관련되어 설명을 목적으로 제공하는 실시예이다. 도 31(a)의 키보드를 이용하여 “FRIEND”라는 단어를 입력하는 경우, 키의 중앙부에 보이는 문자키들을 누른다. 그러면, 화면표시장치에서 EF, R, IJK, EF, N, D를 읽을 수 있게 된다. 사용자가 화면상에 나타난 문자열만을 보고서는, FRIEND라는 단어를 인식하기는 어려울 것이다. 더욱이, 모든 문자들이 입력되고 난 후에 원하는 단어들이 스크린에 나타난다면, 타이핑 후 스펠링에 실수가 있었는지를 알 수 없다.
그러나, 표 40의, “FRIEND”라는 단어에 대한 경우에 해당하는 5번 케이스에 보이는 화면표시 시리즈를 사용자가 본다면, 그는 문자 “f”로 시작하는 줄에 대하여 집중하게 될 것이며, 따라서, 문자 하나씩이 입력될 때마다 생성되고 있는 단어를 보면서 실수를 찾아 낼 기회를 포착하게 된다. 뿐만 아니라, 많은 사용자에게 있어서, 단어가 완성된 후에 이를 확인하는 것보다, 단어가 타이핑되고 있는 것을 보는 것이 도움이 된다는 것을 알게될 것이다.
방법Ⅰ
둘 이상의 문자가 하나의 키에 할당된 경우라도, 각 문자가 입력되면서 단어가 형성되는 것을 사용자가 볼 수 있는 방법 4가지 중 그 첫 번째가 아래에서 설명되고 있다. 본 발명에서 시퀀스(sequence)라는 용어는, 단어를 형성하는 가의 여부를 불문하고 문자들이 연속된 것을 의미한다. 이하의 설명에서, QWERTY키보드가 문자들을 입력시키는 데에 사용되고 있다. 그러나, 이 키보드는 지그재그형이 아니고 직각 격자형의 키보드이다. 또한, ASCII코드가 아닌 다른 종류의 코드가 사용될 수 있음은 물론이다.
뿐만 아니라, 상기 QWERTY 키보드의 키를 눌를 때 닫히는 스위치는, 눈의 초점과 같은 다른 수단으로도 닫힐 수 있으며, 본 발명의 기본 정신은 이 경우에도 계속하여 적용된다. 도 31(a)에 보이는 키보드 배열은 대부분의 타자기나 컴퓨터 키보드에서 사용되는 표준형 키보드배열이다. "QWERTY 문자"라 불리는 QWERTY 키보드 문자배열이 도 31(a)에 있는 키보드의 오른쪽 상단에 보인다.
다른 문자들이 상기 키들에 할당될 수 있는바, 예를 들어, 도 31(a)에 있는 키들의 중간부분에 인쇄된 문자들이 상기 키들에 할당될 수 있다. 도 38에서 행Ⅰ및 행Ⅱ에 보이는 문자들은 도 31(a)에 보이는 문자배열에 기초하고 있다. 키들의 중간에 보이는 문자들 (참조: 도 31(a))은 본 발명에 의한 타이핑 방법을 수행하기 위하여 할당된 문자들이며, 이하에서는 이들을 "재정의된 문자들(redefined letters)"이라 부른다. QWERTY 키보드상의 키가 눌러지면, 이 키에 해당하는 SCAN코드(키보드 상의 위치에 의하여 정하여짐)가 컴퓨터에 전송되고, 시스템의 프로그램이 상기 SCAN 코드를 QWERTY 문자에 해당하는 ASCII 코드로 번역한다.
상기 "재정의된 문자"가 화면상에 표시되게 하기 위하여 이 "재정의된 문자들"에 대하여, SCAN코드가 ASCII코드로(또는 ASCII코드를 QWERTY문자로)번역되어야 할 필요가 있다.
상기 "friend"라는 단어가 화면상에 표시되게 하기 위해서는, 각 키가 눌러질 때마다, 프로그램은 다음의 각 단계를 수행하게 된다: (1) 각 재정의 된 문자가 입력 될 때마다 화면상에 표시한다. (2) 재정의된 문자를 화면상의 어느 부분에 표시할지 결정한다. 그리고(3) 이미 입력된 특정의 문자들이나 시퀀스 중 어느 것을 제거할지 결정하여, 화면에 표시될 문장의 다음 줄을 위한 스페이스를 남긴다.
도 39는 단어가 입력될 때 문자들이 어떻게 화면에 표시되는 지를 보여주는 그림이다. 여기서 보이는 것은 "He is very frail"이라는 문장이다. 도 31(a)의 문자 배열이 이 예를 설명하기 위하여 사용된다. FRAIL이라는 단어를 화면에 표시하기 위하여 처음으로 눌러지는 키는, 문자 "E"와 "F"가 할당된 키이다. 이전 단어가(“very"라는 단어)가 마지막으로 입력된 다음, 다시 첫 문자("E")가 홈열에 오게되고, 문자 "F"는 화면상에서 "E"아래에 표시된다.
사전에 있는 모든 단어가 각 알파벳 문자에 해당하는 ASCII코드를 이용하여 메모리에 저장된다. 키를 누르면, 프로그램(키보드 인핸서, 키보드 드라이버 또는 매크로 프로그램 등)이 SCAN코드로 번역한다. 키보드 인핸서 또는 키보드 드라이버 등의 용어들이 사용되는 경우, 이들 용어에는 본 발명의 목적으로 사용되는 유사한 소프트웨어 프로그램이 포함되어 있음은 자명하다.
상기 ASCII코드는 사전을 검색하여, 동일 문자열을 가진 단어가 사전에 있는 지의 여부를 결정한다. 그러나, 상기 첫 문자(들)에 해당하는 재정의된 문자(들)가 입력되는 경우 이상의 검색이 없이 화면에 표시되게 되는 바, 이는 각 알파벳 문자가 단어의 첫 문자이기 때문이다. 재정의된 문자에 해당하는 ASCII코드와 사건 파일에 있는 문자에서 사용된 ASCII코드가 일치한다.
첫 문자를 입력한 뒤에 각 키들이 눌러지면, 재정의된 문자(들)의 ASCII코드가, 현재 입력되고 있는 문자에 더하여 이전에 입력된 문자의 문자열과 사전파일에 내장된 단어와 비교하여 일치하는지를 시험한다.
상기 재정의된 문자들에 대하여 입력된 ASCII코드가 사전에 내장된 단어들을 이루는 문자들과 일치되게 된다. 하나 또는 그 이상의 재정의된 문자가 할당된 키를 누르면 그 키에 할당된 재정의도니 각 문자가, 이자에 입력된 시퀀스 및 테스트되려는 문자와 일치하는 단어가 사전에 내장되어 있는 지를 결정한다. 만약, 일치되는 단어가 발견되면 테스트되고 있는 문자가 화면상에 표시되게 된다.
예를 들어, "friend"라는 단어가 입력되면 첫 번째 문자 "f"는 일치여부를 확인하기 위한 사전에 대한 검색 없이 바로 입력되는 바, 이는 단어의 첫 문자이기 때문이다. 두 번째 문자가 입력되면 "fracas"라는 단어에서 일치되는 문자열이 발견되고, 세 번째 문자인 “I”가 입력되면 "friable"라는 단어에서 일치되는 문자열이 확인된다. 이후, "friend"라는 단어에서 나머지 문자와 일치되는 문자열이 발견된다. 이 실시예에서 각 문자가 입력될 때마다 일치하는 문자열이 검색되기 때문에 문자열들은 입력되자마자 화면표시장치 장치의 화면에 표시된다.
그러나 문자가 입력된 다음 일치되는 문자열을 찾지 못하는 경우, "NO MATCH Found"라는 메시지가 스크린에 표시된다. 이 메시지가 표시되는 경우 사용자는(1) 스펠링에 실수가 있거나 또는, (2) 사전에 없는 문자열이 입력되었다는 것을 인식하게 된다. 각자의 경우에 사용자는 타이핑을 계속할 것인가를 결정한다. 이후, 사용자가 하나 또는 그 이상의 문자가 할당된 키를 누르면, 상기 "NO MATCH FOUND"라는 메시지가 표시되기 전에 입력된 문자열 뒤에 새로이 입력된 문자들이 추가된다. 사용자는 어느 때라도 그 시점에서 정확한 문자열을 선택할 수 있으며, 이렇게 하여 원하는 문자열 외의 다른 문자열을 제거하고 문자열이 완성될 때까지 문자들을 계속적으로 추가하게 된다. 이러한 방법은 추후 보다 상세하게 설명될 것이다.
"원하는 문자열"에 대하여 입력이 완료된 후(이하 이 문자열을 "문자열 A"이라 함)라도 둘 이상의 문자열이 화면에 표시될 수도 있다(이하, 이들을 "문자열 A, A1, A2, ---An"이라 함). 이 경우 사용자는 (1) 홈열 또는 홈열에 상당하는 장소 또는, (2) 도 40의 case #3에서(원하는 단어가 "relay"가 아니라 "relax"인 경우)보이는 것과 같이, 홈열 아래에 있는 원하는 문자열을 선택한다. "홈열에 상당하는 장소"는 홈열에 아무런 단어도 표시되지 않고, 사용자가 원하는 문자열이 홈열 아래에 리스트된 문자열중에서 맨 위에 있는 경우에 있어서 홈열의 바로 아래위치를 의미한다. 이에 해당하는 예로서는 도40의 case #8의 다섯 번째 행을 들 수 있다. 이하에서 "홈라인" 또는 "홈열"이라 하면 상기 "홈열에 상당하는 장소"를 포함하는 의미로서 사용된다.
만약, "문자열 A"가 "홈라인"에 있다면, 사용자가 스페이스 바를 누르는 것으로 (1) 홈라인 아래의 문자열(들)이 사라지고, (2) "문자열 A"와 다음에 입력된 문자열의 첫 문자 사이에 필요한 스페이스(이하 이 스페이스를 "스페이스 X"라 함)가 만들어진다. 만약 "문자열 A"가 홈라인의 아래에 있는 경우라면 "입력 X"(즉,키 또는 이하에서 설명될 다른 입력수단을 눌러서 얻어지는 입력)에 의하여 (1) "문자열A"가 홈라인으로 이동하고, (2) "문자열 A"를 제외한 문자열들("문자열 A"의 위 또는 아래에 있는 문자열들)이 화면상에서 사라지며, (3) "스페이스 X"가 만들어진다. 상기 "입력 X는 이하에서 설명되는 6개의 방법 중 하나에 의해서 시작될 수 있다.
(1) 선택키 #1을 누르는 방법: "문자열 A"가 홈라인 바로 아래의 열에 있을
때에, "선택키 #1"을 한번 누르는 방법. "문자열 A"가 홈라인 아래의
다른 추가적인 열에 있는 경우에는, 선택키 #1을 추가로 누르면 홈열로
이동하게 된다.
(2) "선택키#2"를 누르는 방법: (a) "문자열 A"가 홈라인에서 두 열 아래에
있을 때, 선택키 #2"를 두 번 누르는 방법. (b) "문자열 A"가 홈라인
에서 세 열 아래에 있을 때, 선택키 #2"를 두 번 누르는 방법.
(c) "문자열 A"가 홈라인 아래의 다른 추가적인 열에 있는 경우에는,
"선택키 #2"를 추가로 누르면 홈라인으로 이동하게 된다.
(3) 스크를 키를 누르는 방법
(4) "문자열 A"를 하이라이트시키거나, 또는, 지시장치(pointing device)를
사용하는 방법.
(5) 각 문자열 다음에 리스트된 숫자를 누르거나, 마이크로폰에 대고 문자를
말하는 방법.
(6) 음성인식 방법: 둘 이상의 문자열이 리스트된 경우, 시스템이
가청신호(audible signal)로서 사용자가 원하는 문자열을 선택하여야
한다는 것을 알린다. 단어를 들을 수 있도록 하여, 사용자가 단어나
문자들을 발성하여 선택할 수 있다. 음성인식 시스템이 문자를 식별
하는 것은 사용자가 문자를 입력하여 확인함으로서 수행한다.
"입력X"에 의하여 "문자열 A"와 다음 문자열의 첫 문자 사이에 스페이스가 생긴다(스페이스 X). 문자 또는 문자열이 홈라인 아래에서 홈라인으로 이동할 때에 사용자들은 "스페이스 X"가 만들어지지 않은 상태로 상기 문자 또는 문자열을 홈라인으로 이동시키고 싶어하는 바, 이는 (1) "새로운 단어"를 형성하기 위해서, (2) "NO Match Found"라는 메시지가 화면상에 표시된 후 단어를 완성하기 위해서, 또는 (3) 단어를 완성하기 전에 현재 진행되고 있는 입력에 보다 집중하기 위해서이다. 상기 문자 또는 문자열이 "스페이스 X"가 만들어지지 않은 상태로 홈라인 아래에서 홈라인으로 이동된다. 이를 수행하는 다음의 두 방법을 이하에서는 "입력 Y"라 부른다:
(1) 먼저, 설명을 목적으로 "F(X)"라 불리는 지시기능 키를 누른 다음,
"선택키 #1 및 #2"를 사용한다.
또는,
(2) 사용자는 다른 선택키들을 사용할 수 있는 바, "선택키 3#" 및 "선택키
#4"가 이들이다. "선택키 #3"과 "선택키 #4"는 "스페이스 X"가 만들어
지지 않는 다른 점만을 제외하고는 각각 "선택키 #1" 및 "선택키 #4"와
동일하다.
뿐만 아니라, 먼저 F(X)를 누르지 않고도 "선택키 #1 및 #2"를 이용하여, "스페이스 X”가 만들어지지 않은 상태에서 홈라인 아래에서 홈라인으로 문자 또는 문자열을 이동시키는 작업을 수행하는 것이 가능하다. 예를 들어, 도 40의 case 5, dispalay #1에서, "선택키 #1"을 누르면 문자 "F"가 스페이스X를 만들지 않은 상태로 홈라인으로 이동될 수 있도록 홈라인의 아래 열에 생성된다. 첫 문자를 선택하면, 의도하지 않는 문자열이 화면상에 표시되는 것을 현저하게 줄일 수 있다.
만약 사용자가 먼저 F1을 누르지 않고 "선택키 #1 또는 #2"를 눌러, 아직 완성되지 않는 "문자열 A"를 홈라인으로 이동시키면 "스페이스 X"가 생성된다. 이를 교정하려면 사용자가 다음 문자가 입력되기 전 또는, 입력된 직후에 백스페이스를 누르면 된다. 그러면, "문자열 A"가 계속된 다는 것을 시스템이 인식하게 된다.
홈라인 아래의 문자들 또는 문자열을 지웠거나, 실수로 지워졌다면, 실수에 의하여 홈라인으로 들어온 문자열 뒤로 삽이 포인터(insertion pointer)를 이동시키고, 다음으로 지시기능키를 누르면, 지워진 문자열(들)이 다시 화면상에 표시된다. 이후, 사용자는 다시 원하는 문자열을 선택할 수 있다.
원하는 문자열이 완성된 후에는 스페이스 바나 입력 X를 누르기 전에 구두점마크를 입력하는 것이 바람직하다. 그러나, 스페이스 바를 먼저 누른 다음 원하는 구두점 마크를 입력하면, 다른 추가적인 입력이 없어도 프로그램이 일련의 입력을 인식한 다음, "문자열 A" 사이에, 즉 구두점과 다음 문자열의 첫 문자 사이에 스페이스를 생성시킨다.
도 40, CASE #5의 "FRIEND",라는 단어가 입력되면 다음 과정을 거치게 된다. (도 31(a)의 키보드가 사용된다고 가정하자). 재정의된 문자 "F"에 할당된 키에 해당하는 SCAN 코드가 키보드 인핸서로 보내진다. 이 코드는 키보드 인핸서에 의하여 문자 "E" 에 해당하는 ASCII코드와 문자 "F"에 해당하는 ASCII코드로 재정의 된다. 상기 문자들 중 어느 문자도 입력되는 단어의 첫 문자가 될 수 있기 때문에, 이들 문자 모두가 화면에 표시되게 된다. 이 때, 프로그램은 도 40의 case #5 및 도 39에서 보이는 것처럼, 처음 입력된 문자를 화면에 표시하도록 설계되어 있다. 다시 말하면 문자 "e"가 홈열에 표시되고 문자 "F"가 문자 "F" 아래에 표시된다.
다음으로, 재정의된 문자 "R"에 할당된 키를 누른다. 이 키에 대한 SCAN 코드가 컴퓨터에 전송된 다음, 키보드 인핸서에 의하여 문자"R"에 해당하는 ASCII코드로 컴퓨터에 전송된 다음, 키보드 인핸서에 의하여 문자 "R"에 에 해당하는ASCII코드로 재정의 된다. 문자열 "ER" 및 "FR"에 일치하는 ASCII코드를 사전에서 검색한 다음, 문자 "R"이 도 39 및 도 40에서와 같이 화면상에 표시된다. 다음으로, 재정의된 문자 "I", "J" 및 "k"에 할당된 키를 누른다. 이 키에 해당하는 SCAN 코드가 키보드 인핸서에 전송된다. 이 코드는 문자 "I", "J" 및 "K"에 해당하는 ASCII코드로 재정의 되어 있다. 사전 파일의 ASCII코드가 문자열 “ERI", “ERJ", “ERK", “FRI”“FRJ” 및 "FRK"에 대하여 검색된다; 그리고, 문자열 "ERI" 및 "FRI"만이 발견된다. 도 40에 보이는 것과 같이 문자 "I"가 화면에 표시되며, 발견되지 않은 문자열들("ERJ", "ERK”, "FR" 및 "FRK")은 표시되지 않는다.
재정의된 문자 "E"와 재정의된 문자 "F"가 입력되면, 문자열 "ERI"가 삭제되는 바, 이는 "ERIE" 및 “ERIF”라는 단어가 사전에서 일치하는 문자열을 발견할 수 없기 때문이다. 그러나, 문자열 “FRIE”는 사전에서 일치하는 문자열이 발견된다. 또한, 후속키들을 누르면, 상기에서 설명한 바와 같이 입력이 진행되고, 이들 추가로 입력된 문자들(즉 문자 "N" 및 문자 "O")과 일치하는 문자열이 사전에서 검색되고, 화면상에 표시되게 된다.
"FRIEND"라는 문자열만이 화면상에 표시되는 바, 사용자가 스페이스 바를 누르면, 시스템은 다음 단어의 입력을 기다린다. 상기의 과정 중 어느 때라도, 사용자는 홈열 아래에 있는 첫 문자나 문자열을 선택하여 홈열로 이동시키고, 그밖에 문자나 문자열들을 화면상에서 삭제할 수 있다. 예를 들어, 도 40의 case #5에서 첫 문자 "E" 및 "F"가 표시된 후, 사용자는 "F"만을 선택할 수 있다(참조: 행Ⅰ).
"revile"(참조: 도40, case #4)과 같은 특정의 단어는 의도하지 않는 문자열이 화면상에 나타나지 않은 채 입력되기도 한하는 바, 다시 말하면, 모든 문자가 입력된 후에도 하나의 단어만이 표시된다. "revile"이라는 단어의 입력에 대해서는 아래에서 설명한다.
"revile"이라는 단어에서 첫 번째로 입력되는 문자, 즉, 재정의된 문자 "r"은 사전에 일치하는 문자열이 있는지 없는지에 대한 증명이 없이 입력될 수 있는 바, 이는 모든 알파벳 문자는 특정 단어의 첫 문자가 될 수 있기 때문이다. 따라서 SCAN코드가 단어의 첫 번째 제정의된 문자에 해당하는 ASCII코드로 번역될 때에 그 문자가 자동적으로 화면상에 표시된다.
두 번째 문자, 즉 재정의된 문자 "E"는 재정의된 문자 "F"와 동일한 키위에 있다. 따라서, 문자열 "re" 및 "rf"가 검색되어 이들 중 하나 또는 모든 문자열에 대하여 사전에 단어들이 있는 지가 비교, 확인된다. 이 경우에, 문자열"re"만이 발견된다. 그리하여, 이들 문자가 화면에 표시된다(참조: 도40, case#4, 두 번째 행). 다음 입력되는 문자는 재정의된 문자 "v"이다. 문자열"REV"가 사전에서 검색되어, 대응되는 문자열은 하나만 발견된다. 따라서, 도 40, case #4의 세 번째 행에는 "REV"가 보인다. "revile"이라는 단어를 입력함에 있어서, 네 번째의 입력은 재정의된 문자 "I"이다. 재정의된 문자 I, J, 및 K가 동일한 키에 있으나, 사전에서는 문자열 "REVI"만이 발견되며, 문자열 "REVJ" 및 "REVK"는 발견되지 않는다.
따라서, 도 40, case #4의 네 번째 행에는 문자열 "revi"만이 보인다. 다섯 번째 입력되는 재정의된 문자 "L"이 할당된 키에는 다른 문자들이 할당되어 있지 않다. 따라서, 사전에 일치하는 문자열이 있는지를 확인하기 위하여서 문자열 "revil"만 검색하면 된다. 여섯 번째 입력되는 문자, 즉, 재정의된 문자 "e"가 할당된 키에는 재정의된 문자 "f"가 함께 할당되어 있다. 그러나, 일치하는 문자열이 "e"에 대해서는 발견되나 "f"의 경우에는 발견되지 않는다. 이렇게 하여 단어 "revile"에 대한 화면상의 표시가 완성되었다. 마지막으로 사용자는 입력이 올바른지 눈으로 확인하면 된다.
마지막으로 사용자가 원하는 경우, 구두점 표시를 입력하고, 스페이스 바를 누르면, 시스템은 다음 문자열의 첫 번째 문자가 입력되기를 기다리는 상태가 된다.
도 40의 case #8 및 #9에서는 문자열이 선택되거나 지워질 때까지 동일한 문자열에 대하여 다르게 처리하는 두 개의 방법을 보여준다. Case #8에서는 문자열이 선택되거나 지워질 때까지 동일한 라인에서 머무른다. Case #9에서는 각 문자열들이 위로 움직여 홈라인에 가장 가까운 공간으로 이동하거나. 홈라인이 비어 있는 경우 홈라인으로 이동한다. 물론 사용자는 원하는 바에 따라 이 두 방법 중 하나를 선택하여 사용할 수 있다. 뿐만 아니라, 두 가지 방법 중 하나를 사용하는도중이라도, 다른 방법으로 꿀 수 있다.
도 40에서 확인할 수 있는 바와 같이, 할당된 문자가 둘 이상이 있는 키를 이용하여 문자를 입력하는 경우, 문자 하나가 추가될 때마다 화면상에 표시되는 문자열들에 대하여, 이들 문자열 중 어떤 문자열이 사전 상에 일치하는 문자열이 있는지를 조사해 보아야 한다. (만약, 평행 프로세싱(parallel processing)방법이 사용된 다면, 한번에 둘 이상의 문자가 조사되어야 한다). 만약, 일치하는 문자열을 찾은 경우에는, 입력된 문자를 포함하는 문자열이 화면상에 표시된다. 사전의 단어가 동일한 문자 및 순서를 가지고 있다면, 일치하는 문자열이 발견될 것이다. 사전 상에 저장된 단어는 입력되는 문자열 보다 길며, 짧지는 않다. 다음의 예를 이용하여 화면상에 표시되거나 지워지는 문자열을 설명한다: 문자 "t"와 문자 "u"가 각각 시험되는 경우(참조: 도 40, case #1), 문자열 "grea"에 대해서는 일치되는 문자열이 발견되나 "greb"에 대해서는 일치되는 문자열이 발견되지 않는다면, 문자열 "greb"는 화면에 나타나지 않는다. 각 문자열 모두가 일치되는 문자열을 찾을 수 없는 경우라면, 추후 설명하는 바와 같이 가능한 모든 문자열이 화면상에 표시된다. 도 40, case #10에서, 스페이스 바를 누르면 홈라인에 있는 단어, ARID가 선택된다. 사용자가 " BRID"라는 문자열을 입력하고자 원하는 경우에는 그렇게 할 수 있다. 도 40, case #2에서는 문자열 "babe"가 삭제되었는 바, 이는 "babe"라는 문자열에 “t” 또는 “u”가 추가된 문자열을 사전에서 찾을 수 없었기 때문이다.
문자열을 선택함에 있어서 화면에 표시되는 즉시 선택을 할 수 있으나(이하 이 선택을 "편집"이라 함), 상기 편집을 추후에 할 수도 있다. 이 "지연 선택모드(delayed selection mode)에서, 홈라인 아래에 리스트된 각 문자열들이 홈라인에 있는 문자열 다음으로 이동할 때마다, 문자열의 끝에 “지연선택키 입력(delay selection key input)”라 표시되어 표지된다. 이 문자열(“a, a1, a2 ---An”)들은 괄호, 밑줄, 이들 모두 및/또는 스크린 상의 색 구별에 의하여 표지된다. 상기 "지연 선택키 입력"은 다음에 설명된 것이다.
1) 이용도 전용으로 지정된 키, 즉, 다른 어떠한 기능에도 할당되어 있지
않은 키,
및/또는,
2) 스페이스 바 또는 "선택키 #2와 같이, 이 용도 전용으로 지정되지는 않고
지시기능키를 먼저 눌러서 같이 사용하는 키(설명을 목적으로 이하, 이
키를 “F-3키”라 함).
F-3를 누르면, 이후 모든 입력이 "지연선택모드"에서 수행된다. F-3를 눌러 스페이스 바가 "지연선택키"로 지정된 상태라면, “선택키 #1 및 선택키 #2”가 문자열 선택을 목적으로 계속 사용될 수 있다. 다른 방법으로, “선택키 #2가 “지연선택키”로 지정된 상태라면 스페이스 바와 “선택키 #1”이 문자열 선택을 목적으로 계속 사용될 수 있다. 지연선택키를 누르면 “스페이스 X”가 만들어지고,홈라인과 홈라인 아래에 있는 문자열들이 메모리에 저장되며, 상기 “지연된 선택 프로그램”에서 필요한 경우 화면상에 표시되게 된다.
“지연선택모드”에서는(즉시선택프로그램에서와 동일하게)문자열이 사전에 있는 단어와 일치할 것이 요구된다. 그러나, 문자열의 끝이 표지되어 있을 때, 문자열에 있는 문자의 수와 사전에 있는 단어의 문자수가 일치하는 경우라면, 그럴 필요가 없다. 예를 들어, 도 40의 case #10에서, “arid”라는 단어가 화면에 표시되고, “bird”라는 문자열은 삭제된다. 만약, “arid” 또는 "bird"라는 단어 또는 문자열과 일치하는 문자열을 찾을 수 없다면 화면 표시장치에 기호가 표시되거나, "word not found"라는 메시지가 뜨게되며, 경고음이 울리게 된다. 그리고, 가능성이 있는 모든 문자열이 타이핑되고 있는 문서나 화면 아래에 있는 윈도우에 리스트 될 것이다.
사용자가 홈라인에 리스트 되어 있는 단어들 중에서 선택하고자 하는 경우, 삽입 포인터가 편집이 시작되는 홈라인의 단어 뒤로 곧바로 오게 된다. 만약, 선택이 필요한 문자열이 횡으로 리스트된 경우라면, "선택키 #1 및 #2"를 이용하여 원하는 문자열을 클릭하는 방법 또는 상기에서 설명한 다른 방법들을 이용하여 원하는 단어를 선택할 수 있도록 프로그램 되어 있다. 사용자는 어느 때라도 삽입 포인터를 선택하려는 단어의 뒤로(또는, 프로그램상으로 앞으로 오게 할 수도 있음) 보내는 방법으로 편집이 필요한 곳으로 가서, 원하는 단어를 선택할 수 있다. 이러한 방법으로 문장의 일부가 편집되고 있다면, 삽이 포인터가 자동적으로 다음의 문자를 또는 단어들로 이동하는 바, 이들에 대해서도 필요한 경우 편집을 수행할 수도 있다. 지시기능키를 누르면 다음 문자열이 입력 되기 전 선택이 수행될 수 있는 프로그램으로 돌아 갈 수 있다. 이 편집 방법을 본 발명에서 설명되어진 모든 프로그램에 적용될 수 있다.
도 38의 행Ⅰ에 리스트된 QWERTY 키보드에 할당된 문자들은 QWERTY 문자라 불린다. 이 문자들은 도 31의 오른쪽 상단 구석에서 찾을 수 있다. 본 발명에서 개시된 방법에서, 도 38의 행Ⅱ 및 도 31(a)에 보이는 각 키들의 중간에 QWERTY 키에 할당된 다른 문자들을 확인할 수 있다.
방법Ⅱ 및 Ⅲ는 아래에서 설명된 것들만을 제외하고는 방법Ⅰ과 동일하다
방법Ⅱ
도 41의 행Ⅱ는 사전에 있는 단어 리스트의 일부이다. 이 리스트는 사전 파일에 ASCII 코드로 저장되어 있다. 도 41의 행Ⅰ은 행Ⅱ에서 찾은 동일한 단어의 리스트이다. 그러나, 행Ⅰ에서 찾은 이진코드(binary code)는 도 38(a)의 오른쪽 상단에 보이는 QWERTY 문자들에 대한 코드가 도 38(a)의 중단에서 보이는 문자에 대응하는 코드로 컴퓨터에 전송되는 때에 받은 코드로 구성되어 있다. 따라서, 행Ⅰ의 "cat"라는 단어는 "wsk"라는 문자들에 해당하는 ASCII코드로 저장되는 바, 이는, 문자 "C"(키 중간에 보임)가 QWERTY 키보드상의 하나의 키에 할당되어 있어서, 이 키를 누르면 하나의 코드를 컴퓨터에 전송하고, 다시 컴퓨터는 이 코드를 문자 "w"로 번역하기 때문이다. 문자 "A"는 QWERTY 키보드 상의 하나의 키(도 38(a)의 중간에 보임)에 할당되어 있어서, 이 키를 누르면 하나의 코드를 컴퓨터에 전송하고, 다시 이 컴퓨터는 다시 문자 "s"로 번역한다. 단어 "cat"에 있는 문자 "t" 역시 동일한 방식으로 설명될 수 있다. 이리하여 도 41의 행Ⅰ과 행Ⅱ가 생성되게 된다.
도 41의 사전파일 중 행Ⅰ에서, 일치되는 문자의 위치를 찾기 위하여 ASCII코드가 사용되었다. 사전 파일의 행Ⅰ(참조: 도41)에서 문자를 찾은 경우, 동일 라인에 즉, 사전파일에 인접한 행인 행Ⅱ에 있는 문자들에 대한 ASCII코드가 읽혀 그 문자가 화면상에 표시된다. 행Ⅰ에 있는 단어에서 문자의 위치(즉, 첫 번째, 두 번째, 세 번째 ...N 번째 문자)는 행Ⅱ에 있는 단어에서 문자의 위치(즉, 첫 번째, 두 번째, 세 번째 ...N 번째 문자)와 동일한 위치이다.
사용자가 "CAT"라는 단어를 입력하는 경우 다음의 과정을 거친다: 문자 "C"가 입력되면 상기에서 설명된 과정을 거쳐 화면상에 표시된다. 그러나, 모든 문자는 특정 단어의 첫 문도 38의 행자가 될 수 있기 때문에, 단어의 첫 문자는 아래에서 설명되는 후속문자들과는 달리, 그 문자를 재정의하는 방법으로 결정된다. 도 38의 행Ⅰ 및 행Ⅱ에 있는 정보가 메모리에 저장된다. 도 38의 행Ⅰ의 ASCII코드를 검색한 다음, 도 38의 행Ⅱ에 있는 문자를 화면상에 표시하였기 때문에, 첫 문자는 사전에 대한 검색이 필요하지 않은 상태이다.
다음으로, 사용자가 문자 "A"가 할당된 키를 누른다(참조: (도31(a)의 키 중간). 문자 "A"와 문자 "B"는, QWERTY 문자 "S"와 같이 동일한 키에 할당되어 있다(참조: 도 38의 행Ⅰ 및 행Ⅱ). 이로 인하여 이 키에 해당하는 SCAN코드가 컴퓨터에 전송되고, 상기 SCAN코드가 문자 "S"로 번역되게 된다. 계속하여 사전파일의 행Ⅰ이 상기 문자 "S"에 해당하는 ASCII코드가 검색된다. 만약 단어가 문자 "W"에 해당하는 ASCII코드로 시작하는 단어라면 두 번째 문자가 "S"인 단어에 대하여 사전을 검색한다. 다음의 두 경우에 이 문자열을 찾을 수 있게 된다: (1) 행Ⅰ의 문자열 "CA"와 행Ⅱ의 문자열 "CB"(사전에 약자들이 포함되어 있다고 가정하라). 다음으로 문자"T"에 할당된 키를 누른다(참조: 도3(a)의 키의 중간) 문자"T"와 문자"U"가 QWERTY문자 "K"에 할당되어 있다(참조 " 도 38의 행Ⅰ 및 행Ⅱ).
문자 "A" 및 "B"에서와 유사한 방법으로 QWERTY 문자열 "WSK"에 대하여 사전의 행Ⅰ에서 검색이 수행되었다(참조: 도 41). 문자열 "CBT" 및 "CBU"를 찾을 수 없기 때문에 문자열 "CB"가 삭제되었다. 그러나, 상기 문자열은 다음의 두 경우에만 문자열을 찾을 수 있다: (1) 행Ⅱ에 있는 문자열이 "CAT"인 경우(행Ⅰ의 WSK 문자열의 다음)인 경우 및, (2) 이들 문자열이 "CAU"인 경우행Ⅰ의 WSK 문자열의 다음). 이들 문자열 모두는 화면 상에 표시되는 바, 이는 문자열"CAU"가 "CAUSE"라는 단어와 같이, 보다 긴 단어에서는 처음에 오는 문자들이 되기 때문이다. 사용자가 문자열 "CAT"를 선택하면 문자열 "CAU"는 삭제된다.
방법Ⅲ
키보드로부터 컴퓨터로 전송되는 문자나 데이터의 선택 방법은 방법Ⅱ에서와 동일하다. 그러나, 본 발명을 수행할 수 있는 추가적인 방법으로서, 행Ⅰ(참조: 도 42)의 사전 파일에 애스터리스크를 표시하였으며, 동일한 ASCII코드에 할당된 문자들에 대응하는 ASCII 코드의 뒤에 이 애스터리스크를 붙였다. 따라서, 이들 문자들은 유일한 코드를 가지게 된다. 문자 "A와 문자 "B"는 QWERTY 키보드상의 "S"키에 할당된다. 사전 파일의 문자 "A"는 문자 "S"와 하나의 애스터리스크에 해당하는 ASCII코드에 할당되고, 사전 파일의 문자 "B"는 문자 "S"와 두 개의 애스터리스크에 해당하는 ASCII코드에 할당된다. 상기 코드와 이하의 실시예에서 사용되는 포맷에 할당된 애스터리스크의 할당은 도 43의 행Ⅰ 및 행Ⅱ에 보여지고 있다. 사전 파일의 일부를 도 42에서 확인할 수 있다.
이제, “CAT”라는 단어를 입력하려는 경우를 예로 들어, 방법Ⅲ을 설명하려 한다. 문자 “C”(도 31(a)에 있는 키의 중앙에 있음)를 누르면, 이 키에 해당하는 SCAN 코드가 컴퓨터에 전송되고, 이 컴퓨터에서 상기 SCAN코드가 문자 “W”에 해당하는 ASCII코드로 번역된다. 문자 “W”에 해당하는 ASCII코드는 사전파일의 행Ⅰ에서 찾을 수 있다. 그러나, 문자 “W”에 해당하는 ASCII코드는 단어의 첫 문자이기 때문에, 이 문자가 발견되는 도 42의 행Ⅰ에서 검색될 수 있다. 행Ⅰ에 있는 문자 “W”에 대한 ASCII코드와 동일한 라인에 있는 행Ⅱ의 ASCII코드는 문자 "C"에 대응하는 ASCII코드이다. 따라서 문자 "C"가 화면상에 표시되게 된다.
다음으로, 키 중앙에 문자 “A”가 있는 키를 누른다. 이 키에 해당하는 SCAN코드가 컴퓨터로 전송되고, 이 컴퓨터에서 문자 "S"에 해당하는 ASCII코드로 번역되어, 사전의 행Ⅰ에서 검색된다(참조: 표 11). 문자 "W"로 시작되는 문자열에서 "S*" 및 "S**"가 모두를 찾을 수 있다. 이들 문자열들은 "WS"와 "WS**"이다. 상기 "S*" 및 "S**"는 문자 "W"의 경우 사용된 방법과 유사하게, 도 43의 행Ⅰ 및 행Ⅱ를 이용하여 재정의 되고, 문자열 "CA" 및 "CB"가 화면상에 표시된다. 다음으로 문자 "T"에 할당된 키를 누르면, 문자 "K"에 해당하는 ASCII코드가 컴퓨터로 전송되고, 사전의 행Ⅰ에서 "WS*" 및 "WS**"에 해당하는 ASCII코드로 시작하는 문자열에 대하여 검색이 수행된다. 이리하여 문자열 “WS*K*” 및 “WS*K**”를 찾고, “K*”와 “K**”가 상기의 문자 "A"의 경우에서와 같이 재정의 되어, 문자 "CAT" 및 문자 "CAU"가 화면상에 표시되게 된다. 이후 사용자가 스페이스 바를 누르면 "CAT"라는 단어가 선택되고 "CAU"는 삭제되게 되며, 프로그램은 다음 단어의 입력을 기다리게 된다.
상기 동일한 프로그램은 첨부된 도면에서 볼 수 있는 키보드 포맷 및 본 발명에서 개시된 포맷의 변형을 포함하는 다른 형태의 키보드 포맷이 사용되어 수행될 수도 있다. 이 결과, 도 42의 행Ⅰ 및 행Ⅱ과 같이 다른 결과가 도출될 수도 있다.
방법Ⅲ은 사전에 있는 단어를 가공하는 프로그램을 포함하는 바, 이는 사전의 행Ⅰ에 대응하는 단어코드 리스트를 생성시키기 위해서 이다. 이를 위해서, 도 42에 있는 사전의 행Ⅱ에 있는 단어의 각 문자들이, 예를 들어, 도 43에서 보이는 바와 같이, 각 문자들에 대해서 수행된 할당에 따라 재정의 된다. 새로운 포맷이 정의되면, 사전 또한 포맷에 따라 조정되어야 한다.
방법Ⅱ는 사전에 있는 단어를 가공하는 프로그램을 포함하는 바, 이는 사전의 행Ⅰ에 대응하는 단어 리스트를 생성시키기 위해서이다. 이를 위해서 도42에 있는 사전의 행Ⅱ에 있는 단어의 각 문자들이, 예를 들어, 도 43에서 보이는 바와 같은 문자 할당에 따라 재정의 된다.
문자열이 입력되고 있다는 것은, 사전에서 단어에 대응하여 일치하는 문자열을 찾을 수 있는 지의 여부를 불문하고 확인할 수 있다. 하나의 문자열에 문자 하나를 추가하기 위하여 키를 누르는 경우, 예를 들어, 문자열 "REL"에 문자 "R"을 추가하는 경우, 추가로 입력된 문자열에 일치하는 단어가 사전에 없다면, 경고음('삐'소리)이 들리거나 및/또는 화면상에 "NO Match Found"라는 메시지가 표시될 수 있다. 이렇게 되는 원인으로서는 (a) 스펠링 실수 또는, (b) 사전에 리스트 되지않는 단어("새로운"단어)가 입력되는 경우가 있다.
상기 경고음의 원인을 밝히기 위하여, 사전에 접근하여 스펠링을 검사하거나 단어 리스트를 시험해보는 것이 유용하다. 지시기능키를 눌러 화면상에 표시된 "relr"이라는 문자열을 하이라이트 시킨다. 그러면, 사전 상의 단어의 리스트(입력된 마지막 문자열로부터 시작하는, 이 경우, "REL"에 대응하여 사전에서 찾은 일치되는 문자열로 시작하는, 단어의 리스트)가 아래 열들에, 즉 문자열 “relr”의 바로 아래에 표시된다(또는, 화면의 아래 부분에 있는 원도우에 표시된다). 이후, 사전의 단어를 스크롤하여 리스트로부터 원하는 단어를 선택하고, 이를 홈라인으로 이동시킨다.
화면에 표시된 단어들 중 하나가 하이라이트된 상태에서 지시기능키를 누르면, 하이라이트된 단어의 동의어 또는 반의어가 화면에 표시된다.
스펠링 실수는 통상의 방법으로 교정할 수 있다. 문자열이 화면에 표시된 경우라면, 문자열 리스트의 맨 위에 있는 한 단어를 교정하면, 그 이하의 열에 있는 모든 문자열이 함께 교정된다.
지시기능키, FX를 누르면, 현재 사용되고 있는 포맷으로부터 26문자 키보드포맷, 즉, 키 하나에 문자가 하나씩 할당된 키보드 포맷으로 프로그램이 전환되어, 특별한 혼동 없이 단어를 입력할 수 있게된다. 사용자는 언제든지 이 포맷으로 들어오고/나갈 수 있다.
방법Ⅰ, Ⅱ, 또는 Ⅲ을 사용할 때, 입력된 것과 일치하는 문자열을 사전에서 찾을 수 없는 경우, 그 결과로서 입력들의 모든 가능한 조합들이 입력된 문자열에 추가되어 화면에 표시되고, "Word Not Found"와 같은 메시지가 화면에 표시되어 사용자에게 경고를 준다. 도 44에는, FRIEND"라는 문자열을 찾을 수 없어서, 입력된 문자에 대하여 가능한 모든 문자열들이 화면에 표시된 예가 나타나 있다. (마지막 문자를 입력한 후에 12개의 문자열이 화면에 표시되었음.) 문자열의 마지막 문자가 입력된 후, 원하는 경우, 구두점 마크를 입력할 수 있으며 원하는 문자열이 홈라인에 있는 경우 스페이스 바를 누를 수도 있고, 또는, 원하는 문자열이 홈라인 아래에 있는 경우라면 선택키를 사용하거나 기타 다른 선택 방법을 이용하여 원하는 문자열을 홈라인으로 이동시킬 수도 있다. 또한, 홈 라인 아래에 있는 문자열들을 삭제한 다음, “문자열 A”와 다음 문자열에 첫 문자 사이에 필요한 스페이스를 만들고, 다음 문자열의 첫 문자를 입력 할 수 있다.
“선택키 #3 또는 #4”를 누르거나 또는, 지시기능키 F1과 “선택키 #1또는 #2”를 함께 누르면, 문자열이 완성되기 전이라도 입력되고 있는 문자들을 홈라인으로 이동시킬 수 있다. 다른 문자열이 삭제된 다음 타이핑을 계속하여 입력시킬수 있다. 상기 설명된 과정은 원하는 문자열이 선택될 때까지 계속 수행된다.
도 44의 예를 이용하여 완성되기 전에 문자열을 선택하는 예를 설명하고자 하는 바, 여기에는 문자열 "FRIEND"의 가능한 모든 조합이 표시되어 있다. 표 8은 선택키를 누른 이후의 화면표시, 즉, 문자열 도 44의 세 번째 화면표시인 “FRI” 이후의 화면표시가 홈라인으로 이동하는 것을 보여주는 도표이다. 이 입력 이후의 화면표시가 아래의 표 8에 보여지고 있다. (마지막 문자를 입력하면 화면상에 두 개의 문자열이 표시된다.)
화면표시 # | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ |
FRI | FRIE | FRIEN | FRIEND | FRIEND | |
FRIF | FRIFN | FRIFND |
화면표시 Ⅶ에서, "FRIEND"라는 단어가 홈라인에 표시되어 있다. 사용자가 스페이스 바를 누르는 경우, 홈라인 아래의 문자열이 삭제되고, 프로그램은 다음 단어의 첫 문자가 입력되기를 기다리는 상태가 된다. 이 예에서, 원하는 입력들 중 남아있는 모든 것이 즉시 홈라인에 표시된다. 만약, 이렇게 되지 않고 원하는 문자열이 홈라인 아래에 표시되어 있으면 적절한 선택키를 이용하여 원하는 문자열을 홈라인으로 이동시키고, 만약 홈라인의 위 및 아래에 혹시라도 다른 문자열이 있으면 삭제되게 된다. 이후 상기 프로그램은 다음 문자열의 첫 문자가 입력되기를기다리는 상태가 된다.
방법Ⅳ
이하의 표준들은 방법Ⅳ라 칭하는 본 방법에 따라 원하는 문자열을 입력하는 방법에 관한 것이다. 이 방법은 독립적으로 사용될 수도 있으며, 또는, 방법 Ⅰ, Ⅱ 또는 Ⅲ과 결합되어 사용될 수도 있다. 예를 들어 방법Ⅳ가 방법Ⅰ과 함께 사용된다면, 사전에서 일치되는 문자열을 검색하는 과정도 함께 사용된다. 도 45에는 방법Ⅳ만을 단독으로 사용하여 표시되는 단어, 방법Ⅰ만을 사용하여 표시되는 단어 및 방법Ⅰ과 Ⅳ를 조합하였을 때에 표시되는 단어를 보여주고 있다.
방법Ⅳ는 새로운 단어를 입력하는 경우에 특히 유용하다. 이 방법을 이용하는 경우 선택키가 사용되는 횟수는 다음에 의존한다: (1) 문자가 할당된 키들의 수, (2) 이들 키에 할당된 문자들의 선택여부, 및, (3) 이하에서 설명되어지는 것과 같이, 어떤 문자열이 홈라인에 있게 될 것인가에 관한 통계적인 정보의 사용 여부. 도 48(도 46, 47, 48(a) 및 48(b)에 근거함)에서 보듯이 두 개의 단어마다 거의 한번씩 선택키가 사용된다.
이하의 설명은 방법Ⅰ, Ⅱ 또는 Ⅲ을 사용하지 않고 방법Ⅳ만을 단독으로 사용하는 것에 관계된 것이다(즉, 일치되는 문자열에 대한 검색이 없음). 방법Ⅳ는 이하에서 설명되는 6개의 "표준"과 도 45를 참조하여 설명된다.
(1) 이 방법을 위한 프로그램을 실행하기 위하여 지시기능키 F2를 누른다.
다음으로, 하나의 문자가 할당된 키를 누르면 이 문자가 화면에 표시
된다. 만약 둘 또는 그 이상의 문자가 할당된 키를 누르면 이들
문자들이 수직으로 표시되어, 그 중 하나는 홈라인에 표시되고 나머지는
그 아래의 다른 열에 표시된다. "Fourth"라는 단어를 예로서, 도 45,
행3, 방법 Ⅳ를 참조하라. 원하는 단어가 홈라인 아래의 열에 있는
경우에는 이를 홈라인으로 이동시키기 위하여 선택키 또는 본 발명에
개시된 다른 방법 중 하나를 사용할 수 있다. 기능키 F2를 누른다면
"선택키 #1 및 #2"가 이 목적으로 이용될 수 있다. 그러나, F2키를
사용하지 않은 경우라면 "선택키 #1 및 #2"를 대신하여 선택키 #5가
사용된다.
(2) 도 45의 화면표시 #1에서 #6 까지의 문자열 "desire"와, 화면표시 #2,
4, 5 및 6의 문자열 "fourth"에서와 같이 원하는 문자열이 홈라인에
있는 경우에는 선택키를 입력할 필요가 없다.
(3) 방법Ⅳ의 프로그램에서, 원하는 문자가 홈라인 아래에 있는 경우라면,
다음 문자를 입력하기 전에 원하는 문자를 선택할 필요가 있다(이러한
선택이 도45에서는 애스터리스크에 의하여 표시되고 있다). 선택되지
않은 경우에는 다음 문자가 입력되면 화면에서 삭제되게 된다. 예를
들어, "FOURTH"라는 단어를 입력할 때에, 문자"f"가 첫 번째 화면에서
홈라인 아래의 열에 있는 경우 이를 선택하야 하며, 그렇지 않으면,
프로그램이 문자 "E"(문자 "F" 위에 있음)를 원하는 문자로 인식하여,
다음의 문자가 입력되면 홈라인 아래의 "f"를 삭제해 버린다. 만약 문자
"f"가 선택되지 않으면 다음 문자(들)의 입력에 의하여 홈라인 아래의
문자들이 선택되지 않았음을 확인되고, 홈라인 아래에 표시되었던 모든
문자열들이 삭제된다.
(4) 하나의 문자가 입력되는 경우라면, 이 문자는 홈라인에 표시될 수밖에
없는 바, 이는 이 문자가 입력되기 이전에 홈라인 아래의 문자열들이
이미 삭제되었거나 또는, 홈라인으로 이동하였기 때문이다. "fourth"
라는 단어를 예를 들어, 세 번째 화면표시에서 보이는 바와 같이 "t" 및
"u"를 입렵하고 선택키를 누른다음 "FOU"를 선택한다. 이렇게 하여,
다섯 번째 화면표시에서 단일문자 "R"을 입력하기 전에 홈라인이 이미
"FOU"로 정하여 진다. 원하는 문자열이 완성되어 홈라인에 표시되면,
이후 사용자가 원하는 경우 구두점 마크를 입력 하고 스페이스바를
누르면 시스템이 다음 문자열의 첫 문자의 입력을 기다리는 상태가
된다. 원하는 문자열이 홈라인 아래에 있는 경우라면, 선택키를 이용
하거나 앞에서 설명한 다른 방법으로 홈열로 이동시킨 후, 다음 작업을
계속 할 수 있다.
하나의 문자열 입력이 끝나면, 프로그램이 자동적으로 한 단계 뒤로 이동하여 방법Ⅰ,Ⅱ 및 Ⅲ을 선택할 수 있는 메뉴구조(menu structure)로 옮겨가게 된다. 그러나, 사용자가 방법Ⅳ의 프로그램에 머물러 있기를 원하는 경우, 또 다른 지시기능키를 눌러 방법Ⅳ로 계속 작업을 수행할 수 있다.
상기 방법은 문서을 입력하는 경우에도 사용될 수 있다. 또한, 이 선택방법은 한손용 또는 양손용 키보드에 모두 적용될 수 있다. 키보드 설계를 나타내는 애스터리스크 표시가 첨부된 도면들에서 사용된 바, 이는 선택키를 및/또는 지시기능키 F1과 F2의 위치를 표시하기 위한 것이다.
방법Ⅳ가 문장을 입력하는 효과적인 수단이 되기 위해서는 선택키들의 위치가 매우 중요한 역할을 한다. 문장의 입력을 위하여 방법Ⅳ가 사용되는 경우 두 개를 넘지 않는 문자가 각 키에 할당되어 있다면, 두 개를 넣지 않은 수의 선택키만이 필요하게 된다. 쉽게 접근할 할 수 있는 키를 상기 선택키로 지정하여 사용하는 것이 바람직하다. 예를 들어, 도 31(a)의 키보드에서 QWERTY 문자인 "G" 및 "H"에 할당된 키들이 각각 "선택키 #1 및 #2"로 지정될 수 있으며, 또한, QWERTY 문자 "Y" 및 "B"에 할당된 키들이 각각 지시기능키 F1 및 F2로 사용될수 있다. 만약 오른손으로 누르는 키에 문자가 할당된 경우라면, 상기 QWERTY 문자로 된 "G"키를, 문자키의 입력과 동시에 또는 순차적으로 왼손을 사용하여 누를 수 있다.
특정의 키들에는 알파벳 순서로 문자들을 할당할 수 있다. 그러나, 스크린에표시되는 문자들의 순서는 알파벳순이 아닌 바, 이는 방법Ⅰ내지 Ⅳ에서 원하는 문자가 홈라인에 있을 수 있는 가능성을 놀이기 위해서이다. 예를 들어, 문자 "K"와 "L"이 동일한 키에 할당되어 있는 경우, 이 키를 누르면 문자 "L"이 문자"K"의 위쪽에 표시되는 바, 이는 "L"의 사용빈도가 "K"에 비하여 높기 때문이며, 따라서, 문자 “L”이 원하는 단어로서 홈열에 오게될 가능성이 높아지게 된다. 또한 문자 "S"가 단어의 첫머리에 오는 경우는 문자 "R"이 첫머리에 오는 경우보다 두 배나 높으며, 사용빈도에서도 문자"S"가 문자"R"에 바하여 25%가 높다. 따라서 "S"와 "R"이 동일한 키에 할당되었다 하더라도 문자 "S"로 시작하는 문자열이 홈라인에 오게 된다(참조: 도 47 및 도 48). 각 키를 누를 때마다 높은 사용빈도의 문자열이 결정되게 된다.
이상에서 확인된 바와 같이, 어떤 문자열이 홈열 또는 홈열과 가장 가까운 위치에 오게 될 것인가에 대한 결정은 입력되는 문자들에 대한 특정의 통계적인 정보에 의하여 이루어진다.. 이 결정의 목적은 홈라인에 오게 되는 문자열 및 홈라인의 아래 열에 오게될 문자열을 정하는 것이다. 각 문자와 문자열들에 대하여 문자열에 있는 단어의 수에 기초하여 사용될 가능성이 대한 등급을 매길 수 있다(이하 이를 "등급(rank)"이라 부른다). 둘 또는 그 이상의 문자들이 할당된 키를 눌러서, 일치되는 문자열에 대한 사전의 검색이 수행된 다음 일치되는 문자열이 둘 이상 발견된 경우라면, 상기 검색에는 일치되는 문자열을 찾는 작업 뿐만 아니라, 각 문자열의 등급을 매기는 작업도 포함되게 된다. 즉 "aid와 bid", "care와dare" 및 "might"와 "night"의 경우처럼 동일한 입력에 의하여 경쟁하는 단어들에 대하여 "가중치(weight)"를 매기는 작업이 가능하도록 프로그램하여야 한다.
상기 등급에 의하여 화면에 표시되는 단어의 등급이 정하여 진다. 그러나, 사용자가 원하는 경우, 프로그램을 알파벳 순서로 세팅하여 사용할 수도 있다.
도 48에는 알파벳 각 문자가 사전상의 단어의 첫 문자로서 사용되는 빈도를 보여주는 표이다. 첨부된 키보드 디자인들 중 대부분 문자 I, J, 및 K가 동일한 키에 할당되어 있다. 이중 문자"I"는 983단어, "J"는 179단어, "K"는 147단어에서 첫 문자로 사용된다. 또한, 21,110단어의 사전의 106,000문자들 중에서 문자 "I"는 8,000번, "J"는 400번, "K"는 800번이 사용된다. 이로부터 문자열의 첫 문자 및 문자열 내의 다른 위치에서의 우선순위가 문자 "J" 또는 "K"보다는 문자 "I"에 있음이 명백하다.
문자 "O"와 "P"는 동일한 키에 할당될 수가 있다. 사전상의 21,110단어 중에서 1,772단어의 첫 문자로 사용되는 반면 "O"는 509단어에서만 첫 문자로 사용될 뿐이다. 따라서, 문자 "O"와 "P"가 할당된 키를 문자열을 입력하는 첫 키로서 누르는 경우, 원하는 단어가 문자 "P'로 시작할 가능성이 높은 바, 문자 "P"가 홈라인에 표시된다. 그러나, 첫 문자가 아닌 경우 문자 "O"가 올 가능성이 높아진다. 사전상의 106,400문자들 중, 문자 "O"는 8,000번이 사용되나 문자 "P"는 2,000번만이 사용된다(참조: 도 47). 이러한 일반성은 계속되는 문자가 모음인 경우에는 적용되지 않는다.
또한, 문자와 문자열들의 사용빈도에 관한 통계적인 증거는 "ste", "sue" 및 "suf"에서와 같이 연관군의 사용 빈도를 이용하여 평가될 수도 있다. "ste"로 시작하는 단어는 70개, "sue"로 시작하는 단어는 3개, "suf"로 시작하는 단어는 13개가 있다. "ste"로 시작하는 단어가 "sue" 또는 "suf"로 시작하는 단어보다 원하는 단어가 될 가능성이 높아지는 것은 당연하다.
단어 또는 음절이 시작되는 경우, 자음 뒤에는 일반적으로 모음이 오고, 그 역도 마찬가지이다. 이 사실도 어떤 문자열이 홈라인에 올 것인가를 결정하는 인자가 될 수 있다. 예를 들어, 첫 번째와 입력이 "aa"또는 "ab"인 경우 문자열 "ab"가 홈라인으로 오게된다. "aa"로 시작하는 단어는 하나밖에 없으나, "ab"로 시작하는 단어는 많이 있기 때문이다.
문자와 문자열이 사용되는 빈도에 관한 통계적인 정보는, 단어 입력의 시작에 대한 선택키와 결합하여 사용될 수 있다; 즉, 이 경우 원하지 않는 단어의 수를 줄일 수 있으며, 이에 따라 8-키 내지 10-키 키보드가 보다 보다 만족스럽게 사용될 수 있다.
키보드와 컴퓨터가 전선으로 연결되어 있어서, QWERTY 문자들을 대신하여 키보드의 각 키에 할당된 재정의된 문자들에 대한 SCAN코드가 컴퓨터로 보내어 질 수 있다(참조: 표 8의 행Ⅱ의 문자들). 뿐만 아니라, 랩탑, 노트북 또는 기타 휴대용 컴퓨터처럼 키보드가 컴퓨터와 분리되지 않고 컴퓨터와 집적된 상태로 사용될 수도 있다.
첨부된 도면들에서, 오른쪽 상단의 키들 위에 있는 문자들은 QWERTY 키보드 포맷에 따라 할당된 문자들이다. 각 키의 중간에는 그 키에 할당된 알파벳 문자들이 있다(즉, 재정의된 문자). 도 31(a)에는 또한, 어느 손을 사용하는 것이 바람직한가와 검지 손가락의 시작위치가(startign position)가 표시되어 있다.
· 점 하나 -- 검지
·· 점 둘 -- 중지
··· 점 셋 -- 약지
···· 점 넷 -- 새끼손가락
"○"기호는 검지손가락의 시작위치를 표시한다. 원 중간의 점 하나는 그 키가 검지손가락에 할당되었으며, 검지 손가락의 "시작위치"임을 표시한다.
사용자가 확인하고 선택할 수 있도록 키보드 문자 배열이 화면에 표시될 수 있다
사용자가 사용 가능한 키보드 배열을 확인하고 싶은 경우에는 지시기능키를눌러 화면상에서 이를 확인할 수 있다. 이 경우 현재의 키보드 배열이 표시되고, 이 배열 다음에 키보드 번호가 표시된다. 이 키보드를 클릭하면(또는, 키보드 번호를 입력하면), 지시되는 키보드 배열이 타이핑 프로그램으로 입력되게 된다.
QWERTY 키보드의 키들에 대한 문자의 할당
특정의 키를 다음의 메시지가 화면상에 표시되도록 정의 할 수 있다: 이 프로그램에 의하여 QWERTY 키보드의 키에 문자를 할당할 수 있다". 이는 다양한 방법으로 실행될 수 있다. 예를 들어, 알파벳 문자들을 알파벳 순서로 정렬시킬 수도 있다. 커서가 문자 다음에 있다면, 그 문자를 할당 하고자 하는 키를 누르면 된다.
동적윈도우
단어를 형성하기 위하여 입력되고 있는 문자들이 특정의 윈도우에 표시될 수도 있다. 이 윈도우의 위 열에는 현재 타이핑되고 있는 라인(즉, 홈열)이 표시된다. 좌측은 문장의 다음 문자가 입력되는 지점에서 시작한다. 윈도우의 아래와 우측은 필요한 경우에 확장될 수 있다. 윈도우의 크기는 최소한 네 개의 문자를 볼 수 있는 넓이와 두 개의 열을 볼 수 있는 폭에서부터 시작하며, 필요한 만큼 확장하여 사용할 수 있다. 상기 동적윈도우는 삽입 포인터를 이용하여 스크린 상의 어느 위치에라도 옮길 수 있다. 지시기능키를 눌러 윈도우 상에 표시되지 않고, 이전 입력된 마지막 문자의 뒤에 문자가 표시되게 할 수 있다.
빈공간(blank space)의 사용
단어를 타이핑하면서 타이핑 속도를 증가시키거나 또는 되는 사용자가 스펠링을 확신하지 못하는 경우, 단어 사이에 빈공간을 삽입 할 수도 있다. 이 경우, 사전에 있는 단어 중, 그 입력에 대응하는 후보 단어가 화면에 표시되게 된다. 빈 공간을 입력하는 방법으로는 1) 이 용도를 위해 지정된 키 또는, 2) 스페이스 바를 이용하는 방법에 있을 수 있다. 만약, 스페이스 바를 사용하는 경우라면 문자열이 화면의 아래쪽에 표시된다. 원하는 단어가 "Kaleidoscope"인 경우를 예로서 설명한다. 사용자가 "KAL_ _ _ _SCOPE" 또는KAL_ _ _ _ _ _ _ PE"를 입력하면 "KALEIDSCOPE"가 화면상에 표시된다. 만약 사용자가 "KAL_ _ _ _ _ _ _ _"(네 개 이상의 스페이스인 경우에는 개수가 정확할 필요가 없음)을 입력한 경우라면, "KALASHNIKOV" 및 "KALEIDSCOPE"의 두 단어가 화면에 나타나고, 사용자가 원하는 단어인 "KALEIDSCOPE"를 선택하면, 나머지 "KALASHNIKOV"라는 단어가 삭제된다.
사전에 단어를 추가하는 방법
본 발명에서 개시된 방법 중 하나의 방법에 의하여, 새로운 단어를 선택한 후에 이를 사전에 추가 할 수 있다. 코드 문자들은 메모리 속에 기억되어 있으며, 상기 코드에 대응되는 각 문자들의 선택이 완료 후에 화면상에 표시되는 선택사항인 "do not add to memory"라는 옵션을 선택하지만 않으면, 단어가 사전에 입력될 수 있다.
본 발명의 또 다른 실시 예로서, 상기 키보드가 마우스와 집적되어 사용될 수 있다. 상기 키보드들은 크기를 줄일 수 있기 때문에(즉, 12 내지 15-키 키보드), 마우스 위에 모든 키들을 위한 공간이 있을 수 있다. 따라서, 사용자는 타이핑과 마우스 조작을 한 손으로 할 수 있게 된다. 쉬프트 키는 구두점 마크나 기타 다른 기능을 수행하기 위하여 사용할 수 있다. 즉, 쉬프트 키를 사용하는 경우에는, 입력 숫자 또는 구두점 마크, 또는 방향, 또는 엔터, 또는 두문자잠금 또는 기타 키보드 상에 있는 다른 기능들을 대신 할 수 있다.
본 발명에서의 지시기능키는 다양한 프로그램을 실행하는 데에 사용된다. 이스케이프키(escape key) 또는 다른 기능키가 상기 프로그램에서 빠져 나올 때에 사용될 수 있다.
사용자가 문자열을 입력하는 경우, 프로그램은 문자열을 어근으로 인식 할 수도 있다. 이 경우 그 어근을 사용하는 단어들이 홈열에 입력되고 있는 문자열의 바로 아래에 자동적으로 리스트 된다. 이후, 사용자는 원하는 문자열을 선택하면 된다. 이러한 예로서 다음의 단어들이 있다: prefer, preferable, preferably, preference, preferential.
도 38은 방법 Ⅰ및Ⅱ에서 도 38(a)에 보이는 키보드에 문자를 할당한 예이다.
도39는 문자 입력이 수행되는 경우 단어를 화면에 표시ㅏ는 방법의 방법의 예이다.
도40은 방법Ⅰ,Ⅱ 및 Ⅲ에서 문자열이 입력 될 때의 화면 표시를 보여 주는 그림이다.
도 41은 방법Ⅱ에 사용되는 사전 파일의 예이다.
도 42는 방법Ⅱ에 사용되는 사전파일의 예이다.
도 43은 방법Ⅲ에 문자들을 키보드에 할당한 예이다.
도 44는 새로운 단어를 입력 할 때의 모든 가능성을 보여주는 화면이다.
도 45는 방법Ⅳ, 방법Ⅰ 및 방법Ⅰ과 방법Ⅳ을 결합 한 예이다.
도 46은 방법Ⅳ에 있어서, 선택키들을 사용하는 빈도이다.
도 48A는 단어의 첫 문자로 사용되는 빈도를 보여주는 표이다.
도 48B는 계산을 위한 키보드 배열을 보여주는 그림이다.
도 49는 9 내지 17-키 키보드의 문자 배열을 보여주는 그림이다.
본 발명은 특정의 키 또는 모든 키에 둘 이상의 문자가 할당되어 있고, 또한 사용자가 한번의 스트로크만으로 원하는 문자를 선택할 수 있는 키보드를 이용하여 타이핑하는 방법에 관한 것이다. 또한, 사용자는 각 문자가 입력되면서 생성되는 단어(들)를 볼 수 있으며, 타이핑 도중 에러가 발생하면 종래의 타이핑에서와 유사한 방법 즉, 백스페이싱 후 정확한 문자(들)를 타이핑하는 방법이나 기타 다른 방법으로 교정할 수 있다. 바람직하게 문자할당이 된 14-키 키보드를 이용하여 타이핑하는 경우라면, 문자들의 입력이 완료된 다음 단어를 입력하기 위하여 단지 스페이스 바만을 사용하는 때에 있어서, 84,532 단어를 포함하는 사전을 사용한다면, 단어들 중 98% 이상의 경우에 원하는 단어가 윈도우의 최상단 열에 표시되고, 이들 단어를 문서에 입력하기 위해서는 단지 한번의 스페이스 바 입력이 필요할 뿐이다. 나머지 2%의 80%의 경우에는 윈도우의 두 번째 라인에 표시되는 바, 이들도 단지 한번의 스트로크만으로 문서에 입력될 수 있다. 바람직한 13 내지 14-키 키보드를 이용하는 경우, 문자 당 평균 1.25이하의 스트로크로 사전에 없는 단어를 구성하는 문자들을 선택할 수 있다. 하나의 키에 둘 이상의 문자가 할당된 또 다른 시스템에서, 사용자는 분리 키(delimit key)를 눌러서 단어가 완성되었다는 것을 표시할 수도 있다. 다음으로, 입력된 것과 일치하는 단어 또는 단어들은 화면표시장치 상에 표시되고, 추가입력이 필요한 것들은 최상단 열의 바로 아래 열에 표시된다. 입력 도중에는 단어를 볼 수 있는 기회가 없으며, 이 때문에 단어코드가 완성될 때까지 에러의 교정이나, 또는 에러가 발생하였는지에 대한 검사를 위한 각 문자열에 대한 주의 깊은 평가가 미루어질 수밖에 없다. 각 입력에 대응하는 문자들이 횡으로 또는 종으로 화면상에 표시된다면, 정확한 입력인지를 증명하기 위하여 입력되고 있는 문자들을 집어낸다는 것이 대단히 어렵다. 이러한 시스템으로는, 타이핑상의 에러는 입력이 완료된 다음에 알 수 있게 되며, 원하는 단어가 화면상에 표시되지 않는다. 본 발명에서 개시된 시스템은 사용자가 각 문자가 입력될 때마다 실제로 생성중인 단어를 눈으로 볼 수 있는 기회를 부여한다는 장점이 있다. 따라서, 스페이스 바를 누르는 경우 지체없이 다음 단어의 첫 문자를 입력할 수 있게 된다. 반면에, 타이핑을 하고 있는 사람이 스페이스 바를 누를 때까지 입력되고 있는 단어를 볼 수 없는 경우라면, 다음 단어를 입력하기 전에, 스페이스 바를 누른 후 입력된 단어가 정확한 가를 확인하기 위하여 머뭇거릴 수밖에 없는 바, 이 때문에 입력이 늦어지게 되는 것은 필연이다.
본 발명에서 개시된 시스템을 이용하는 경우, 사용자는 문자들을 교정에 필요한 입력을 촉진시키는 문자열과 한 화면에서 연관시킬 수 있는 바, 이는 문자와 문자열들이 화면상에 표시되는 방식 때문이다. 또한, 단어가 완성되기 전에 원하는 문자나 문자열을 최상단열로 스크롤링하는 방법으로 원하는 문자나 문자열을 선택하여, 타이핑을 계속하면서 원하지 않는 문자나 문자열을 삭제하고 원하는 문자열을 최상단 열이나 최상단 열에 가까운 열로 이동시킬 수 있다. 본 발명에서 설명되어진 시스템은 원하는 단어가 생성되는 중간에 입력되는 문자들을 볼 수 있는 기회가 있다는 점에서는 종래의 타이핑방법과 매우 유사하다. 사용자가 이 시스템의 스페이스 바를 누르는 경우, 화면상에 표시된 문자뿐만 아니라 단의 완성에 대하여도 수용한다는 것을 표시한다. 타이핑 과정을 보다 용이하게 하기 위하여, 원하는 단어(문자열 중에서 최상단 열에 표시됨)에 대하여 사전의 일부가 알파벳순으로 시작하여 화면상에 표시될 수도 있다. 이들 단어들은 동적 윈도우의 하단 부분에 표시될 수도 있다. 이로 인하여 사용자는 스펠링을 검사할 수도 있고, 긴 단어의 처음 일부분만을 타이핑하여 단어를 입력할 수도 있으며, 사전에 있는 리스트로부터 단어를 선택하여 문서로 이 단어를 곧바로 입력시킬 수도 있다. 본 발명에 개시된, 적은 수의 키를 가진 키보드를 이용한 타이핑 방법에 따르는 장점은, 타이핑과정을 보다 빠르고, 쉽게 할 수 있도록 한다. 본 발명에서는, 일치하는 문자열이 사전에서 발견되는 문자열을 화면상에 표시하기 위하여 동적 윈도우가 사용된다. 한편, 문장의 입력과정을 시작하는 때에, 커서콘트롤을 사용하여 커서를 사용자가 다음 문자(들) 또는 단어들을 표시하고자 원하는 화면상의 위치로 이동시킬 수 있다. 또한, 아이콘을 클릭하거나 기능키를 눌러 도 59(a)에 보이는 윈도우가 화면상에 표시되게 한다. 도 59(a)는 문자들이 입력되기 전의 동적 윈도우를 보여주는 그림이다. 도 59(a)에서, 1, 6, 및 11번째 줄의 화살표는 이하에서는 이하에서 격자영역(grid area)라 칭하는 직각의 공간 101, 102, 및 103(각각 문자열라인, 문자라인 및 사전라인을 위한 공간임)을 가리키고 있다. 키를 눌러 특정 단어의 첫 번째 문자를 입력하면, 그 키에 할당된 문자는 이하에서 설명되는 문자열라인과 문자라인의 두 군데의 격자영역에 표시되게 된다. 격자영역에 문자가 입력되면, 윈도우가 입력되는 문자들이 표시되기에 충분할 만큼 오른쪽으로 확장되게 된다. 입력되는 각 문자는 작은 정사각형에 표시된다. 이렇게 하여 사용자는 문자열라인, 문자라인 및 사전라인의 배열을 볼 수 있게된다.
도 61(a), (b), (c), (d) 및 (e)는 각 문자가 입력될 때 격자가 변하는 모습을 보여주는 그림이다(도 60에는 사전라인이 보이지 않음). 도 60(a)-(e)로부터 각 문자가 현재 입력되고 있는 “able”이라는 단어에 추가될 때에 “The man is”라는 단어들이 동일한 위치에 머물고 있음을 확인할 수 있다. 또한, 윈도우 상에서 단어가 완성될 때까지 윈도우의 왼쪽 측면이 고정되어 있음을 확인할 수 있다. 각 문자가 추가될 때에, 윈도우 상의 격자영역이 넓어진다. 문자가 완성된 다음 사용자가 원하는 단어를 클릭하거나, 윈도우에서 단어문서로 원하는 단어를 이동시키는 키를 누른다.
도 60(e)는 “able”이라는 단어가 단어문서로 이동하여 커서의 오른쪽 위치로 옮겨갔음이 보여지고 있다(참조: 도 60(e)의 104). 커서는 계속하여 윈도우의 오른쪽 바깥에 인접하여 있고, 윈도우는 단어문서에 입력되는 문자나 기호들을 위한 공간을 확보하기 위하여 오른쪽으로 확장된다. 계속하여, 격자영역은 다음에 입력될 단어의 첫 번째 문자의 입력에 필요한 공간의 크기로 줄어든다(참조: 도 59(a)).
수평 화살표(도 59(f))의 첫 번째 라인에 있는 105)의 오른쪽에 있는, 윈도우 상의 위로부터 네 개의 라인들(도 59(f)의 1부터 4라인까지)은 문자열들을 표시하기 위하여 사용되고 있으며, “문자열라인(Sequenc Line)” 또는 “S”라인이라부른다. 이들 라인에 콘트롤키가 집중되어있는 경우, 이를 “문자열 모드(Sequence Mode)”라 부른다. 라인 6에 있는 수평 화살표의 오른쪽에 있는 라인 6, 7, 8, 및 9들은 각 입력에 대응하는 문자들을 표시하기 위하여 사용되는 라인들로서, “문자라인(Letter Line)” 또는 “L” 라인이라 부른다. 이들 라인에 콘트롤키가 집중되어있는 경우, 이를 “문자 모드(Letter Mode)”라 부른다. 라인 11에 있는 수평 화살표의 오른쪽에 있는 라인 11, 12, 13, 및 14들은 하나의 라인에 표시된 문자열들에 대응하는 사전상의 단어들을 알파벳순으로 표시하기 위하여 사용되는 라인들이다. 이들 라인은 “사전라인(Dictionary Line)” 또는 “D” 라인이라 부른다. 이들 라인에 콘트롤키가 집중되어있는 경우, 이를 “사전 모드(Dictionary Mode)”라 부른다. 단어들이 윈도우 상에 타이핑되면, 라인 1, 2, 3 및 4에 표시된다. 문자열 모드에서, 문자열라인으로 입력되는 문자들은, 입력되는 최초의 문자들(참조: 도 60(a)-(e)의 라인 1 내지 4)로 시작하면서, 사전(메모리에 있음)에서 찾을 수 있는 문자열과 일치하는 문자열을 형성하는 문자들이다. 이 입력에 대응하는 문자들이 도 60(a)-(e)의 라인 6 및 7에 표시되어 있다. 각 입력요소가 입력될 때, 일치하는 문자열을 사전에서 찾을 수 있는 문자의 열들이 문자열라인 상에 표시된다. 도 60(b)의 라인 1, 2, 3 및 4에 표시된 문자들은 aardvark 또는 able, bale, 또는 BBC가 될 수 있으며, 도 60(c)에 표시된 문자들은 bay, able, abyss, bale 등이 될 수 있다. 각 문자(들)가 입력되면서, 입력된 문자열과 일치하는 사전상의 단어가 줄어들게 된다.
예를 들어, 네 번째 입력요소가 이에 할당된 문자들인 E 및 F와 함께 입력되면, 입력되고 있는 단어에 대한 후보들 중, “able” 및 “bale”을 제외하고는 모두 삭제된다. 이후, 스페이스 바를 누르면, “able”이 단어문서에 입력된다(“BALE”을 입력시키려면 선택키 #1을 누르거나 또는, 상단 라인으로 이 단어를 스크롤한 다음 스페이스 바를 눌러야 한다). 도 60(c)에서, 가장 짧은 단어(여기서는, “bay”라는 단어)가 맨 위의 문자열라인에 오게되는 것을 확인 할 수 있다. 맨 위의 라인 또는 바로 그 아래의 라인으로 올 단어들에 대한 우선순위는 완성되는 문자열이 첫 번째, 원하는 문자열이 될 가능성이 통계적으로 가장 높은 단어가 두 번째이다. 동일한 길이의 단어들에 대해서는 가장 자주 사주 사용되는 단어가 우선순위를 갖는다. 이렇게 하여, 한번의 입력으로 보다 많은 단어를 입력시킬 수 있는 기회가 높아지게 된다.
하나의 문자열에 대하여 일치하는 단어가 사전에서 둘 이상이 발견되는 경우, 이들은 문자열라인에 표시된다. 문자(들)가 입력되어, 사전에서 최소한 하나 이상의 일치하는 문자열이 발견되는 경우, 입력에 대응하는 하나의 문자가 추가된 후 사전에서 일치하는 문자열이 발견된 문자열(들)은 화면상에 표시된 채로 남아있고, 사전에서 일치하는 문자열이 발견되지 않은 단어는 화면에서 삭제된다. 사전 상에서 일치하는 문자열이 발견된 단어에 문자 하나가 추가되어 일치하는 문자열이 없게된 경우라며, 이러한 문자열들은 여전히 화면상에 표시는 되나, 마지막으로 입력된 문자를 포함하지 않은 이전의 문자열은 흑백형태(black type)로 표시되고, 마지막의 입력과 추가된 문자는 붉은 색으로 표시된다. 이후 사용자가 스페이스 바를 누르면, 문자열라인의 맨 위 라인에 있는 문자열은 윈도우에서 단어문서로 이동한 다음, 사전에서 일치하는 문자열이 발견되는 경우는 흑색으로 표시되고, 발견되지 않는 경우는 붉은 색으로 표시되게 된다. 만약, 선택키 #1을 누르는 경우는 맨 위의 라인에서 바로 하나 아래 라인에 있는 문자열이 윈도우에서 단어문서로 이동하게 된다. 원하는 문자열이 맨 위의 라인에서 두 개의 열 이상 떨어져 있는 경우에는, 이를 맨 위의 라인으로 스크롤한 다음, 스페이스 바를 누르는 방법으로 문자열을 이동시킨다. 맨 위 라인의 아래 라인으로부터 단어문서로 이동되는 문자열들 역시, 사전에서 일치하는 문자열을 발견할 수 있느냐의 여부에 따라 흑색 또는 붉은 색으로 화면에 표시된다. 또한, 각 입력에 대응되는 문자들이 화면상의 문자라인에 표시되고, 이 문자들이나 문자열들이 스페이스 바나 선택키 #1을 누르면 윈도우상에서 사라짐을 확인할 수 있다.
따라서, 문자열라인에 나타나지 않는 “balf”와 같은 “새로운 단어”는 다음과 같은 방법에 의하여 가능하다(참조: 도 60(d)): (1) 문자라인#7에 있는 문자 “F”를 클릭하여, 이를 문자열라인으로 스크롤하고, 문자열라인에 나타나게 할 수 있도록 하는 방법, 또는 (2) 스크롤키 #2를 눌러 “E” 및 “F”를 스크롤하는 방법. 또한, 문자열 모드에서 문자열에 입력되는 문자들에 의하여, 문자라인 중 맨 위 라인의 우선 순위가 바뀌어, 문자열의 맨 위 라인과 문자라인이 일치하게 된다. 이와 유사하게, 문자라인에 입력되는 문자들에 의하여, 문자열라인 중 맨 위 라인의 문자열에 표시되는 문자들이 바뀌어, 문자라인과 문자열라인의 맨 위 라인이 일치하게 된다. 예를 들어, 도 60에는 “able”이라는 단어가 입력되는 경우의 화면에 표시되는 것들을 보여주고 있다. 도 60(c)에서 보듯, 이 단어의 세 번째 문자의 입력에 의하여, “Bay”라는 단어가 이 시점까지 입력된 것에 대응하여 사전 상에서 일치하는 단어로 발견된다.
결과적으로, 도 60(c)의 행 #3, 라인 6의 문자는 “Y”가 된다. 문자 “L”은 보통, 문자 “Y”보다 우선 순위가 앞서는 바, 이는 “L”이 보다 자주 사용되기 때문이다. 문자열라인과 문자라인의 맨 위 열을 유지하면서, 사용자는 각 모드의 맨 위 라인을 보고, 문자라인 또는 문자열라인 중 어디에 주의가 집중되고 있는가에 관계없이 스페이스 바를 눌러 올바른 단어를 입력할 수 있음을 확신할 수 있게 된다. 만약, 하나의 일치하는 문자열이 발견된다면, 이는 문자열라인의 맨 위 라인에 표시되게 된다. 만약, 둘 이상의 문자열이 발견되는 경우라면, 특정한 통계적인 정보(이하에서 설명됨)에 근거한 순서로 이들이 화면상에 표시되게 된다. 도 59(a)에서, 영역 101의 4개 라인은 문자열라인이다. 각 라인이 고정된 채, 상기 문자열라인에 보다 많은 문자열이 할당될 수도 있으나, 윈도우가 종, 횡으로 동적이어서 라인 또는 행이 추가 또는 삭제될 수도 있다.
사용자는 문자를 클릭하는 방법에 의하여 원하는 문자를 선택하고, 이를 단어문서로 이동시킬 수 있다. 이 방법으로 라인 1, 2, 3 및 4의 단어를 한번의 입력으로 단어문서로 이동시킬 수 있게 된다.
문자들의 입력에 필요한 라인의 수는, 특정의 키에 할당된 문자들의 최대수에 따라 달라진다. 하나의 키에 둘 이하의 문자가 할당된 경우라면, 도 59(a)-(f)에서 4개의 문자라인이 필요한 것과는 달리 단지 두 개의 문자라인만이 필요하다. 선택키 #1을 누르면, 문자열라인의 맨 위 라인에서 하나 아래의 라인에 있는 단어가 단어문서로 이동하게 되며, 또, 이 라인 아래의 라인에 있는 원하는 문자열이 스크롤되어 맨 위의 라인으로 이동하고, 스페이스 바를 누르면 단어문서로 이동하게 된다.
문자열이 완성되기 전에 스크롤되어 문자열라인의 맨 위 열로 이동하면, 상기 스크롤 이후 다음 문자의 입력으로 올바른 문자열이 현재 맨 위 열에 있다는 것을 확인할 수 있으며, 맨 위 라인 아래의 문자열들을 화면에서 삭제되게 된다. 만약, 사용자가 실수가 있었음을 깨닫고 이전화면을 다시 보기를 원하는 경우라면, 백스페이스를 눌러서 마지막으로 입력된 문자를 삭제할 수 있다. 이후, 이전화면이 스크린 상에 표시되게 된다. 백스페이스를 눌러 이전화면을 복구시키는 것은 언제나 가능하다. 이러한 가능성에 의하여, 백스페이스에 의하여 잘못된 입력을 교정하고, 단어의 끝에서 시작되는 문자들을 화면상에서 지울 수 있게 된다. 이후 사용자는 올바른 문자들을 입력할 수 있게 된다. 또한, 이전에 타이핑된 단어를 수정한 것을 기능키를 이용하여 자동적으로 입력할 수도 있다.
상기 스페이스 바, 스크롤키 #1 및 선택키 #1의 초점을, 토글식 스위치로 기능하는 문자열/사전 모드 키(S/D 키)를 눌러서 사전라인 쪽으로 이동시킬 수도 있다. S/D 키를 누른 다음, 스페이스 바(역시, 또 다른 키임)를 누르면, 사전라인의 맨 위 라인에 있는 단어가 단어문서로 이동하게 된다. 스크롤키 #1를 누르면, 사전라인의 단어들이 원형 스크롤로 스크롤되어 내려가고, 선택키 #1을 누르면, 반대방향의 원형 스크롤로 스크롤되어 내려가게 된다.
도 59(f)의 격자영역 중, 영역 108의 오른쪽에 있는 다섯 번째 라인에는, 도 59(c)의 영역 109의 수직 화살표가 보이는 바, 이 화살표가 행위에 있는 경우, 스크롤키 #2를 누르면 이 행의 문자들이 이동하게 된다. 상기 수직화살표키를 누르면, 수직화살표는 사용자가 선택한 행 위로 이동하게 된다. 상기 수직화살표는 수직화살표키를 누를 때까지는, 어떠한 격자가 도 59(f)의 영역 108의 옆에 인접하여 있더라도, 이 격자 위에 있다. 문자가 입력되면, 격자들의 행이 영역 108의 왼쪽에 추가된다(이를 “위치 #1”이라 함). 만약, 단어를 입력하는 도중에 수직화살표가 이동한다면, 그 단어가 추후 입력되거나 삭제되는 경우 이 화살표가 위치 #1로 다시 돌아오게 될 것이다.
일련의 문자들이 입력되는 경우라면, 상기 화살표는 도 59(f)의 영역 108에 인접한 라인 5에 머무르게 될 것이다. 이후, 문자들이 입력되는 격자들의 행으로이동한다. 따라서, 각 문자들이 입력되면서 이 화살표가 왼쪽에서 오른쪽으로 이동한다. 사용자가 문자들이 입력되는 즉시 스크롤키 #2를 눌러 위치 #1에서 문자들을 선택할 수 있으며, 이에 따라, 원하는 문자가 문자라인 중 맨 위 라인으로 이동하게 된다. 문자열의 입력 도중, 스크롤링, 문자의 삽입 또는 선택과정에서의 초기 값(default) 중 하나에 의하여 하나의 문자가 선택되어 문자라인의 맨 위 라인으로 이동한다면, 사용자가 또 다른 문자를 선택하여 문자라인의 맨 위의 라인으로 이동시키거나 또는 삭제하기 전 까지는, 선택된 문자가 문자라인 또는 문자열라인에 머무르게 된다. 상기와 같은 작업은 스크롤키 #2를 사용하거나 또 다른 문자를 삽입하는 방법으로 수행될 수도 있다. 상기에서 선택된 문자는 문자가 완성되어 단어문서로 이동되거나 문자열이 지워질 때까지는 특징적인 색으로 화면상에 표시된다. 상기 수직화살표는 사용자가 상기 수직화살표키를 누를 때까지는 도 59(f)의 영역 109에 머무르게 된다. 이 키를 처음 누르면, 수직화살표가 라인 5로 이동하여, 입력되는 문자열의 첫 번째 문자가 있는 격자 위에 있게 된다. 이 격자는 왼쪽으로 가장 먼 위치의 격자이며, 도 59(f)의 행 1과 동일한 격자이기도 하다. 이 위치로부터, 상기 수직화살표키를 한번씩 누를 때마다 화살표가 한 행씩 오른쪽으로 이동하게 된다. 이후, 화살표가 왼쪽에서 오른쪽으로 움직이게 되는 바, 이 방향은 철자를 확인하고 수정하는 자연스러운 방향이 된다. 만약, 원하는 문자가 문자들로 이루어진 행의 맨 위 라인에 위치하지 않은 경우라면, 사용자는 상기 수직화살표키를 눌러 수직화살표가 편집이 필요한 다음 행의 맨 위 라인으로 이동시키고, 원하는 문자를 맨 위 라인으로 스크롤하여 이동시킬 수 있다. 만약,모든 문자들이 맨 위의 라인에 있는 때에는, 사용자가 스페이스 바를 누르면 단어가 단어문서로 이동하게 된다.
이하의 프로그램에 의하여 스크롤키 #2가 위치 #1에 있는 경우에 이를 이용하여 사전에 없는 단어를 입력하는 것이 가능하게 된다. 만약, 사용자가 사전에 없는 단어를 입력하는 경우에는, 문자들이 문자라인에서 맨 위의 라인이나, 그 이하의 라인에 있을 것이다. 원하는 문자가 맨 위 라인에 있는 경우에는 언제나 다음 입력요소를 입력시키면 된다. 사용자가 스크롤키 #2를 누르지 않는 경우에는, 초기 값에 의하여 맨 위 라인의 문자가 원하는 문자로 인식되기 때문이다.
이상에서 설명된 바와 같이, 수직화살표는 위치 #1의 두 번째 입력요소에 대응되는 문자들 위에 있게된다. 만약, 상기 두 번째 입력요소에 대응하는 원하는 문자가 맨 위 라인의 아래에 있다면, 사용자는 상기 문자를 스크롤하여 맨 위 라인으로 이동시키고, 다음 입력요소를 입력한 다음, 다시 수직화살표를 이동시켜, 문자가 화면상에 표시될 때 표시되는 그 문자 위에 상기 수직화살표가 위치하도록 한다. 올바른 문자들을 선택하기 위하여 필요한 입력은 단지 (1) 이들 문자에 대응되는 키를 선택하는 것과, (2) 만약, 원하는 문자열이 맨 위 라인의 아래에 있는 경우라면, 스크롤키 #2를 스크롤하여 원하는 문자를 맨 위 라인으로 이동시키는 것뿐이다.
14-키 키보드에 있어서, 바람직한 키보드배열을 이용한다면, 약 80%의 경우에 원하는 문자가 맨 위 라인에 있게될 것이다(이하의 설명 참조). 또한, 이 키보드 포맷을 이용하여, 각 키에 셋 이상의 문자가 할당되지는 않는다. 따라서, 이 경우에도 약 20%의 경우에는 단지 스크롤키를 한번만 누르면 된다. 문자를 스크롤하기 위하여 마우스를 사용하는 경우라면, 마우스를 한번만 클릭하면 되는 것이다. 다음 문자를 입력하거나 또는 스페이스 바를 누르는 방법에 의하여 스크롤링이 완료되었다는 것을 확인할 수 있고, 따라서, 이 방법은 하나의 키에 두 개 이상의 문자가 할당된 경우에 사용될 수 있다.
문자라인의 맨 위 라인에 나타나는 문자는, 문자열라인의 맨 위 라인에 또 나타나게 된다. 원하는 문자가 맨 위 라인에 있는 경우, 스페이스 바를 누르면 문자가 윈도우에서 단어문서로 이동한다. 문자들의 행에서 문자가 지워진 경우라면, 화살표키를 움직여 격자 행위로 둔 다음, 문자들이 할당된 키를 누르면, 입력된 문자들이 이전에 삭제된 문자들이 차지하던 행에 입력되게 된다. 수직화살표가 행위에 있을 때에는 격자 위에서 오른쪽을 클릭하거나, 또는 기능키를 누르는 방법으로 문자를 삭제할 수 있다.
라인 1 및 11에 보이는 수평화살표는 콘트롤키를 각각 “S”라인 또는“D”라인에 집중시킬 때 사용하는 아이콘인 바, 만약 사용자가 이들 중 하나의 아이콘을 클릭하면, 이하에서 설명되어지는 바와 같이 모드가 바뀌게 되며, 이 경우, 사용중인 모드에 주의가 집중될 수 있도록 화살표의 색이 바뀔 수도 있다(앞서 설명된 바와 같이 S/L 모드 키가 사용되는 경우, 라인 6에 보이는 수평화살표가 사용된다).
수직화살표가 행위에 있는 경우, 그 행에 있는 문자들을 다음의 방법으로 조작할 수 있다: (1) 스크롤키를 이용하여 문자를 맨 위의 라인으로 이동시킬 수 있고, (2) 지시기능키를 눌러 특정한 행에 있는 문자를 삭제할 수 있다.
본 발명의 프로그램에 문자열 내에 문자를 삽입할 수 있는 과정이 추가될 수도 있다. 예를 들어, “Glazer”라는 단어에서, 문자 “Z”뒤에 “I”를 삽입하여 “Glazier”라는 단어로 고칠 수도 있다. 이를 위해서, 문자행 위에 있는 수직화살표를 즉시 마지막으로 교정된 문자 뒤에 둔 다음(이 경우, 문자 “Z”), 지시기능키를 누르고, 삽입될 문자가 할당된 키를 누르면 된다.
문자열이 입력된 다음, 사용자가 윈도우 상의 맨 위 라인에 표시된 문자들 중 일부 또는 전부에 대하여 교정이 필요하다 판단되는 경우에는, 앞서 설명되어진 방법을 사용하거나 또는, 지시기능키 누르는 것으로 시작되는 이하의 방법에 의하여 교정할 수 있다. 이 입력에 의하여 문자열이나 문자들이 화면상에서 삭제되게 된다. 다음으로, 컴퓨터 프로그램에 의하여, 첫 번째 입력요소에 대응되는 문자들이 화면상에 표시되게 된다. 이후, 원하는 문자열에 대한 스크롤을 진행하여 문자열의 맨 위 라인으로 이동시키거나, 또는 또 다른 문자를 삽입할 수도 있다. 이 변경이 완료된 다음, 동일한 기능키를 눌러 두 번째 문자가 화면상에 표시되게 할 수 있다. 이 과정은 단어를 단어문서에 이동시키거나 또는 화면상에서 문자열을 삭제할 때까지 계속된다.
사용자가 행의 왼쪽을 클릭하여 문자를 스크롤하기를 원하는 때에는, 수직화살표가 이 행위에 있을 필요가 없다. 문자 행의 오른쪽을 클릭하여 문자들을 삭제할 때에는, 컴퓨터 프로그램으로 수직화살표를 문자 행위로 움직인 다음, 원하는 문자(들)에 할당된 입력요소를 눌러 문자 행에 문자를 삽입한다.
동적 창을 위한 프로그램은 단지 문자열라인(라인 1, 2, 3 및 4)만을 사용하여 수행될 수 있는 바, 다시 말하면, 단지 문자열라인만을 사용하여 상기 문자들을 삭제하고, 이들의 기능을 실제적으로 달성할 수 있다. 이 경우에, 라인 5에 있는 수직화살표키는 문자열을 가리키고 있게 된다. 만약, 사용자가 스크롤키 #2를 사용하는 경우라면, 문자열라인에 있는 문자들이 스크롤되어, 상기의 스크롤된 문자들은 일치하는 문자열을 찾을 수 없기 때문에 화면상에서 삭제된 문자들을 포함하게 된다. 예를 들어, “able”이라는 단어의 네 번째 문자가 입력되는 경우(참조: 도 60), 문자 “Y”는 삭제되게 된다. 만약, 문자 “L”을 포함하는 네 번째 행이 스크롤되면 문자 “Y”(문자 “L”과 동일한 키에 할당된 문자)가 나타나게 된다.
만약, 특정의 문자가 스크롤되어 문자라인의 맨 위 라인으로 이동되면, 문자가 삭제되었다는 것을 확인할 수 있다. 이 삭제된 문자는 특징적인 색으로 화면에 표시되게 된다. 또한, 삭제된 문자에 선행하는 문자는 “확실하게 선택된 것”으로 간주되게 된다. 사용자는 이전에 확실하게 선택된 것으로 간주된 문자에 대하여도 이를 바꿀 수 있는 바, 방법에는 스크롤키 #2를 이용하여 스크롤링하거나, 삭제시키거나 및/또는 다른 문자로 치환시키는 방법등이 있다. 상기 수직화살표키는 이의 사용방법에 관하여 이하에서 설명하는 것과 동일한 방식으로, 수직화살표의 위치를 조절할 수 있다. 상기 스크롤키 #1, 선택키 #1 및 스페이스 바의 기능은 그대로 유지된다.
사전모드에는 세 개의 콘트롤키가 있다: 1) 사전라인의 맨 위 라인에 표시된 문자열을 단어문서로 이동시키는 스페이스 바, 2) 사전에 저장되어있는 단어가 아래방향으로 스크롤되어 사전라인 3에 표시되도록 하는 스크롤키 #1, 및 3) 메모리에 있는 사전이 윗방향으로 스크롤되도록 하는, 문자열 모드에서 선택키 #1로 사용되는 키. 상기 사전라인은 사용자가 먼저 S/D 모드키를 누르지 않아도 “x”문자 이상의 모든 문자가 화면상에 표시될 수 있도록 프로그램되어 있을 수도 있다.
본 발명에서 사용자가 사용할 수 있는 모든 키는 마우스 포인터나 마우스버튼을 사용하여(“클릭”하여) 제어되거나 활성화될 수 있다. 도 59(f)의 라인 10 및 11위에 있는 위 및 아래 화살표키를 클릭하여 사전라인들을 스크롤링할 수 있다.
만약, 마자막 문자가 입력된 시간 후부터 “x”양 만큼의 지연이 있는 경우라면, 모드키를 눌러 모드를 전환시키지 않고서 사전에 있는 단어들이 화면에 표시되도록 사전의 단어들이 프로그램되어 있을 수도 있다. 또한, 사용자가 상기 시간 간격을 조정할 수 있도록 프로그램될 수도 있다.
시스템을 “D” 모드로 전환시킨 다음, 적절한 모드제어키를 누르거나 마우스를 사용하여 모드를 다시 “S”모드로 전환시키지 않은 경우라면, 사용자가 단어를 입력한 다음, 선택을 수행하면 프로그램이 자동적으로 모드를 바꾸어 원래의 모드로 전환시킬 수도 있다. 사전라인에 표시된 상기의 단어들은, 순수하게 알파벳순서로 정렬될 수도 있으나, 알파벳순서이면서도 동시에 각 단어를 구성하는 문자들의 수에 기초한 순서에 의하여 정렬될 수도 있는 바, 즉, 동일한 길이의 모든 단어들이 별도의 알파벳 그룹에 속할 수도 있다. 지시기능키를 눌러, 사전라인의 맨 위에 있는 단어들에 대한 동의어 및 반의어들이 사전라인에 표시될 수도 있다. 또한, 사전라인의 맨 위에 있는 단어들을 정의하여(f(x)를 눌러) 단어문서의 팝-업 원도우에 표시할 수도 있다.
사전 리스트는 1) 통상적으로 사용되는 단어들(이하, “사전 #1”이라 함), 2) 기타 다른 단어들(이하, “사전 #2”라 함)의 두 영역으로 분류될 수 있다. 사전에서 일치하는 단어를 검색하는 방법은 여러 가지가 있을 수 있는 바, 어느 것을 사용할 것인가는 사용자의 선택사항으로 할 수 있다. 이상의 방법들은: 1) 먼저, 사전 #1을 검색한 다음, 일치되는 단어들이 검색되면 이를 화면에 표시하고, 만약, 사전 #1에서 검색되지 않는다면, 사전 #2를 검색하여 일치하는 단어를 찾아 이를 화면에 표시하는 방법과, 2) 만약, 사전 #1에서 일치되는 단어가 검색되지 않는다면, 사용자가 기능키를 눌러 사전 #2의 검색을 수행시키는 방법, 또는, 3) 사전 #1 및 #2의 검색을 동시에 수행하는 방법, 즉 이들 두 부류의 사전이 하나의 사전으로 취급되는 방법.
사전라인(도 59(f)의 라인 11, 12, 13 및 14)에 있는 단어들을 화면상에 표시하는 것은 1) 표준프로그램의 일부로서 제공되거나, 2) 사용자의 선택사항으로 제공되거나, 또는 3) 삭제된 채로 제공될 수도 있다. 이상에서 설명되어진 문자열 라인과 문자 라인을 제어하는 방법에 있어서, 문자열 라인으로부터 문자라인으로 의 전환을 제어하는 하나의 세트에 대한 초점을 변환시키기 위하여 별도의 모드전환이 필요 없다. 대신에, 스크롤키 #1 및 선택키 #1가 문자열 라인과 스크롤키 #2에 사용되고, 수직화살표키가 문자라인에 사용된다. 모드키가 사용되는 경우에는, 이상에서 언급된 네 개의 키에 할당된 기능들에 두 개의 키만이 할당되어 사용될 수 있다. 모드키 없이 필요한 입력을 수행하려면 보다 많은 키가 있어야 한다. 그러나, 문자열과 문자라인에 할당된 별도의 키가 있다면, 사용자는 그가 원하는 변환을 보다 적은 입력으로 수행할 수 있다. 예를 들어, 만약, 모드키가 사용되지않는 경우라면 특정의 문자가 문자라인으로 스크롤되기 위해서는 스크롤키 #2가 필요하나, 모드키를 사용한다면, S/L 모드키를 누른 다음, 키를 스크롤하기만 하면 된다.
상기 모드변환은 다음 중 하나로 설계될 수 있다: 하나의 모드키는 문자열 모드 사의의 원형 스크롤에 할당하고, 나머지 하나는 사전모드에 할당하거나, 또는, 2) 두 개의 모드키가 사용되어, 하나는 문자열 모드와 문자 모드의 사이를 전환시키는 데에 사용하고, 나머지 하나는 문자열 모드와 사전 모드의 사이를 전환시키는 데에 사용한다. 사용자가 구두점 마크를 입력하고자 원하는 경우에는 구두점 마크를 입력하여 라인 1에 표시된 단어를 입력시킬 수 있으며, 원하는 단어가 맨 위 라인의 바로 하나 아래의 라인에 있는 경우에는, (a) 그 열에 있는 단어를 스크롤하여 맨 위 열로 이동시킨 다음, 구두점 마크를 입력하여 구두점마크의 입력을 완료하거나, 또는, (b) 선택키 #1을 눌러, 단어를 윈도우로부터 단어문서로 이동시킨 다음, 단어문서에 직접 구두점 마크를 입력할 수 있다; 즉, 윈도우를 통하여 구두점 마크를 입력하지 않으며, 또한, 동적 윈도우 프로그램 밖으로 나올 필요 없이 구두점 마크를 입력할 수 있다.
도 59(f)의 영역 108에는 구두점이나 기타 다양한 기능들을 입력하기 위하여, 클릭하는 아이콘들이 보인다. 뿐만 아니라, 이동아이콘(shift icon)을 클릭하면, 추가적인 구두점이나 기능들을 사용할 수 있다. 이후, 사용자가 문자들에 할당된 키와 그가 원하는 콘트롤키만을 사용하여 문장을 입력할 수 있게 된다.
하나의 손으로 타이핑하고 나머지 손으로는 마우스를 조작하는 것이 본 발명의 타이핑 시스템으로 가능하게 되었다.
문서를 편집함에 있어서, 문자가 입력되는 때에 즉시 이를 편집할 것인가, 또는, 입력이 완료된 다음 편집할 것인가는 사용자가 선택할 수 있다. 여기서 “편집”이라 함은, (1) 동일한 입력에 대응하여 윈도우 상에 하나 이상의 단어가 리스트되어 있는 경우 원하는 단어를 선택하였다는 것을 확인하는 것, (2) 철자오류를 교정하는 것, 및, (3) 추가적인 단어를 삽입하는 것과 같이 문장에 다른 변화를 가하는 것을 포함한다.
특정의 문자열이 입력된 다음, 사전에서 “일치하는 문자열이 없는” 경우, 일치하는 문자열이 없는 단어를 구성하기 위하여 입력된 문자들은 붉은 색이나 또는 기타 다른 색으로 윈도우상에 표시될 수 있다. 만약, 이 문자들이 단어문서에 입력된다면, 이들은 붉은 색으로 표시되거나, 밑줄이 그어진 필기체로 표시되거나, 또는, 기타 다른 특징적인 색으로 표시되어, 일치되는 문자열이 없다는 것이 표시될 수도 있다. 뿐만 아니라, 편집이 필요한 단어들을 붉은 색이 아닌 다른 색으로 표시할 수도 있다.
삽입포인터를 편집이 필요한 단어 뒤에 둔 다음, 편집을 수행할 수 있다. 이후, 마우스 버튼을 클릭한 다음, 지시기능키를 눌러 “Edit Mode”를 입력한다.
상기 입력에 의하여 편집을 위하여 선택된 단어(이하, 이를 “단어 x”라 함)가 하이라이트 되어 동적 윈도우상에서 문자열 라인의 맨 위 라인에 나타나고, “단어 x”가 단어문서로 입력될 때 화면상에 표시되는 다른 문자열들은 문자열 라인의 맨 위 라인 아래에 표시되며, 단어가 입력되면서 타이핑되는 입력요소에 대응되는 문자들은 문자라인에 나타나게 된다.
단어의 편집은 본 발명에서 개시되어 있는 가능한 방법에 의하여 수행될 수 있는 바, 다시 말하면, 문자열라인에서 문자를 스크롤하거나, 문자를 추가하거나 또는 문자열을 선택하는 방법 등에 의하여 단어를 편집할 수 있다.
문서를 복사하거나 혹은 다른 때에, 사용자가 문서의 일부를 입력한 다음 상기 모든 편집을 수행하기를 원할 수 있다. 이를 위해서는, 기능키를 눌러 “지연편집모드(Delay Edit Mode)”로 들어가면 된다. 이 모드에서는, 사용자가 (1) 스페이스 바를 눌러 문자열라인의 맨 위 라인에 있는 문자열을 선택하거나, 또는 (2) 표시된 문자열의 선택에 대한 지연을 결정하고, 문자열의 마지막 문자가 입력된 다음 선택키 #1을 누르면 된다. 선택키 #1을 누른 다음 입력되는 문자들은 지정된 색, 즉 녹색으로 화면상에 표시되게 된다. 또한, 문자열라인 또는 문자라인의 맨위 라인에 있는 문자들이 붉은 색이라면(스펠링 실수나 또는, 사전에서 일치하는 단어를 찾지 못한 경우), 단어문서상에서도 붉은 색으로 나타나게 된다. 사용자가 편집할 준비가 된 경우에는 상기 “Text Edit”키를 누르면 된다.
다음으로, 편집을 원하는 첫 번째 단어로 삽입포인터를 이동시켜서 편집을 수행하고, 편집이 끝난 후에는 삽입포인터가 편집이 필요한 다음 단어로 이동하여 그 단어를 하이라이트 되게 하며, 그 단어와 그 단어의 입력에 대응하는 다른 단어니 문자들이 윈도우상에 표시되게 된다. 단어에 대한 편집이 끝난 후 편집이 필요한 다음 단어로 이동하는 상기와 같은 자동적인 과정은, 사용자가 편집과정을 중단하지 않는 한, 상기 문서의 일부에 대한 편집이 완료될 때까지 계속적으로 수행된다.
선택키 #1을 누른 다음 편집을 수행하는 때에 문자열라인에 줄 이상의 문자열이 있는 경우라면, 오로지 맨 위의 문자열만이 단어문서에 표시되게 된다. 그러나, “문자열 x(sequence x)”가 단어문서로 입력되는 때에 윈도우상의 맨 위 라인이 단어문서상에서 구별되는 색으로 표시되도록 하는 선택사항을 옵션으로 사용할 수 있다. 이후 사용자는 윈도우 또는 단어문서상에서 단어를 편집하면 된다. 단어문서상에서 편집하는 경우에도 통상적인 방법으로 QWERTY 키보드, 마우스, 삭제키 및 백스페에스키 등을 사용할 수 있다. 한편, “지연편집모드”에서는, 특정의 단어 뒤로 삽입포인터를 이동시킨 다음. 이 단어를 편집할 수 있다. 상기 편집이완료되면, 편집이 필요한 다음 단어로의 자동적인 이동이 시작되게 된다.
일부 또는 모든 키에 둘 이상의 문자가 할당된 키보드를 이용하여, 문자열이 입력되고 화면상에 표시되는 것과 동시에 가능한 문자열을 표시한다는 개념을 수행하는 것은 동적윈도우를 사용하지 않고서도 가능하다. 동적윈도우를 사용하는 대신에, 사전에서 일치하는 문자열(들)을 찾을 수 있는 경우, 입력된 특정한 수의 문자열들이 직접 단어문서상에서 수직으로 또는 수평으로 표시될 수 있다. 문자열들이 수평으로 표시된 경우라면, 각 입력요소가 선택될 때마다 둘 이상의 문자열이 표시될 수 있도록 삽입포인터가 움직여야 한다. 예를 들어, 문자 “a”와 “b”가 동일한 키에 할당되어 있고, 문자 “r”과 “u”가 역시 동일한 키에 할당되어 있으며, 문자 “t”가 하나의 키에 문자 하나가 할당된 유일한 키라 하면, 동일한 입력에 의하여 “art”라는 단어와 “but”라는 단어가 생성되게 된다. 화면상에는 최초의 입력후에 문자“a”와 “b”사이에 콤마를 두고“a”,“b”로 표시된다. 두 번째 입력 후에는 au, ak, bu, br이 표시되며, 세 번째 입력 후에는 art, but, aut가 표시된다. 완성된 단어들이 “art” 및 “but”가 보다 긴 단어(author 가 그 예임)의 처음 문자들인 “aut”에 앞서 오게 된다. 주어진 문자열들의 순서는 앞서 설명되어진 통계적인 접근에 기초하고 있다. 스페이스 바를 눌러 원하는 문자열로서 왼쪽으로 가장 먼 문자열을 선택할 수 있다; 만약, 화면상에 표시된 문자열이 세 개 뿐인 경우라면, 두 번째 문자열에 대하여 선택키 #1을 누르고, 스크롤키를 한번 누르면 된다. 넷 이상의 문자열이 표시된 경우라면, 첫 번째 문자열이있는 위치로 이동시키 위해서는 스크롤키를 많은 경우에는 세 번까지 눌러야 한다. 특정한 경우에는 표시되는 문자열의 수가 제한될 수 있는 바, 바람직하게는 네 개를 넘지 않아야 한다. 이 경우, 스크롤키를 누르면 다른 문자열들이 표시될 수 있다. 하나의 문자열이 선택되면 다른 문자열들은 삭제되고, 공간이 자동적으로 닫히게 된다. 문자열이 수직 또는 수평으로 배열될 경우, 문자들이 단어문서에 표시될 때 크기가 같은 크기로 표시되거나 또는, 보다 큰 크기로 표시될 수도 있으며, 또한, 스페이스 바나 선택키 #1 또는 구두점마크를 입력하여, 문자의 크기를 축소시킬 수도 있다. 한편, 삽입포인터 필요에 따라 이동시켜, 직전에 입력된 입력요소에 대응되는 맨 위 라인의 문자를 입력시킨 다음, 바로 아래의 열에 있는 문자를 입력 수도 있다.
상기의 과정은 입력요소에 대응하는 각 문자가 화면에 표시될 때까지 계속된다. 바닥열의 문자가 입력된 다음, 다음 입력에 대응하는 다음 문자들이 맨 위의 라인으로부터 시작하여 화면상에 표시된다. 사용자는 스페이스 바, 선택키 #1를 사용하거나 또는, 원하는 열을 맨 위의 라인으로 스크롤링한 다음, 스페이스 바나 구두점마크를 눌러서 상기 열중 하나를 선택할 수 있다. 사전에서 원하는 문자열을 찾은 문자열들은 흑색으로 화면상에 표시되고, 나머지(the balance)는 기타 다른 색으로 표시된다(또 다른 경우로서, 모든 문자가 색깔을 띤 채로 화면에 표시될 수도 있음). 일부 문자들이 삭제될 수도 있으며, 또한, 또 다른 일부 문자들이 삽입될 수도 있는 바, 이는, 표시된 문자열 내의 삽입이 필요한 위치에 삽입포인터를둔 다음, 삭제키, 백스페이스키, 또는 문자(들)가 할당된 키를 누르는 방법으로 수행된다. 사용자는 상기와 같은 변화가 필요한 문자열을 선택한 다음, 다른 문자열들을 화면에서 삭제 할 수도 있다. 문자열에 문자가 삽입될 때에, 상기 입력요소에 둘 이상의 문자가 할당되어 있다면, 이 입력으로부터 생기는 다른 가능성 모두가 화면에 표시되게 된다; 입력되는 문자열에 대응하여 일치하는 문자열이 사전에서 발견되는 경우라면. 만약, 사용자가 자신이 입력하는 단어가 사전에 없는 단어라는 것을 알고 있다면, 동적윈도우를 이용하는 때에 설명된 선택방법과 동일한 방법에 의하여, 동일한 입력요소에 대응하는 각 문자들의 그룹으로부터 원하는 문자를 선택할 수 있다.
문자들이 화면에 표시된 다음, 원하는 문자가 맨 위의 라인에 있다면, 사용자가 다음 문자를 입력하면, 그 문자를 선택하는 것이 된다. 원하는 문자가 맨 위 라인의 아래 라인에 있는 경우라면, 이를 맨 위의 라인으로 스크롤한 다음, 다음 문자를 입력하면 된다. 이후, 스페이스 바를 누르면, 맨 위 라인의 아래에 있는 문자들이 삭제된다.
사용자가 나중에 편집을 원하는 경우라면, 기능키를 누르고, 각 문자열에 대응하는 맨 위의 문자열만을 입력하면, 이 문자열은 지정된 색으로 표시되게 된다.
편집을 위하여 상기의 단어로 되돌아온 후에는, 그 문자열 뒤에 삽입포인터를 둔 후, 이를 클릭하고 기능키를 누르면 된다. 사용자가 지연편집모드를 선택하지 않은 때에는 화면에서 이전에 제공되었던 선택이 보여질 것이다. 사용자는 원하는 문자들을 선택하면 된다. 이상에서 설명한 것과 동일한, 편집모드를 지연시키는 프로그램은 수평으로 표시되는 문자열들에 대해서도 응용될 수 있다. 동적윈도우를 사용하는 방법에 대하여 논의된 다른 특징들이 윈도우를 사용하지 않는 방법에도 물론 적용될 수 있다.
사전에 일치하는 문자열이 있는 문자열 중, 어떤 문자열이 맨 위의 라인으로 올 것인가를 정하는 것이 다음의 예를 통하여 설명될 수 있다. 사용자가 “FACE”라는 단어를 입력하고 있으며, 키들에 할당된 문자들의 조합이 다음인 경우를 가정한다: ab, ef, ck, dj, gx, hz, im, ly, n, ot, pq, ru, s, vw.
“face”라는 단어의 경우 첫 번째로 입력되는 문자는 “e”“f”이고, 도 48(a)에는, 이 경우에는, “F”가 첫 문자가 될 확률이 46%이고, “E”가 첫 문자가 될 확률이 40%인 것으로 나타나 있다. 따라서, 첫 번째 화면에는 “F”가 맨 위의 라인에 오고, “E”가 그 아래의 라인에 오게 된다.
입력된 두 번째 문자들의 그룹은 문자 “a”와 “b”이다. 입력되는 문자들로서는 “FA”, “EA”, “EB”, “FB”가 가능하다. 사전에는 “FA”문자열에 해당하는 단어가 약 300개; “EA”는 약 70개; “EB”는 7개; “FB”는 2개(약자)이다. 이에 근거하여, 리스트 되는 단어의 순서는 “FA”, “EA”, “EB”, 및 “FB”의 순서이다. 세 번째로는 문자 “C” 및 “K”가 입력된다. 각 문자들의 가능한 조합에 대하여 사전에서 검색되는 단어의 수는(이를 입력한 후) 대략 다음과 같다. “FAC” 37개, “FAK”3개, “EAC” 1개, “EA” 0개, “K”; “EBC” 0개, “EBK” 0개, “FBC” 0개, “FBK” 0개.
문자열 “FAC”가 “FAK” 또는 “EAC”에 비하여 원하는 문자열이 될 가능성이 많은 바, 이는, face, facing, fact, facility, factor, factory, factual, faculty 등의 단어와 같이, “FAC”로 시작되는 단어가 보다 많기 때문이다(“fak”으로 시작되는 단어는 “Fake”, “Fakery” 및 “Fakir” 뿐이며, “EAC”로 시작하는 단어는 “EACH”가 유일하다). “EAC”는 상대적으로 “FAK”보다 우선순위가 앞서는 바, 이는 “EACH”라는 단어의 사용빈도가 “FAKE” 및 “FACKERY”라는 단어들의 합보다도 높기 때문이다.
따라서, 화면상에 표시되는 문자열의 순서는 다음과 같다: “FAC”, “EAC” 및 “FAK”. 이상의 우선순위가 바뀌도록 프로그램될 수도 있다. 이런 형태의 분석이 문자들의 모든 조합에 대하여 수행되어, 화면에 표시되는 문자열의 순서를 결정한다.
본 발명에서 개시된 몇 개의 키보드들은 왼손 타이핑, 오른손 타이핑 및 양손 타타핑을 위하여 고안된 것들이다. 둘 이상의 문자가 할당된 키들은 실제적으로 동일한 세트이다. 또한, 상기 키들의 배열은 실제적으로 모음과 자음에 대한 알파벳순서이다(이하에서 설명되는 단 하나의 키보드는 제외됨). 키보드의 중간 열에 대부분의 모음들이 할당되어 있으며, 또한, 거의 알파벳순서로 할당되어 있다.
동일한 키에 할당되는 문자들의 선택은 사용자가 의도하는 단어를 선택하여야 할 때에, 의도하지 않는 단어를 선택할 빈도를 줄일 수 있도록 되어있다. 상기 문자들은 할당은 대부분 이 빈도가 낮은 상태를 유지하는 것을 기본으로 하여 할당되었다. 동일한 키에 셋 이상의 문자가 할당된 경우는 없으며, 이는 의도하지 않은 단어들의 수를 감소시키고, 문자를 선택할 때에 있어서의 스크롤링을 줄이기 위함이다. 자주 사용되는 문자들은 자주 사용되지 않는 문자들과 동일한 키에 할당하였다. 자주 사용되는 문자들은 자주 사용되지 않은 문자들에 비하여 문자라인에서 위 열에 두었다. 이렇게 하여, 문자라인에서 필요한 스크롤링의 수를 감소시켰다.
이 시스템은 어떠한 길이의 키보드에도 적용될 수 있다. 6-키 키보드는 손가락을 사용하는 데에 있어서 제한을 받는 사람에게 매우 유용하게 사용될 수 있을 것이며, 또한, QWERTY 키보드의 키를 사용하기에 매우 불편한 사람의 경우, 단지 이 키보드에서 6개의 키를 줄여 사용하기를 원할 수도 있다. 또한, 이 시스템은매우 제한된 사전을 가지고 다른 목적에 적용할 수도 있다. 이 경우, 키보드상에 오직 6개의 키만 있어도 의도하지 않은 단어의 수를 줄일 수 있다.
첨부된 도 61(a)에 보이는 키보드는, 17-키 키보드의 배열을 보여주고 있다. 제거된 9개의 키는 QWERTY 키보드상에서 사용하기에 힘든 것들이다. QWERTY 키보드 상의 17개의 키들에 대한 문자의 할당은 바뀌지 않았다. 9개의 문자만이 상기 바뀌지 않은 키에 추가로 할당되었다. 대부분의 경우에는, 할당되기 이전의 문자들이 예전의 위치와 인접한 키들에 할당되었다. 이러한 키는 또한, 완전한 QWERTY 키보드를 배우는 목적으로 사용될 수도 있다.
도 61(b)는 양손용 15-키 키보드이다.
도 61(c)는 오른손용 14-키 키보드이다.
도 61(d)는 왼손용 14-키 키보드이다.
도 61(e)는 양손용 또는 왼손용 14-키 키보드이다.
*는 다음과 같은 기능키의 위치를 표시하고 있다:
수직화살표키,
스크롤키 #1,
스크롤키 #2,
선택키 #1,
S/D 모드키,
스페에스 바.
Claims (20)
- 기억장치, 화면표시장치 및 복수개의 사용자가 선택할 수 있는 입력요소를 포함하는 입력장치를 포함하는 컴퓨터를 이용하여, 생성하려하는 알파벳 문자로 이루어진 문서를 생성시키는 방법으로 하기의 단계를 포함하는 문서를 생성시키는 방법:복수의 입력요소로 구성된 입력요소 세트를 정의하는 단계;최소한 하나 이상의 상기 입력요소 또는 입력요소들의 조합이 복수개의 문자에 대응되도록, 복수개의 알파벳 문자들을 전기 입력요소들에 할당하는 단계;하나를 넘지 않는 입력요소코드를 복수의 문자에 대응되는 전기 입력요소들 또는 입력요소들의 조합 중 최소한 하나에 할당하는 단계;알파벳 문자로 이루어진 단어들과, 하나 또는 그 이상의 입력요소코드들로 구성된 코드열로 이루어졌으며 적어도 하나 이상의 전기 단어들에 대응되는 단어코드들을 기억장치에 저장하는 단계;사용자가 선택한 최소한 하나 이상의 입력요소를 감지하는 단계;선택된 각각의 입력요소에 대응되는, 하나 또는 그 이상의 입력요소코드들로 구성된 코드열로 이루어진 단어코드를 생성하는 단계;기억장치를 검색하고, 전기 생성된 단어코드에 대응되는 최소한 하나 이상의 단어코드의 위치를 찾는 단계; 및,기억장치에서 찾은 각 단어에 대응되는 전기 단어들 중 최소한 하나 이상을화면표시장치에 표시하는 단계.
- 제 1항에 있어서,기억장치에 저장된 단어들은 음성재생이 가능한 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,상기 입력요소들의 조합은, 두 개의 입력요소들의 실제적인 동시작동을 포함하는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,복수개의 문자들을 전기 입력요소들에 할당하는 단계는, 복수개의 문자들을 미리 정하여진 기간 내에 발생하는 단일 입력요소의 연속적 작동에 할당하는 단계를 포함하는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,복수개의 문자들을 전기 입력요소들에 할당하는 단계는, 다른 입력요소들의 작동에 앞서서 복수개의 문자들을 단일 입력요소의 연속적 작동에 할당하는 단계를 포함하는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,사용자의 음성 명령을 감지하는 단계; 기억장치를 검색하여 감지된 명령에 대응하는 최소한 하나 이상의 단어코드의 위치를 지정하는 단계; 및, 상기 위치가 지정된 단어코드에 대응하는 최소한 하나 이상의 단어를 화면표시장치에 표시하는 단계를 추가로 포함하는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,단어코드들은 단어코드에 대응되는 각 단어에 해당하는 최소한 하나 이상의 외국 용어에 추가로 대응되어 있는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 6항에 있어서,기억장치에 저장된 전기 단어들과 용어들은 음성재생이 가능한 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력장치는 기억장치와 화면표시장치와 분리되어 설치된 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력장치는 손에 장착되는 입력장치인 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력장치는 스위치들과, 여러 개의 키들이 장치된 최소한 하나 이상의 입력선택판넬이 구비되어, 전기 키들과 스위치들이 입력요소들의 일부를 이루는, 손에 장착되는 입력장치인 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,단어코드를 생성시키는 단계는 단어의 완료를 시험하는 단계를 추가로 포함하는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,화면에 표시된 단어중 최소한 하나 이상의 단어를 선택하는 단계; 및, 선택되지 않은 단어들을 화면에서 삭제하는 단계를 추가로 포함하는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력요소들은 사용자가 입력장치 위에 있는 사용자 자신의 손위 위치를 감지할 수 있도록 경사진 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력요소들은 사용자의 손 주위에 위치한 스위치들과 같이 배열된 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력요소들은 사용자의 손 근처에 위치한 스위치들과 같이, 그리고, 입력선택판넬의 키들과 같이 배열된 것을 특징으로 하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력요소들의 세트는 각각 동일한 문자가 할당된 제 1 서브세트 및 제 2 서브세트를 포함하고 있어서, 사용자가 각 서브세트들 사이에서 입력요소를 전환하는 경우에 발생하는 빈자리를 인식하는 단계를 추가로 포함하는문서를 생성시키는 방법.
- 제 1항에 있어서,입력장치는 접촉에 민감한 입력장치를 포함하고; 및, 복수의 입력요소들은 상기 접촉에 민감한 입력장치 위의 기호를 누름으로써 입력되는 복수의 기호들을 포함하고 있는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 18항에 있어서,최소한 하나의 기호는 그 기호와 유사한 특징을 가지는 최소한 하나 이상의 문자에 대응되는 것을 특징으로 하는문서를 생성시키는 방법.
- 제 18항에 있어서,복수개의 기호들은 그 기호와 유사한 특징을 갖는 문자들에 대응되는 것을 특징으로 하는알파벳 문자로 이루어진 문서를 생성시키는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11724699P | 1999-01-26 | 1999-01-26 | |
US60/117,246 | 1999-01-26 | ||
PCT/US2000/001890 WO2000043208A2 (en) | 1999-01-26 | 2000-01-26 | Speed typing apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020015986A true KR20020015986A (ko) | 2002-03-02 |
Family
ID=22371763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020017009429A KR20020015986A (ko) | 1999-01-26 | 2000-01-26 | 고속 타이핑 장치와 그 방법 |
Country Status (15)
Country | Link |
---|---|
EP (1) | EP1154903A4 (ko) |
JP (1) | JP4430240B2 (ko) |
KR (1) | KR20020015986A (ko) |
CN (2) | CN101135936A (ko) |
AU (1) | AU760904B2 (ko) |
BR (1) | BR0008175B1 (ko) |
CA (1) | CA2360461C (ko) |
HK (1) | HK1043345B (ko) |
IL (1) | IL144505A0 (ko) |
MX (1) | MXPA01007505A (ko) |
NZ (1) | NZ512689A (ko) |
PL (1) | PL192358B1 (ko) |
RU (1) | RU2223864C2 (ko) |
WO (1) | WO2000043208A2 (ko) |
ZA (1) | ZA200105395B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100796276B1 (ko) * | 2005-12-15 | 2008-01-21 | 주식회사 한국스테노 | 백스페이스기능이 부가된 속기키보드 |
CN116254832A (zh) * | 2023-02-03 | 2023-06-13 | 东北大学 | 一种预应力锚索装置和使用方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2818408B1 (fr) * | 2000-12-20 | 2003-03-14 | Sagem | Procede de correction orthographique d'une saisie alphanumerique |
EP1630649A1 (en) * | 2004-08-31 | 2006-03-01 | 2012244 Ontario Inc. | System and method for multilanguage text input in a handheld electronic device |
US7711542B2 (en) | 2004-08-31 | 2010-05-04 | Research In Motion Limited | System and method for multilanguage text input in a handheld electronic device |
US8606562B2 (en) | 2007-10-25 | 2013-12-10 | Blackberry Limited | Disambiguated text message retype function |
EP2053491A1 (en) | 2007-10-25 | 2009-04-29 | Research In Motion Limited | Disambiguated text message review function |
EP2081102A1 (en) | 2008-01-09 | 2009-07-22 | Research In Motion Limited | Method of facilitating user input in handheld electronic device employing a text disambiguation function |
US8462119B2 (en) | 2008-01-09 | 2013-06-11 | Research In Motion Limited | Method of facilitating user input in handheld electronic device employing a text disambiguation function |
EP2081104A1 (en) | 2008-01-14 | 2009-07-22 | Research In Motion Limited | Method and handheld electronic device employing a touch screen for ambiguous word review or correction |
US9454516B2 (en) | 2008-01-14 | 2016-09-27 | Blackberry Limited | Method and handheld electronic device employing a touch screen for ambiguous word review or correction |
US9317116B2 (en) * | 2009-09-09 | 2016-04-19 | Immersion Corporation | Systems and methods for haptically-enhanced text interfaces |
CN112827862B (zh) * | 2020-12-30 | 2022-08-23 | 重庆金康动力新能源有限公司 | 一种等级分选的方法和测试设备 |
CN113448449B (zh) * | 2021-07-14 | 2023-02-24 | 曾子力 | 一种英语单词输入法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4414537A (en) | 1981-09-15 | 1983-11-08 | Bell Telephone Laboratories, Incorporated | Digital data entry glove interface device |
US4459049A (en) | 1982-03-24 | 1984-07-10 | International Business Machines Corporation | Abbreviated typing with special form display |
US5062070A (en) | 1983-01-21 | 1991-10-29 | The Laitram Corporation | Comprehensive computer data and control entries from very few keys operable in a fast touch typing mode |
US4891777A (en) | 1983-05-11 | 1990-01-02 | The Laitram Corporation | Single hand keyboard arrays providing alphanumeric capabilities from twelve keys |
NL8700410A (nl) * | 1987-02-19 | 1988-09-16 | Philips Nv | Tekstbewerkingsinrichting voor stenografisch typen. |
US5007008A (en) | 1988-12-15 | 1991-04-09 | Hewlett-Packard Company | Method and apparatus for selecting key action |
CA2006163A1 (en) * | 1988-12-21 | 1990-06-21 | Alfred B. Freeman | Keyboard express typing system |
US5581484A (en) | 1994-06-27 | 1996-12-03 | Prince; Kevin R. | Finger mounted computer input device |
US5786776A (en) * | 1995-03-13 | 1998-07-28 | Kabushiki Kaisha Toshiba | Character input terminal device and recording apparatus |
US5818437A (en) * | 1995-07-26 | 1998-10-06 | Tegic Communications, Inc. | Reduced keyboard disambiguating computer |
US5664896A (en) * | 1996-08-29 | 1997-09-09 | Blumberg; Marvin R. | Speed typing apparatus and method |
US5952942A (en) * | 1996-11-21 | 1999-09-14 | Motorola, Inc. | Method and device for input of text messages from a keypad |
-
2000
- 2000-01-26 AU AU32152/00A patent/AU760904B2/en not_active Ceased
- 2000-01-26 CN CNA2006101216210A patent/CN101135936A/zh active Pending
- 2000-01-26 CN CNB008044740A patent/CN1280748C/zh not_active Expired - Fee Related
- 2000-01-26 KR KR1020017009429A patent/KR20020015986A/ko not_active Application Discontinuation
- 2000-01-26 WO PCT/US2000/001890 patent/WO2000043208A2/en active Search and Examination
- 2000-01-26 MX MXPA01007505A patent/MXPA01007505A/es active IP Right Grant
- 2000-01-26 BR BRPI0008175-2A patent/BR0008175B1/pt not_active IP Right Cessation
- 2000-01-26 IL IL14450500A patent/IL144505A0/xx not_active IP Right Cessation
- 2000-01-26 CA CA2360461A patent/CA2360461C/en not_active Expired - Fee Related
- 2000-01-26 PL PL351240A patent/PL192358B1/pl unknown
- 2000-01-26 NZ NZ512689A patent/NZ512689A/en not_active IP Right Cessation
- 2000-01-26 EP EP00909981A patent/EP1154903A4/en not_active Ceased
- 2000-01-26 JP JP2000594648A patent/JP4430240B2/ja not_active Expired - Fee Related
- 2000-01-26 RU RU2001120006/12A patent/RU2223864C2/ru not_active IP Right Cessation
-
2001
- 2001-06-29 ZA ZA200105395A patent/ZA200105395B/en unknown
-
2002
- 2002-07-12 HK HK02105183.4A patent/HK1043345B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100796276B1 (ko) * | 2005-12-15 | 2008-01-21 | 주식회사 한국스테노 | 백스페이스기능이 부가된 속기키보드 |
CN116254832A (zh) * | 2023-02-03 | 2023-06-13 | 东北大学 | 一种预应力锚索装置和使用方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2000043208A3 (en) | 2000-11-30 |
AU3215200A (en) | 2000-08-07 |
IL144505A0 (en) | 2002-05-23 |
WO2000043208A2 (en) | 2000-07-27 |
JP4430240B2 (ja) | 2010-03-10 |
ZA200105395B (en) | 2002-03-18 |
AU760904B2 (en) | 2003-05-22 |
EP1154903A4 (en) | 2007-02-21 |
PL351240A1 (en) | 2003-04-07 |
RU2223864C2 (ru) | 2004-02-20 |
BR0008175B1 (pt) | 2012-02-07 |
CA2360461C (en) | 2010-03-16 |
JP2004500610A (ja) | 2004-01-08 |
CN1280748C (zh) | 2006-10-18 |
CN1342115A (zh) | 2002-03-27 |
BR0008175A (pt) | 2002-02-05 |
NZ512689A (en) | 2003-07-25 |
WO2000043208B1 (en) | 2000-12-28 |
PL192358B1 (pl) | 2006-10-31 |
WO2000043208A9 (en) | 2001-10-25 |
MXPA01007505A (es) | 2002-06-21 |
EP1154903A2 (en) | 2001-11-21 |
CN101135936A (zh) | 2008-03-05 |
HK1043345B (zh) | 2007-05-25 |
HK1043345A1 (en) | 2002-09-13 |
CA2360461A1 (en) | 2000-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6799303B2 (en) | Speed typing apparatus and method | |
US7506252B2 (en) | Speed typing apparatus for entering letters of alphabet with at least thirteen-letter input elements | |
US5664896A (en) | Speed typing apparatus and method | |
RU2206118C2 (ru) | Система устранения неоднозначности с уменьшенной клавиатурой | |
JP2007133884A5 (ko) | ||
KR19990035985A (ko) | 감축된 키보드 명료화 시스템 | |
KR20020015986A (ko) | 고속 타이핑 장치와 그 방법 | |
KR100922973B1 (ko) | 한글 문자 입력 방법, 한글 문자 입력 장치 및 한글 문자 입력 프로그램을 기록한 컴퓨터 판독 가능 기록매체 | |
MXPA99006904A (en) | Reduced keyboard disambiguating system | |
MXPA99001820A (es) | Equipo y metodo para mecanografia de velocidad | |
KR20100074095A (ko) | 3개의 모음버튼을 이용한, 성조부호를 포함하는 중국어 병음 입력 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
E902 | Notification of reason for refusal | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20060207 Effective date: 20070329 |