KR101919716B1 - A input system managing key input event separately in a keyboard and a method thereof - Google Patents

A input system managing key input event separately in a keyboard and a method thereof Download PDF

Info

Publication number
KR101919716B1
KR101919716B1 KR1020170172778A KR20170172778A KR101919716B1 KR 101919716 B1 KR101919716 B1 KR 101919716B1 KR 1020170172778 A KR1020170172778 A KR 1020170172778A KR 20170172778 A KR20170172778 A KR 20170172778A KR 101919716 B1 KR101919716 B1 KR 101919716B1
Authority
KR
South Korea
Prior art keywords
input
key
event
generated
inputs
Prior art date
Application number
KR1020170172778A
Other languages
Korean (ko)
Inventor
안병일
Original Assignee
안병일
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 안병일 filed Critical 안병일
Application granted granted Critical
Publication of KR101919716B1 publication Critical patent/KR101919716B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction 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/04886Interaction 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

The present invention relates to an input system for separately processing a key input event of a keyboard and an input method thereof and, more particularly, to an input system for separately processing a key input event of a keyboard and an input method thereof, capable of providing a method for efficiently processing a character input to be matched with the intention of a user if the character input is provided by mixing with another key input device with regard to a key input device for inputting a key value when a key-up event is generated. According to the present invention, if the user inputs data by using two or more devices at the same time, accurate data to be matched with the intention of the user can be grasped and processed. The input system includes a device connection unit for receiving a command or data, a key input receiving unit for receiving the command or data and transmitting the command or data according to a predetermined regulation, and an order processing unit for arranging a plurality of data or commands according to an input state.

Description

키보드의 키입력 이벤트를 구분하여 처리하는 입력시스템 및 입력방법{A INPUT SYSTEM MANAGING KEY INPUT EVENT SEPARATELY IN A KEYBOARD AND A METHOD THEREOF}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an input system and an input method for distinguishing and processing key input events of a keyboard,

본 발명은 키보드의 키입력 이벤트를 구분하여 처리하는 입력시스템 및 입력방법에 관한 것으로서, 보다 상세하게는 키 업(up) 이벤트 발생시 킷값 입력을 수행하도록 하는 키 입력장치에 대하여, 다른 키 입력장치와 혼합하여 문자입력을 제공하는 경우 사용자의 의도에 부합하도록 효율적으로 처리하는 방법을 제공할 수 있는 키보드의 키입력 이벤트를 구분하여 처리하는 입력시스템 및 입력방법에 관한 것이다.The present invention relates to an input system and an input method for classifying and processing a key input event of a keyboard, and more particularly, to a key input apparatus for inputting a key value for generating a key up event, And more particularly, to an input system and an input method for discriminating and processing key input events of a keyboard that can provide a method of effectively processing characters in accordance with a user's intention when they are mixed and provided with character input.

컴퓨터나 스마트폰의 운영체제는 키다운(Key-down; 키보드를 누르는 동작)과 키업(Key-up; 눌렀던 키보드를 떼는 동작) 또는 터치다운(Touch-Down; 터치스크린을 누르는 동작)과 터치업(Touch-Up; 눌렸던 터치스크린을 떼는 동작) 등의 이벤트 발생시에 각 이벤트가 사전에 정의된 절차와 방법에 따라 처리되게 하며, 이때 입력처리가 일어나게 정의하게 되면 각각 물리키 또는 가상키로서 동작하게 되는 것이다.The operating system of a computer or a smart phone may be classified into a key-down operation, a key-up operation, a touch-down operation, (Such as touch-up operation), each event is processed according to a predefined procedure and method. When the input process is defined to occur, the event is operated as a physical key or a virtual key, respectively .

흔히 일반 데스크탑 컴퓨터와 연결하여 사용되거나 노트북 컴퓨터에 일체형으로 사용되는 일반키보드의 경우, 키다운 이벤트가 발생하였을 때 즉시 입력처리가 수행된다.In the case of a conventional keyboard, which is often used in connection with a general desktop computer or integrated into a notebook computer, input processing is performed immediately when a key down event occurs.

한편, 스마트폰이나 태블릿PC와 같은 모바일 스마트기기는 터치스크린을 활용한 가상키보드를 많이 사용하며, 대부분 터치다운 이벤트 발생 시점에 입력처리를 수행하기보다는 터치업 이벤트가 발생하기를 기다렸다가 터치업 이벤트 발생시에 입력처리를 수행한다. 그렇게 하는 이유는 터치다운 이벤트에 입력처리를 수행하게 하는 것보다 터치업 이벤트에 입력메세지를 전달하는 것이 오타율을 줄일 수 있고, 슬라이드/드래그 등 접점을 이동(Move)시키는 행동에 따라 각각 다른 다양한 명령을 내릴 수 있게 하는 것이 가능해지기 때문이다.On the other hand, mobile smart devices such as smart phones and tablet PCs use a virtual keyboard using a touch screen, and most of them wait for a touch up event rather than performing input processing at the time of a touch down event, As shown in FIG. The reason for doing this is that it is possible to reduce the misty rate by transmitting an input message to the touchup event rather than to perform input processing in the touchdown event, It is possible to make it possible to lower.

일반적으로는 하나의 데스크탑 컴퓨터나 노트북 컴퓨터에 하나의 입력수단(마우스를 제외한 물리적인 실제 일반키보드)을 사용하여 데이터나 명령을 입력한다. 그런데 최근에는 일반키보드 외에 터치스크린 상에서 표현되는 가상키보드를 보조적인 입력수단으로 사용할 수 있도록 하는 기술이 개시되고 있다. 가상키보드는 주로 스마트폰이나 태블릿PC를 사용하여 구현하며, 무선통신수단(WIFI, 블루투스 등)을 통해 컴퓨터와 연결되도록 한다.Generally, data or commands are input to a single desktop computer or a notebook computer by using one input means (a physical physical normal keyboard excluding the mouse). However, recently, a technique has been disclosed in which a virtual keyboard represented on a touch screen in addition to a general keyboard can be used as an auxiliary input means. The virtual keyboard is mainly implemented using a smart phone or a tablet PC, and is connected to a computer through wireless communication means (WIFI, Bluetooth, etc.).

가상키보드를 사용하는 보조 입력수단을 사용함으로써 다양한 방법으로 데이터를 입력하거나, 그림을 그릴 수 있어서 작업 환경이 편리해지는 장점이 있다.By using an auxiliary input means using a virtual keyboard, it is possible to input data or draw pictures in various ways, which is advantageous in that the working environment is convenient.

그런데 일반키보드와 가상키보드는 사용자가 취하는 동작에 따라 내용을 인식하는 시점이 다르다. 일반 데스크탑 컴퓨터에 터치스크린을 활용한 가상키보드를 통해 입력을 제공하는 경우에는 터치업 이벤트 발생시에 일반키보드에서의 키다운 이벤트를 소프트웨어적으로(실제 물리키가 눌리지 않아도 마치 눌린 것과 같이 인식하도록 설정) 발생시켜 키다운 이벤트 발생에 의한 입력처리가 수행되도록 할 수 있다.However, the general keyboard and the virtual keyboard have different points of view according to the action taken by the user. When providing input through a virtual keyboard using a touch screen on a normal desktop computer, the key down event on the general keyboard is set in software (to be recognized as if it is pressed without actually depressing the physical key) So that input processing by the occurrence of the key down event can be performed.

전술한 문제점을 해결하기 위한 본 발명은 키 업(up) 이벤트 발생시 킷값입력을 수행하도록 하는 키 입력장치에 대하여, 다른 키 입력장치와 혼합하여 문자입력을 제공하는 경우 사용자의 의도에 부합하도록 효율적으로 처리하는 방법을 구현하는 키보드의 키입력 이벤트를 구분하여 처리하는 입력시스템 및 입력방법을 제공하는 것을 목적으로 한다.According to an aspect of the present invention, there is provided a key input device for inputting a key value when a key up event is generated, The present invention also provides an input system and an input method for distinguishing and processing key input events of a keyboard that implements a method for processing a key input.

전술한 문제점을 해결하기 위해 안출된 본 발명은 호스트컴퓨터(100)에 설치되어 제1기기(240) 및 제2기기(250)로부터 입력되는 키 입력값을 정해진 규칙에 따라 순서대로 처리하는 입력시스템으로서, 유무선 통신방식으로 제1기기(240) 및 제2기기(250)와 접속하여 데이터 또는 명령어를 수신하는 기기접속부(111)와; 상기 제1기기(240) 및 상기 제2기기(250)로부터 입력되는 데이터 또는 명령어를 수신하여 정해진 규칙에 따라 전달하는 키입력수신부(112)와; 연속적으로 입력되는 복수의 데이터 또는 명령어를 상기 제1기기(240) 및 상기 제2기기(250)의 입력 상태에 따라 순서대로 배열하는 순서처리부(113);를 포함하며, 상기 제1기기(240) 및 상기 제2기기(250)는 키다운 또는 키업 이벤트 발생시에 키 입력값을 입력하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an input system for processing key input values input from a first device (240) and a second device (250) in order in accordance with a predetermined rule, A device connection unit 111 connected to the first device 240 and the second device 250 via a wired / wireless communication scheme to receive data or commands; A key input receiving unit 112 for receiving data or commands input from the first device 240 and the second device 250 and delivering the received data or commands according to a predetermined rule; And an order processing unit (113) for sequentially arranging a plurality of data or commands continuously input according to input states of the first device (240) and the second device (250), and the first device ) And the second device (250) input a key input value when a key down event or a key up event occurs.

다른 실시예에 따른 본 발명은 제1항의 입력시스템을 이용하여 키 입력값을 정해진 규칙대로 순서대로 처리하는 입력방법으로서, 키다운 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와; 키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 키다운 이벤트가 발생하는 것을 인지하는 제2단계와; 상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와; 순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided an input method for sequentially processing key input values in accordance with predetermined rules using the input system of claim 1, wherein the key input method comprises: A first step of recognizing that a down event occurs; A second step of recognizing that a key down event is generated from the second device 250 that inputs a key input value when a key up event occurs; A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250; The order processing unit 113 inputs the key input value input from the second device 250 in the second step and then inputs the key input value input from the first device 240 in the third step .

또 다른 실시예에 따른 본 발명은 제1항의 입력시스템을 이용하여 키 입력값을 정해진 규칙대로 순서대로 처리하는 입력방법으로서, 키다운 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와;키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 제1 내지 제N 키다운 이벤트가 발생하는 것을 인지하는 제2단계와; 상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와; 순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 제1 내지 제N 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 한다.According to still another aspect of the present invention, there is provided an input method for processing key input values in order according to predetermined rules using the input system of the first aspect, wherein the first key input value is input from the first key input device A second step of recognizing that first to Nth key down events are generated from the second device 250 that inputs a key input value when a key up event occurs; A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250; The order processing unit 113 inputs the first through Nth key input values input from the second device 250 in the second step and then outputs the input key values inputted from the first device 240 in the third step And inputting a key input value.

또 다른 실시예에 따른 본 발명은 제1항의 입력시스템을 이용하여 키 입력값을 정해진 규칙대로 순서대로 처리하는 입력방법으로서, 키다운 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와; 키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 제1 내지 제N-1 키다운 이벤트가 발생하는 것을 인지하는 제2단계와; 상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와; 상기 제1기기(240)의 키다운 이벤트 발생 후에 상기 제2기기(250)로부터 제N 키다운 이벤트가 발생하는 것을 인지하는 제4단계와; 순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 제1 내지 제N-1 키 입력값을 입력처리하고, 상기 제4단계에서 상기 제2기기(250)로부터 입력된 제N 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 한다.According to still another aspect of the present invention, there is provided an input method for processing key input values in order according to predetermined rules using the input system of the first aspect, wherein the first key input value is input from the first key input device A first step of recognizing that a key down event occurs; A second step of recognizing that the first to the (N-1) th key down events are generated from the second device 250 that inputs the key input value when the key up event occurs; A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250; A fourth step of recognizing that an Nth key down event is generated from the second device 250 after the key down event of the first device 240 is generated; The order processing unit 113 inputs the first through the (N-1) -th key input values input from the second device 250 in the second step and inputs the input values from the second device 250 in the fourth step And inputs the key input value input from the first device 240 in the third step.

또 다른 실시예에 따른 본 발명은 제1항의 입력시스템을 이용하여 키 입력값을 정해진 규칙대로 순서대로 처리하는 입력방법으로서, 키업 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와; 키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 키다운 이벤트가 발생하는 것을 인지하는 제2단계와; 상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와; 순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided an input method for processing key input values in order according to a predetermined rule using the input system of claim 1, A first step of recognizing that a down event occurs; A second step of recognizing that a key down event is generated from the second device 250 that inputs a key input value when a key up event occurs; A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250; The order processing unit 113 inputs the key input value input from the second device 250 in the second step and then inputs the key input value input from the first device 240 in the third step .

본 발명에 따르면 사용자가 두 개 이상의 기기를 동시에 사용하여 데이터를 입력하는 경우, 사용자의 의도에 부합하도록 정확한 데이터를 파악하여 처리할 수 있는 효과가 있다.According to the present invention, when a user inputs data by using two or more devices at the same time, accurate data can be grasped and processed in accordance with the user's intention.

도 1은 호스트컴퓨터와 입력기기의 연결관계를 나타낸 개념도.
도 2는 본 발명의 실시예에 따른 입력시스템의 구성과 연결구조를 나타낸 블럭도.
도 3은 단일 키다운과 키업 이벤트의 순서에 따른 데이터 입력순서를 나타낸 도면.
도 4는 다중 키다운과 키업 이벤트의 순서에 따른 데이터 입력순서를 나타낸 도면.
도 5는 다중 키다운과 키업 이벤트의 복합 조합에 따른 데이터 입력순서를 나타낸 도면.
도 6은 다중 키업 이벤트의 순서에 따른 데이터 입력순서를 나타낸 도면.
1 is a conceptual diagram showing a connection relationship between a host computer and an input device;
2 is a block diagram illustrating a configuration and a connection structure of an input system according to an embodiment of the present invention;
FIG. 3 is a diagram illustrating a data input sequence according to a sequence of a single key down and a key up event; FIG.
4 is a diagram illustrating a data input sequence according to a sequence of a multiple key down and a key up event;
5 is a diagram illustrating a data input sequence according to a combination of a multiple key down and a key up event;
6 is a diagram illustrating a data input sequence according to a sequence of multiple key-up events;

이하에서 도면을 참조하여 본 발명의 실시예에 따른 "키보드의 키입력 이벤트를 구분하여 처리하는 입력시스템 및 입력방법"을 설명한다.Hereinafter, an input system and an input method for distinguishing and processing key input events of a keyboard according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 호스트컴퓨터와 입력기기의 연결관계를 나타낸 개념도이며, 도 2는 본 발명의 실시예에 따른 입력시스템의 구성과 연결구조를 나타낸 블럭도, 도 3은 단일 키다운과 키업 이벤트의 순서에 따른 데이터 입력순서를 나타낸 도면, 도 4는 다중 키다운과 키업 이벤트의 순서에 따른 데이터 입력순서를 나타낸 도면, 도 5는 다중 키다운과 키업 이벤트의 복합 조합에 따른 데이터 입력순서를 나타낸 도면, 도 6은 다중 키업 이벤트의 순서에 따른 데이터 입력순서를 나타낸 도면이다.FIG. 2 is a block diagram illustrating a configuration and a connection structure of an input system according to an embodiment of the present invention. FIG. 3 is a diagram illustrating a sequence of a single key-down and a key- FIG. 5 is a diagram illustrating a data input sequence according to a combination of a multiple key down and a key up event; FIG. 5 is a diagram illustrating a data input sequence according to a combination of a multiple key down and a key up event; 6 is a diagram showing a data input sequence according to the order of multiple key-up events.

본 발명의 ""키보드의 키입력 이벤트를 구분하여 처리하는 입력시스템"(이하, '입력시스템'이라 함)은 데스크탑 컴퓨터나 노트북 컴퓨터와 같이 일반적인 형태의 PC를 의미하며, 내부에 입력시스템(110)이 포함된다.Input system " (hereinafter referred to as " input system ") for processing key input events of a keyboard means a general type of PC such as a desktop computer or a notebook computer, ).

입력기기(200)는 일반적인 의미의 물리적 입력수단인 일반키보드(210)와, 스마트폰(220), 태블릿PC(230)를 포함한다. 스마트폰(220)과 태블릿PC(230)는 통신기능과 터치스크린 입력기능, 프로그램 실행 기능 등을 구비하는데, 터치스크린 화면에 그래픽으로 표시되는 가상키보드를 사용하여 데이터를 입력할 수 있도록 하는 수단으로 사용된다.The input device 200 includes a general keyboard 210 as a physical input means in a general sense, a smart phone 220, and a tablet PC 230. The smart phone 220 and the tablet PC 230 have a communication function, a touch screen input function, a program execution function, and the like, and are means for inputting data using a virtual keyboard displayed graphically on a touch screen screen Is used.

통상적으로 데스크탑 컴퓨터나 노트북 컴퓨터는 일반키보드(210)를 사용하여 명령어를 입력받는데, 여기에 사용되는 일반키보드(210)가 주 입력수단이 된다. 본 발명에서는 주 입력수단 외에 별도로 보조 입력수단을 추가하여 복수의 입력수단을 통해 명령어를 입력할 수 있도록 하는 시스템에서 사용된다.Typically, a desktop computer or a notebook computer receives a command using the general keyboard 210, and the general keyboard 210 used therein is the main input means. In the present invention, an auxiliary input means is additionally provided in addition to the main input means and is used in a system for inputting a command through a plurality of input means.

입력기기(200)는 호스트컴퓨터(100)와 유무선 통신방식으로 연결되어 데이터를 전달할 수 있다. 유선 통신의 경우에는 시리얼 포트나 PS/2, USB 등의 인터페이스를 사용하여 데이터를 전달한다. 무선 통신의 경우에는 RF신호나 WIFI, 블루투스 등의 인터페이스를 사용할 수 있다.The input device 200 may be connected to the host computer 100 through a wired / wireless communication method to transmit data. In the case of wired communication, data is transmitted using an interface such as a serial port, PS / 2, or USB. In the case of wireless communication, an interface such as an RF signal, WIFI, and Bluetooth can be used.

입력시스템(110)은 입력기기(200)로부터 전송되는 명령어 입력내용을 수신하고, 수신된 명령어 또는 데이터를 사용자의 의도에 맞게 처리하여 정해진 동작이 실행되도록 한다.The input system 110 receives the command input contents transmitted from the input device 200 and processes the received command or data according to the intention of the user so that the predetermined operation is executed.

입력시스템(110)에는 기기접속부(111)와 키입력수신부(112), 순서처리부(113)가 구비된다. 이와 같은 구성은 하드웨어를 기반으로 소프트웨어적으로 구현되는 것이 일반적이다.The input system 110 is provided with a device connection unit 111, a key input reception unit 112, and an order processing unit 113. Such a configuration is generally implemented by software based on hardware.

기기접속부(111)는 유무선 통신방식으로 제1기기(240) 및 제2기기(250)와 접속하여 데이터 또는 명령어를 수신한다. 제1기기(240)와 제2기기(250)는 호스트컴퓨터(100)에 데이터 또는 명령어를 입력하는 수단으로 사용되는 장치를 의미하며, 본 발명에서는 편의상 주 입력수단을 제1기기(240), 보조 입력수단을 제2기기(250)라고 정의한다.The device connection unit 111 is connected to the first device 240 and the second device 250 in a wired / wireless communication manner and receives data or commands. The first device 240 and the second device 250 are devices used as means for inputting data or commands to the host computer 100. In the present invention, the first device 240, And the auxiliary input means is defined as the second device 250.

제1기기(240) 및 제2기기(250)로부터 입력되는 데이터는 기기접속부(111)를 통해 키입력수신부(112)에 전달된다. 키입력수신부(112)는 정해진 규칙에 따라 데이터 또는 명령어를 수신하여 호스트컴퓨터(100)의 다른 구성요소에 전달한다. 키입력수신부(112)는 사용자의 의도와는 관계없이 기기접속부(111)로 입력되는 순서에 따라 데이터 또는 명령어를 인식한다.Data input from the first device 240 and the second device 250 are transmitted to the key input receiving unit 112 through the device connection unit 111. [ The key input receiving unit 112 receives data or commands according to a predetermined rule, and transmits the received data or commands to other components of the host computer 100. The key input receiving unit 112 recognizes data or a command according to the order inputted to the device connection unit 111 regardless of the intention of the user.

순서처리부(113)는 연속적으로 입력되는 복수의 데이터 또는 명령어를 입력기기(200)의 입력 상태에 따라 정확한 순서대로 배열한다. 사용자가 입력기기(200)를 통해 입력한 내용을 사용자의 의도에 맞게 해석하고, 미리 정해진 규칙에 따라 순서를 조정하여 호스트컴퓨터(100)의 제어부(도면 미도시)에 전달한다. 제어부는 순서처리부(113)가 설정해준 순서대로 데이터 또는 명령어를 처리하게 된다.The order processing unit 113 arranges a plurality of continuously inputted data or commands in the correct order according to the input state of the input device 200. [ The user interprets the contents inputted through the input device 200 according to the user's intention and adjusts the order according to a predetermined rule and transfers the adjusted contents to the control unit (not shown) of the host computer 100. The control unit processes data or commands in the order set by the order processing unit 113.

입력기기(200)에서 사용자가 손으로 입력하는 명령어는 호스트컴퓨터(100)로 전달되는데, 명령어의 입력 시점을 결정하는 기준으로서 키다운과 키업이 있다. 키다운은 사용자가 버튼이나 터치스크린을 눌렀을 때 즉시 데이터가 입력되는 것을 말한다. 통상적인 물리적인 일반키보드(210)에서는 이런 방식이 주로 사용된다.A command input by the user by the user in the input device 200 is transmitted to the host computer 100. The key down and key-up are the criteria for determining the input time of the command. Keydown refers to data being input immediately when a user presses a button or a touch screen. This method is mainly used in a general physical general keyboard 210.

키업은 사용자가 특정 버튼이나 키를 눌렀다가 떼는 시점에서 데이터가 입력되도록 하는 것을 말한다. 대부분의 가상키보드는 이와 같은 방식을 사용한다.Key-up refers to data being input at a point when the user presses and releases a specific button or key. Most virtual keyboards use this method.

본 발명에서 정의하는 제1기기(240)는 키업 또는 키다운 이벤트 발생시에 키 입력값을 수행하도록 하는 키 입력장치이며, 제2기기(250)는 키업 이벤트 발생시에 키 입력값을 수행하도록 하는 키 입력장치이다. 순서처리부(113)는 호스트컴퓨터(100)에 위치하여 각 기기의 이벤트를 인식하고 입력처리를 조율한다.The first device 240 defined in the present invention is a key input device for performing a key input value when a key-up event or a key-down event occurs. The second device 250 is a key input device for performing a key input value Input device. The order processing unit 113 is located in the host computer 100, recognizes the event of each device, and coordinates the input process.

호스트컴퓨터(100)와 제1기기(240) 및 제2기기(250)는 다음의 경우와 같은 형태로 존재하는 경우를 생각할 수 있다.The host computer 100, the first device 240 and the second device 250 may exist in the following cases.

1) 제1기기(240) 및 제2기기(250)가 호스트컴퓨터(100)와 모두 분리된 기기인 경우 (예: 물리적키보드를 유무선으로 연결하고 가상키보드와도 유무선으로 연결된 데스크탑 컴퓨터인 경우)1) In a case where the first device 240 and the second device 250 are both devices separated from the host computer 100 (for example, in the case of a desktop computer connected to a virtual keyboard by wired / wireless connection of a physical keyboard)

2) 제1기기(240)와 일체로 존재하는 호스트컴퓨터(100)가 존재하고, 이와 분리된 제2기기(250)가 존재하여 제1기기(240) 및 제2기기(250)를 같이 사용하여 입력을 제공하는 경우(예:물리적 키보드를 일체로 구비한 노트북 컴퓨터에 터치스크린을 활용하여 가상키보드를 제공하는 스마트기기)2) There is a host computer 100 which is integrated with the first device 240 and the second device 250 is separated from the first device 240 and the first device 240 and the second device 250 are used together (For example, a smart device that provides a virtual keyboard using a touch screen to a notebook computer having a physical keyboard integrally)

3) 제1기기(240) 및 제2기기(250) 모두와 일체화된 호스트컴퓨터(100)가 존재할 수 있으나, 본 발명은 서로 다른 기기에서의 입력을 조율하는 방법과 관련한 것이므로 고려하지 않는다. (예:물리적키보드를 일체로 구비하며 동시에 구비된 터치스크린을 활용하여 가상키보드를 띄우는 노트북컴퓨터의 경우)3) There may be a host computer 100 integrated with both the first device 240 and the second device 250, but the present invention is not considered because it relates to a method of coordinating input from different devices. (For example, a notebook computer having a physical keyboard integrally and simultaneously activating a virtual keyboard by using a touch screen provided)

실시예1Example 1

제1기기(240)는 물리적인 일반키보드(210)로서 키다운 이벤트 발생시 입력처리하는 장치이며, 제2기기(250)는 터치스크린을 활용한 가상키보드로서 키업 이벤트 발생시 입력처리하는 장치이다.The first device 240 is a physical general keyboard 210 that performs input processing when a key down event occurs. The second device 250 is a virtual keyboard using a touch screen, and is a device for input processing when a key up event is generated.

도 3에는 이와 같은 경우의 입력 순서 처리방법이 도시된다.Fig. 3 shows an input order processing method in such a case.

순서처리부(113)는 입력기기(200)와 직접적인 통신을 통해 특정키의 업다운 이벤트의 발생을 직접 인식하거나, 또는 호스트컴퓨터(100)의 후킹(hooking)을 통해 입력기기(200)가 호스트컴퓨터(100)에 전달한 특정키의 업다운 이벤트 발생을 간접 인식할 수 있다. 두 가지 방식이 모두 가능한 경우에는 순서처리부(113)가 더 빠르게 인식가능한 시점을 순서처리부(113)의 해당이벤트 인식시점으로 정의한다.The order processing unit 113 directly recognizes the occurrence of an up-down event of a specific key by directly communicating with the input device 200 or by directly hooking the host computer 100 to the input device 200 via the host computer 100 100) can indirectly recognize the occurrence of the up-down event of the specific key. If both of the two methods are possible, the order processing unit 113 defines a point at which the sequence processing unit 113 recognizes the event more quickly.

실제의 경우 순서처리부(113)가 일반키보드(210)의 업다운 이벤트 발생을 인식하기 위해서는 간접방식이 되는 것이 일반적일 것이다. 이는 일반키보드가 순서처리부(113)를 고려하여 된 것이 아닌 별도의 장치인 적용례가 많을 것으로 보이기 때문이다. 또 순서처리부(113)가 가상키보드의 업다운 이벤트 발생을 인식하기 위해서는 직접 방식이 일반적일 것으로 판단되나 이에 한정되지 않는다. 이는 가상키보드의 소프트웨어 구현시 호스트컴퓨터(100)에 위치할 기기접속부(111)의 구현과 아울러 순서처리부(113)의 소프트웨어 구현이 같이 이뤄지는 것이 일반적으로 보이기 때문이다.In practice, it is common for the order processing unit 113 to be an indirect method in order to recognize the occurrence of the up-down event of the general keyboard 210. This is because the general keyboard is considered to be a separate device rather than considering the order processing unit 113. In addition, it is determined that the direct processing method is general in order for the order processing unit 113 to recognize the occurrence of the up-down event of the virtual keyboard, but the present invention is not limited thereto. This is because it is generally seen that, in the software implementation of the virtual keyboard, the software implementation of the order processing unit 113 is performed together with the implementation of the device connection unit 111 to be located in the host computer 100.

순서처리부(113)가 제2기기(250)의 특정 가상키가 터치다운됨을 인식한다. 순서처리부(113)는 호스트컴퓨터(100)에 위치하며, 내부회로 또는 통신망을 통해 전달된 정보로서 제2기기(250)의 특정 가상키가 터치다운되었음을 인식할 수 있다. 이어서 제1기기(240)의 특정키의 키다운이 발생하였음을 인식하게 된 경우, 아직 제2기기(250)에서 해당키의 터치업 이벤트가 발생하기 이전이거나 순서처리부(113)가 이를 인지하기 이전이면 제2기기(250)의 터치다운된 키 입력값이 먼저 입력처리되도록 한다.The order processing unit 113 recognizes that the specific virtual key of the second device 250 is touch-down. The order processing unit 113 is located in the host computer 100 and can recognize that a specific virtual key of the second device 250 is touch-down as information transmitted through an internal circuit or a communication network. When it is determined that the key down of the specific key of the first device 240 has occurred, it is determined that the touch up event of the corresponding key has not yet been generated in the second device 250, The key input value of the touchdown of the second device 250 is input first.

먼저 입력해주는 방법은 가로챈 제1기기(240)의 키다운 이벤트 처리 중간에 터치다운된 해당 키 입력값으로 새로운 입력메세지를 발생시켜 이 입력메세지가 먼저 처리되도록 해준다. 경우에 따라서는 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있다.A method for inputting a new key input value is to generate a new input message with the corresponding key input value touched down during the key down event processing of the first device 240, thereby processing the input message first. In some cases, you can directly manipulate the string to be entered into the focused control.

그 이후에 제1기기(240)의 키다운된 키 입력값으로 입력이 일어나도록 한다. 해당 키의 키다운 이벤트가 이미 발생된 상태였으므로 그 입력처리가 계속 진행되어 완료되도록 하는 방법도 있고, 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있을 수 있다. 뒤이어 해당 키의 터치업이 일어나도 이미 해당 키 입력값이 입력처리되었으므로 다시 입력처리가 시작되지 않도록 처리한다.Thereafter, the input is made to the key-down key input value of the first device 240. There may be a method in which the input process is continued and completed because the key down event of the key has already been generated, or a method of directly manipulating the string to be input to the focused control. Subsequently, even if the touch-up of the corresponding key occurs, processing is performed so that the input processing is not started again because the key input value has already been processed.

제2기기(250)의 가상키보드에서 에서 'ㄱ'을 누르고 있는 상태(터치다운)에서 아직 'ㄱ'에서 손가락이 떨어지지 않더라도(즉 터치업이 일어나지 않았더라도) 제1기기(240)인 일반키보드(210)에서 'ㅏ'를 누른 경우(키다운)에는 순서처리부는 'ㄱ'을 먼저 처리하여 표시하고, 'ㅏ'를 처리하여 표시하여 사용자의 의도에 맞는 '가'가 입력되도록 한다.In the virtual keyboard of the second device 250, even if the finger does not fall off from the 'A' yet (i.e., the touch-up has not occurred) When the user presses 'a' on the keypad 210 (key down), the order processor processes 'a' first and displays 'a', and displays 'a' corresponding to the user's intention.

실시예2Example 2

한편, 순서처리부(113)는 제2기기(250)에서 다수의 이벤트가 발생하는 상황을 조정할 수도 있다.Meanwhile, the order processing unit 113 may adjust a situation in which the second device 250 generates a plurality of events.

제2기기(250)가 제1 터치다운부터 제N 터치다운 까지를 어떤 키에 대한 터치업도 없는 상태에서 순차적으로 인식하였으면, 기존에 존재하는 가상키보드들의 경우에는 가상키보드에서 제2 터치다운의 발생시점에 제1 터치다운된 키 입력이 먼저 처리되어 표시되도록 하는 방식을 사용한다. 그러나 본 발명에서는 제N 터치다운까지 1~N 번째의 어떤 키다운 이벤트도 먼저 처리되어 표시되지 않는 방식을 전제로 하여 설명한다. 왜냐하면 제2 터치다운 발생시점에 제1 터치다운의 키 입력값이 이미 처리되어 표시되는 전술한 보통의 방식의 경우라면, 아직 입력처리되어 표시되지 않은 제2 터치다운된 키와 제1기기(240)에서의 키다운된 키 사이의 단일 위치변경(Single Switching)으로 볼 수 있으므로 앞선 실시예에서와 동일한 방법으로 처리가능하기 때문이다.If the second device 250 sequentially recognizes from the first touchdown to the Nth touchdown in a state in which there is no touch-up for any key, in the case of existing virtual keyboards, The first touchdown key input is first processed and displayed at the time of occurrence. However, in the present invention, it is assumed that the first to Nth key down events until the Nth touchdown are processed first and are not displayed. If the key input value of the first touchdown is already processed and displayed at the time of the second touchdown, the second touchdown key that has not yet been input and displayed and the first touchdown key 240 (Single Switching) between the key-down key in the first embodiment and can be processed in the same manner as in the previous embodiment.

제1기기(240)에서 키다운이 발생하였음을 인식하는 경우, 순서처리부(113)는 호스트컴퓨터(100)에서 후킹(데이터 가로채기)을 통해 특정한 키의 키다운이 발생하였음을 인식 할 수 있다.When the first device 240 recognizes that a key down has occurred, the order processing unit 113 can recognize that a key down of a specific key has occurred through hooking (data interception) in the host computer 100 .

아직 제2기기(250)에서 터치업 이벤트가 발생하기 이전이거나, 순서처리부(113)가 이를 인지하기 이전이지만, 제2기기(250)의 터치다운된 키 입력값(들)이 먼저 입력처리되도록 해준다. 먼저 입력해주는 방법은 가로챈 제1기기(240)의 키다운 이벤트 처리 중간에 터치다운된 해당 키 입력값(들)로 새로운 입력메세지(들)을 발생시켜 이 입력메세지(들)을 먼저 처리되도록 해준다. 또한 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법도 있을 것이다.The key input value (s) touched down by the second device 250 may be input before the touchup event is generated in the second device 250 or before the order processing unit 113 recognizes the touchup event It does. The first method is to generate a new input message (s) with the corresponding key input value (s) touched down during the key down event processing of the intercepted first device 240 so that the input message It does. There is also a way to manipulate the string to be entered in the focused control directly.

그 이후에 제1기기(240)의 키다운 된 키 입력값으로 입력이 일어나도록 할 수 있다. 해당 키의 키다운 이벤트가 발생되어 처리 중인 과정에 있으므로, 그 입력처리가 계속 진행되어 완료되도록 하는 방법이 있고, 또는 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있을 수 있다.And thereafter input can be made to the key-down key input value of the first device 240. There is a method of causing a key down event of the key to be processed and being in the process of being processed so that the input process is continued and completed or a method of directly manipulating a character string to be input to the focused control.

뒤이어 해당 제1~제N 번째 키의 터치업이 일어나도 이미 해당 키 입력값들이 입력처리되었으므로 다시 입력처리가 시작되지 않도록 처리한다.Even if touch-up of the first to the N-th keys occurs, since the corresponding key input values have already been input, the input processing is not started again.

만약 '환'자를 입력하는 경우에 초성 'ㅎ'이 먼저 입력되어 표시된 기본상태를 가정한다. 이때 제2기기(250)의 가상키보드에서 'ㅗ'가 눌리고(제1 터치다운), 눌린상태에서 다시 'ㅏ'가 눌린 경우(제2 터치다운), 아직 'ㅏ에서 손가락이 떨어지지 않은 상태더라도(즉 터치업이 일어나지 않았더라도) 제1기기(240)의 일반키보드(210)에서 'ㄴ'를 누른 경우(키다운)에는 순서처리부(113)는 'ㅘ'입력을 먼저 처리하여 표시하고, 'ㄴ'입력을 다음으로 처리하여 최종적으로 사용자의 의도에 맞는 '환'이 입력되도록 한다.If you enter 'circle', the initial state 'heh' is entered first and assumed to be the default state. In this case, if 'ㅗ' is pressed (first touchdown) in the virtual keyboard of the second device 250, and 'a' is pressed again in the pressed state (second touchdown) (Or key down) on the general keyboard 210 of the first device 240, the order processing unit 113 first processes and displays the 'ㅘ' input, The input 'c' is processed as follows to finally input 'circle' that matches the user's intention.

실시예3Example 3

한편, 순서처리부(113)는 제2기기(250)에서 제1 터치다운으로부터 제N-1 터치다운까지(단수 또는 복수) 어떠한 터치업도 없이 순차적으로 터치다운이 일어났음을 인식한 이후, 제N 터치다운이 인식되기 직전에 제1기기(240)에서 제1 키다운이 일어났음이 인식되면, 스위칭(Switching) 상황이 되어 제1 ~ 제N-1 터치다운 키입력값들과 제1 키다운된 키입력값이 스위칭되는 처리가 진행된 후 제N 터치다운이 입력 처리되는 오류상황이 발생한다.On the other hand, the order processing unit 113 recognizes that the touchdown has occurred sequentially without any touch-up from the first touchdown to the (N-1) touchdown in the second device 250, If it is recognized that the first key down has occurred in the first device 240 immediately before the N touchdown is recognized, a switching state occurs and the first to (N-1) th touch down key input values and the first key An error situation occurs in which the N-th touchdown is input after the process of switching the down key input value is performed.

제1 내지 제N 터치다운이 발생한 키에 대해 어떤 터치업도 발생하지 않은 채 제1 키다운이 발생한 상황이므로, 사용자의 의도는 제1 내지 제N 터치다운이 발생한 키 입력값을 먼저 입력한 이후에 제1 키다운의 키 입력값을 입력하고자 하는 것으로 보는 것이 타당하며 그에 맞는 오류처리를 해주도록 한다.Since the first key down occurs without any touch-up with respect to the first through N-th touchdown keys, the user intends to input the key input values of the first through N-th touchdown It is reasonable to see that the key input value of the first key down is inputted and the error processing is performed accordingly.

앞서 설명한 단일 스위칭 또는 다중 스위칭이 이미 이뤄졌으므로 이미 키다운된 키 입력값이 입력된 상태이다. 따라서 1) 키다운된 키 입력값을 먼저 지워주고,(지워주는 방법은 메세지를 발생시켜 Backspace가 입력되도록 하는 방법, 또는 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있다) 이어서 2) 제N 터치다운된 키 입력값으로 입력이 일어나도록 하고,(입력해주는 방법은 해당 키 입력값으로 입력메세지를 발생시켜 처리하도록 해주는 방법, 또는 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있다) 그 다음 3) 다시 키다운된 키 입력값이 입력되도록 한다.Since the above-described single switching or multiple switching has already been performed, the key input value already keyed down is inputted. 1) Delete the keyed-down keystroke value first (the way to erase the keystroke is to generate a message to input the backspace, or directly manipulate the string to be input to the focused control) 2) (Input method is to generate an input message by corresponding key input value, or to directly manipulate a string to be input to the focused control, etc.) 3) Next, the key input value is input again.

'환'자를 입력하는 경우, 초성 'ㅎ'이 먼저 표시되어 있는 초기상태를 가정한다. 이때 순서처리부(113)가 제2기기(250)의 가상키보드에서 'ㅗ'가 눌린 것을 인식하고(제1 터치다운), 이 상태에서 다시 제2기기(250)의 가상키보드에서 'ㅏ'가 눌린 것을 인식하기 이전에 제1기기(240)의 일반키보드(210)에서 'ㄴ'이 먼저 눌린 것을 인식하면(제1 키다운), 순서처리부(113)는 스위칭 상황으로 이해하여 이를 진행하여 'ㅗ'와 'ㄴ'의 순서로 입력시켜 표시되도록 한다.(이때 '혼'으로 표시됨)In case of inputting 'circle', it is assumed that the initial state in which the prefix 'ㅎ' is displayed first. At this time, the order processing unit 113 recognizes that the 'ㅗ' is pressed on the virtual keyboard of the second device 250 (first touchdown), and in this state, 'a' When recognizing that the 'c' is pressed first on the general keyboard 210 of the first device 240 (the first key down) before recognizing the depressed state, the sequence processing unit 113 recognizes the switching situation, ㅗ 'and' ㄴ '(in this case' horn ').

그리고 'ㅏ'가 눌린것에 대한(제2 터치다운) 처리는 후순위가 되어 결과적으로 '호나'라고 표시되어 사용자 의도와 다른 오류상황이 발생한다.The process (second touchdown) for pressing 'a' is a subordinate, resulting in 'hana', which causes a different error situation from the user's intention.

따라서 이때는 'ㅏ'를 입력해주기 전에 먼저 백스페이스(Backspace)를 한번 입력하여 1) 키다운된 키 입력값인 'ㄴ'을 지워주고, 2) 제2 터치다운인 'ㅏ'를 입력해주고, 3) 다시 키다운된 키 입력값인 'ㄴ'을 입력해주면 '환'이라는 의도대로 오류가 정정되어 표시된다.In this case, before inputting 'a', input backspace first to delete 1) key-down value 'b', 2) input second touchdown 'a' ) If you enter 'ㄴ', which is the key input value of the key down again, the error will be corrected and displayed as intended.

한편, 순서처리부(113)가 스위칭 오류처리를 진행하는 중간에 또 다시 제1기기(240)에서 발생시킨 제2 키다운이 인식되는 경우에는 또 다른 오류가 발생하게 되며 이에 대해 다시 한번 오류처리가 필요하다. 스위칭 오류처리가 진행되는 중간이란 것은 ①제1 키다운된 키 입력값을 먼저 지워주고,(지워주는 방법은 Backspace가 입력되도록 하거나 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있다) 이어서 ② 제N 터치다운된 키 입력값으로 입력이 일어나도록 하고,(입력해주는 방법은 해당 키 입력값으로 입력메세지를 발생시켜 처리하도록 해주는 방법과, 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있다), 그 다음 ③ 다시 제1 키다운된 키 입력값이 입력되도록 하는 과정 중에 있다는 것으로, 요약하면 ①백스페이스, ②제N 터치다운 키 입력값, ③제1 키다운 키 입력값을 순차적으로 입력처리하고 있는 과정이라고 할 수 있다.On the other hand, if the second processing unit 113 recognizes the second key down generated again by the first device 240 in the middle of the switching error process, another error occurs. need. In the midst of switching error processing, there are two methods: (1) first erase the key input value of the first key down, (the method of erasing the backspace or directly manipulating the string to be input to the focused control) (2) Nth touchdown key input value is input, (input method is to generate input message by corresponding key input value and to process it, and (1) Backspace, (2) Nth touchdown key input value, and (3) First key down key input value are sequentially As shown in FIG.

상기 ① 내지 ③의 입력처리는 순차적으로 연이어 적용되어 발생된 오류를 정정하는 과정이므로, 만약 제2 키다운이 그 처리의 중간에 인식되었다 하더라도(순서처리부(113)는 호스트컴퓨터(100)에서 후킹을 통해 특정한 키의 키다운이 발생하였음을 인식할 수 있다), 사용자의 의도는 해당 ① 내지 ③의 순차입력처리를 먼저 수행한 후 제2 키다운의 키 입력값을 입력하고자 하는 것으로 보는 것이 타당하며 그에 맞는 오류처리를 해주도록 한다.The input processing of (1) to (3) is sequentially applied in sequence to correct an error generated. Therefore, even if the second key down is recognized in the middle of the processing , The user intends to input the key input value of the second key down after performing the sequential input process of the corresponding ① through ③, And make error handling accordingly.

상기 순차입력처리 ①~③ 과정중 제2 키다운이 인식된 시점에서 아직 미처리된 입력에 대해서는 제2 키다운된 키 입력값보다 먼저 입력되도록 선행입력처리 해주고(먼저 입력해주는 방법은 가로챈 제2 키다운 이벤트 처리 중간에 ①~③중 미처리된 키 입력값(들)로 새로운 입력메세지(들)을 발생시켜 이 입력메세지(들)이 먼저 처리되도록 해주는 방법이 있고, 또는 포커스된 컨트롤에 입력될 문자열을 직접 조작하는 방법 등이 있을 수 있다. 그 이후 제2 키다운된 키 입력값이 입력되도록 해준다.When the second key-down is recognized in the sequential input process, the unprocessed input is processed ahead of the key-input value of the second key-down (the first input process is the second key- There is a way to cause the input message (s) to be processed first by generating a new input message (s) with the unprocessed key input value (s) during the key down event processing, A method of directly manipulating a string, etc. Thereafter, the key input value of the second key-down is inputted.

그런데 미처리된 입력들은 제2 키다운이 인식된 시점에서 아직 미처리된 상태일 뿐, 이미 입력처리는 시작되어 처리되는 과정 중간이기 때문에 상기의 선행입력처리과정 중에도 어느 때고 별도의 스레드에서 병렬적으로 처리가 일어날 수 있다. 따라서 두 번에 걸쳐 키 입력값이 입력처리되는 결과가 된다. 입력이 두 번 표시되는 결과를 회피하기 위하여, 각각의 스레드가 공통적으로 접근할 수 있는 메모리공간에 미처리된 키 입력값들이 어떤 것인지 먼저 복사해두고, 어떤 스레드에서든 해당 키 입력값의 입력처리가 먼저 일어난 경우에는 이 복사값을 삭제하거나 플래그(flag)를 설정하는 방식 등으로 구분해주어 다른 스레드에서 동일한 키 입력값의 두 번째 입력처리 시도에 대해서는 이를 한 번 무효화하는 방식으로 중복처리를 회피하도록 해준다.However, the unprocessed inputs are in the state that the input is yet to be processed at the time when the second key down is recognized, and since the input processing is already started and processed, the input is processed in parallel in a separate thread at any time during the preceding input processing Can happen. Therefore, the key input value is input processed twice. In order to avoid the result that the input is displayed twice, it is necessary to first copy the unprocessed key input values into a memory space that each thread can access in common, If this occurs, the duplicate value is deleted or a flag is set. In such a case, the second thread of the same key input value is invalidated by the other thread, thereby avoiding duplicate processing.

실시예4Example 4

마지막 실시예는 도 6과 같이, 제1기기(240) 및 제2기기(250) 모두 키업 이벤트가 발생했을 때 데이터가 입력처리되는 가상키보드인 경우이다.The final embodiment is a case where the first device 240 and the second device 250 are virtual keyboards in which data is input when a key-up event occurs, as shown in FIG.

제1기기(240)와 제2기기(250)가 모두 가상키보드를 사용하기 때문에 키업 이벤트의 발생시에 데이터를 입력처리한다.Since both the first device 240 and the second device 250 use a virtual keyboard, data is input when a key-up event occurs.

전술한 방법과 같이, 제1기기(240)에서 입력이 인지된 상태에서 제2기기(250)의 키다운 이벤트가 발생한다. 그리고 제2기기(250)의 키업 이벤트가 발생하기 전에 제1기기(240)의 추가 키다운 이벤트가 발생한다. 순서처리부(113)는 제1기기(240)의 두 번째 키 다운 이벤트가 발생했을 때, 제2기기(250)의 키업 이벤트가 발생하기 전이라도 제2기기(250)의 키 입력값을 입력 처리한다.The key down event of the second device 250 occurs in a state where the input is recognized in the first device 240, as in the above-described method. Further, an additional key down event of the first device 240 occurs before the key up event of the second device 250 occurs. The order processing unit 113 may input the key input value of the second device 250 even before the key up event of the second device 250 occurs when the second key down event of the first device 240 occurs, do.

이상 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하였지만, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술 분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, As will be understood by those skilled in the art. Therefore, it should be understood that the above-described embodiments are to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, It is intended that all changes and modifications derived from the equivalent concept be included within the scope of the present invention.

100 : 호스트컴퓨터 110 : 입력시스템
111 : 기기접속부 112 : 키입력수신부
113 : 순서처리부 200 : 입력기기
210 : 일반키보드 220 : 스마트폰
230 : 태블릿PC 240 : 제1기기
250 : 제2기기
100: host computer 110: input system
111: device connection unit 112: key input reception unit
113: order processing unit 200: input device
210: general keyboard 220: smart phone
230: Tablet PC 240: First device
250: Second device

Claims (5)

삭제delete 호스트컴퓨터(100)에 설치되어 제1기기(240) 및 제2기기(250)로부터 입력되는 키 입력값을 정해진 규칙에 따라 순서대로 처리하는 입력시스템을 이용하여 키 입력값을 처리하는 입력방법으로서,
상기 입력시스템은
유무선 통신방식으로 제1기기(240) 및 제2기기(250)와 접속하여 데이터 또는 명령어를 수신하는 기기접속부(111)와; 상기 제1기기(240) 및 상기 제2기기(250)로부터 입력되는 데이터 또는 명령어를 수신하여 정해진 규칙에 따라 전달하는 키입력수신부(112)와; 연속적으로 입력되는 복수의 데이터 또는 명령어를 상기 제1기기(240) 및 상기 제2기기(250)의 입력 상태에 따라 순서대로 배열하는 순서처리부(113);를 포함하며,
키다운 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와;
키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 키다운 이벤트가 발생하는 것을 인지하는 제2단계와;
상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와;
순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 하는, 키보드의 키입력 이벤트를 구분하여 처리하는 입력방법.
As an input method for processing a key input value using an input system installed in the host computer 100 and processing key input values input from the first device 240 and the second device 250 in order according to a predetermined rule ,
The input system
A device connection unit (111) connected to the first device (240) and the second device (250) in a wired / wireless communication manner to receive data or commands; A key input receiving unit 112 for receiving data or commands input from the first device 240 and the second device 250 and delivering the received data or commands according to a predetermined rule; And an order processing unit (113) for sequentially arranging a plurality of data or commands continuously input according to input states of the first device (240) and the second device (250)
A first step of recognizing that a key down event is generated from the first device 240 that inputs a key input value when a key down event occurs;
A second step of recognizing that a key down event is generated from the second device 250 that inputs a key input value when a key up event occurs;
A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250;
The order processing unit 113 inputs the key input value input from the second device 250 in the second step and then inputs the key input value input from the first device 240 in the third step Wherein the key input event of the keyboard is divided and processed.
호스트컴퓨터(100)에 설치되어 제1기기(240) 및 제2기기(250)로부터 입력되는 키 입력값을 정해진 규칙에 따라 순서대로 처리하는 입력시스템을 이용하여 키 입력값을 처리하는 입력방법으로서,
상기 입력시스템은
유무선 통신방식으로 제1기기(240) 및 제2기기(250)와 접속하여 데이터 또는 명령어를 수신하는 기기접속부(111)와; 상기 제1기기(240) 및 상기 제2기기(250)로부터 입력되는 데이터 또는 명령어를 수신하여 정해진 규칙에 따라 전달하는 키입력수신부(112)와; 연속적으로 입력되는 복수의 데이터 또는 명령어를 상기 제1기기(240) 및 상기 제2기기(250)의 입력 상태에 따라 순서대로 배열하는 순서처리부(113);를 포함하며,
키다운 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와;
키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 제1 내지 제N 키다운 이벤트가 발생하는 것을 인지하는 제2단계와;
상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와;
순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 제1 내지 제N 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 하는, 키보드의 키입력 이벤트를 구분하여 처리하는 입력방법.
As an input method for processing a key input value using an input system installed in the host computer 100 and processing key input values input from the first device 240 and the second device 250 in order according to a predetermined rule ,
The input system
A device connection unit (111) connected to the first device (240) and the second device (250) in a wired / wireless communication manner to receive data or commands; A key input receiving unit 112 for receiving data or commands input from the first device 240 and the second device 250 and delivering the received data or commands according to a predetermined rule; And an order processing unit (113) for sequentially arranging a plurality of data or commands continuously input according to input states of the first device (240) and the second device (250)
A first step of recognizing that a key down event is generated from the first device 240 that inputs a key input value when a key down event occurs;
A second step of recognizing that first to Nth key down events are generated from the second device 250 that inputs a key input value when a key up event occurs;
A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250;
The order processing unit 113 inputs the first through Nth key input values input from the second device 250 in the second step and then outputs the input key values inputted from the first device 240 in the third step And inputting a key input value, wherein the key input event of the keyboard is distinguished and processed.
호스트컴퓨터(100)에 설치되어 제1기기(240) 및 제2기기(250)로부터 입력되는 키 입력값을 정해진 규칙에 따라 순서대로 처리하는 입력시스템을 이용하여 키 입력값을 처리하는 입력방법으로서,
상기 입력시스템은
유무선 통신방식으로 제1기기(240) 및 제2기기(250)와 접속하여 데이터 또는 명령어를 수신하는 기기접속부(111)와; 상기 제1기기(240) 및 상기 제2기기(250)로부터 입력되는 데이터 또는 명령어를 수신하여 정해진 규칙에 따라 전달하는 키입력수신부(112)와; 연속적으로 입력되는 복수의 데이터 또는 명령어를 상기 제1기기(240) 및 상기 제2기기(250)의 입력 상태에 따라 순서대로 배열하는 순서처리부(113);를 포함하며,
키다운 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와;
키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 제1 내지 제N-1 키다운 이벤트가 발생하는 것을 인지하는 제2단계와;
상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와;
상기 제1기기(240)의 키다운 이벤트 발생 후에 상기 제2기기(250)로부터 제N 키다운 이벤트가 발생하는 것을 인지하는 제4단계와;
순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 제1 내지 제N-1 키 입력값을 입력처리하고, 상기 제4단계에서 상기 제2기기(250)로부터 입력된 제N 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 하는, 키보드의 키입력 이벤트를 구분하여 처리하는 입력방법.
As an input method for processing a key input value using an input system installed in the host computer 100 and processing key input values input from the first device 240 and the second device 250 in order according to a predetermined rule ,
The input system
A device connection unit (111) connected to the first device (240) and the second device (250) in a wired / wireless communication manner to receive data or commands; A key input receiving unit 112 for receiving data or commands input from the first device 240 and the second device 250 and delivering the received data or commands according to a predetermined rule; And an order processing unit (113) for sequentially arranging a plurality of data or commands continuously input according to input states of the first device (240) and the second device (250)
A first step of recognizing that a key down event is generated from the first device 240 that inputs a key input value when a key down event occurs;
A second step of recognizing that the first to the (N-1) th key down events are generated from the second device 250 that inputs the key input value when the key up event occurs;
A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250;
A fourth step of recognizing that an Nth key down event is generated from the second device 250 after the key down event of the first device 240 is generated;
The order processing unit 113 inputs the first through the (N-1) -th key input values input from the second device 250 in the second step and inputs the input values from the second device 250 in the fourth step And inputs the key input value input from the first device 240 in the third step after inputting the input key input value of the keyboard, Way.
호스트컴퓨터(100)에 설치되어 제1기기(240) 및 제2기기(250)로부터 입력되는 키 입력값을 정해진 규칙에 따라 순서대로 처리하는 입력시스템을 이용하여 키 입력값을 처리하는 입력방법으로서,
상기 입력시스템은
유무선 통신방식으로 제1기기(240) 및 제2기기(250)와 접속하여 데이터 또는 명령어를 수신하는 기기접속부(111)와; 상기 제1기기(240) 및 상기 제2기기(250)로부터 입력되는 데이터 또는 명령어를 수신하여 정해진 규칙에 따라 전달하는 키입력수신부(112)와; 연속적으로 입력되는 복수의 데이터 또는 명령어를 상기 제1기기(240) 및 상기 제2기기(250)의 입력 상태에 따라 순서대로 배열하는 순서처리부(113);를 포함하며,
키업 이벤트 발생시에 키 입력값을 입력하는 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제1단계와;
키업 이벤트 발생시에 키 입력값을 입력하는 제2기기(250)로부터 키다운 이벤트가 발생하는 것을 인지하는 제2단계와;
상기 제2기기(250)로부터 키업 이벤트가 발생하기 전에 상기 제1기기(240)로부터 키다운 이벤트가 발생하는 것을 인지하는 제3단계와;
순서처리부(113)는 상기 제2단계에서 상기 제2기기(250)로부터 입력된 키 입력값을 입력처리한 후, 상기 제3단계에서 상기 제1기기(240)로부터 입력된 키 입력값을 입력처리하는 것을 특징으로 하는, 키보드의 키입력 이벤트를 구분하여 처리하는 입력방법.
As an input method for processing a key input value using an input system installed in the host computer 100 and processing key input values input from the first device 240 and the second device 250 in order according to a predetermined rule ,
The input system
A device connection unit (111) connected to the first device (240) and the second device (250) in a wired / wireless communication manner to receive data or commands; A key input receiving unit 112 for receiving data or commands input from the first device 240 and the second device 250 and delivering the received data or commands according to a predetermined rule; And an order processing unit (113) for sequentially arranging a plurality of data or commands continuously input according to input states of the first device (240) and the second device (250)
A first step of recognizing that a key down event is generated from the first device 240 that inputs a key input value when a key up event occurs;
A second step of recognizing that a key down event is generated from the second device 250 that inputs a key input value when a key up event occurs;
A third step of recognizing that a key down event is generated from the first device 240 before a key up event is generated from the second device 250;
The order processing unit 113 inputs the key input value input from the second device 250 in the second step and then inputs the key input value input from the first device 240 in the third step Wherein the key input event of the keyboard is divided and processed.
KR1020170172778A 2017-11-30 2017-12-15 A input system managing key input event separately in a keyboard and a method thereof KR101919716B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170162682 2017-11-30
KR1020170162682 2017-11-30

Publications (1)

Publication Number Publication Date
KR101919716B1 true KR101919716B1 (en) 2018-11-19

Family

ID=64561829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170172778A KR101919716B1 (en) 2017-11-30 2017-12-15 A input system managing key input event separately in a keyboard and a method thereof

Country Status (1)

Country Link
KR (1) KR101919716B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088898A (en) * 2013-10-30 2015-05-07 Kddi株式会社 Synchronous input system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088898A (en) * 2013-10-30 2015-05-07 Kddi株式会社 Synchronous input system

Similar Documents

Publication Publication Date Title
EP3955556B1 (en) Input method, electronic device, and screen projection system
US10996834B2 (en) Touchscreen apparatus user interface processing method and touchscreen apparatus
CN115357178B (en) Control method applied to screen-throwing scene and related equipment
US9383827B1 (en) Multi-modal command display
US8896540B2 (en) Character input device and character input method
US10528252B2 (en) Key combinations toolbar
US20120212420A1 (en) Multi-touch input control system
US20070136677A1 (en) Methods and apparatus for displaying information
US8456433B2 (en) Signal processing apparatus, signal processing method and selection method of user interface icon for multi-touch panel
US20120098743A1 (en) Input method, input device, and computer system
US20150074578A1 (en) Text select and enter
US10001962B2 (en) Control method, control apparatus, and electronic device
KR20090015327A (en) Apparatus and method for providing character delete function
US9710137B2 (en) Handedness detection
CN112148170A (en) Desktop element adjusting method and device and electronic equipment
US20150128080A1 (en) Method and terminal for determining operation object
KR101195520B1 (en) Remote control method and remote control apparatus for controlling a mobile terminal
US20230054717A1 (en) Ui control generation and trigger methods, and terminal
CN103207759A (en) Method And Apparatus For Keyboard Layout Using Touch
US11150854B2 (en) Display control method, apparatus, and electronic device
TW201346656A (en) Signal transmitting method for touch input device
CN105094355B (en) Input method and related electronic device
KR101919716B1 (en) A input system managing key input event separately in a keyboard and a method thereof
US20140129933A1 (en) User interface for input functions
TWI638282B (en) Mobile device, computer input system and computer program product

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant