KR100604603B1 - Key recognition system and method - Google Patents
Key recognition system and method Download PDFInfo
- Publication number
- KR100604603B1 KR100604603B1 KR1020050057746A KR20050057746A KR100604603B1 KR 100604603 B1 KR100604603 B1 KR 100604603B1 KR 1020050057746 A KR1020050057746 A KR 1020050057746A KR 20050057746 A KR20050057746 A KR 20050057746A KR 100604603 B1 KR100604603 B1 KR 100604603B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- state
- long
- value
- keystroke
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/02—Constructional features of telephone sets
- H04M1/23—Construction or mounting of dials or of equivalent devices; Means for facilitating the use thereof
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
본 발명은 키 인식 시스템 및 방법에 관한 것으로, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'이고, 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 롱키(Long Key) 카운트(Count)값을 검사하여, 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키들에 대해서 롱키 이벤트(Event) 처리 수행을 UI 태스크(Task)로 요청함으로써 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능하도록 한 것이다.The present invention relates to a key recognition system and method, wherein a long key is used for keys whose previous keystroke state is 'key pressed' and the current keystroke state is 'key pressed'. ) Checking the count value, processing long key events for keys equal to the value obtained by dividing the pooling period from the reference value where the long key count value is recognized as a long key. By requesting execution as a UI task, it enables efficient longkey recognition using minimum timer resources.
키 인식, 롱키(Long Key), 핸드셋(Handset) 태스크, UI 태스크 Key Recognition, Long Key, Handset Task, UI Task
Description
도 1 은 본 발명에 따른 키 인식 시스템의 일 실시예에 따른 블럭도1 is a block diagram according to an embodiment of a key recognition system according to the present invention.
도 2a,2b 는 본 발명에 따른 키 인식 방법의 흐름도2A and 2B are flowcharts of a key recognition method according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 키 인식 시스템 110 : 제 1 키 스트록 정보100: key recognition system 110: first keystroke information
120 : 제 2 키 스트록 정보 130 : 롱키 카운트 정보120: second key stroke information 130: long key count information
140 : 키 스캔 신호 처리부 150 : 이전의 키 스트록 상태 검사부140: key scan signal processing unit 150: previous key stroke state inspection unit
160 : 현재의 키 스트록 상태 검사부 170 : 롱키 카운트값 검사부160: current keystroke state inspection unit 170: long key count value inspection unit
180 : 롱키 이벤트 처리부 190 : 키 해제 이벤트 처리부180: long key event processing unit 190: key release event processing unit
200 : 키 입력 이벤트 처리부200: key input event processing unit
본 발명은 키 인식 시스템 및 방법에 관한 것으로, 특히 롱키 입력을 인식하는 기술에 관련한 것이다.The present invention relates to a key recognition system and method, and more particularly to a technique for recognizing long key input.
현재 이동통신 단말기의 키 스캔 로직(Key Scan Logic)은 일정시간 마다 수행되는 폴링(Polling) 구조이다. 즉, 현재의 키 스캔 처리는 키 스캔 로직이 타이 머(Timer)에 의해 주기(이후, 폴링 주기라 칭함)적으로 예컨데, 35ms 간격으로 기동되어 모든 키에 대해 사용자에 의해 키가 눌려졌는지 인식하도록 설계된 다중 처리 방식이다.Currently, the key scan logic of a mobile communication terminal is a polling structure that is performed every predetermined time. In other words, the current key scan process is performed so that the key scan logic is periodically cycled by a timer (hereinafter referred to as a polling cycle), for example, to be activated at 35 ms intervals to recognize whether the key has been pressed by the user for all keys. It is a multi-processing scheme designed.
그러나, 현재 이동통신 단말기 등에서 사용되는 키 인식 처리 중 롱키(Logn Key) 인식 처리는 하나의 타이머(Timer)를 이용하여 한번에 하나의 롱키 입력만을 인식할 수 있도록 설계된 단일 처리 방식이다.However, among the key recognition processes currently used in mobile communication terminals, a long key (Logn Key) recognition process is a single processing scheme designed to recognize only one long key input at a time by using one timer.
따라서, 사용자의 키(Key) 스트록(Stroke)과 롱키(Long Key) 스트록(Stroke)간의 동기가 맞지 않으므로, 이를 해결하기 위해 모든 키(Key)에 타이머(Timer)를 부여하는 등의 방법을 이용하고 있으나, 제한된 자원인 타이머 부족 및 시스템 과부하가 초래되는 문제점이 있었다.Therefore, since the synchronization between the user's key stroke and the long key stroke is not correct, a method such as assigning a timer to all keys is used to solve this problem. However, there is a problem that a shortage of timers and system overload which are limited resources are caused.
또한, 현재 이동통신 단말기의 일반적인 키 인식 처리는 핸드셋(Handset) 태스크(Task)에서 처리하고 있으나, 롱키 인식 처리는 UI 태스크(Task)에서 이전 키 입력 이벤트를 저장하여 시간을 확인하고 롱키를 발생시키고 있으므로, 키 인식에 대한 처리가 분산되어 있어 일관성있는 키 인식 처리가 불가능한 문제점이 있었다.In addition, the general key recognition process of the mobile communication terminal is currently handled by the Handset task, but the long key recognition process stores the previous key input event in the UI task to check the time and generate the long key. Therefore, there is a problem in that the process for key recognition is distributed, and therefore, a consistent key recognition process is impossible.
따라서, 본 발명자는 키 인식에 관련한 모든 처리를 핸드셋(Handset) 태스크(Task)에서 수행하도록 구현하되, 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능한 기술에 대한 연구를 하게 되었다.Accordingly, the present inventors have implemented a technique to implement all the processes related to key recognition in a handset task, and to perform a technique for efficient long key recognition using minimal timer resources.
본 발명은 상기한 취지하에 발명된 것으로, 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능한 키 인식 시스템 및 방법을 제공함을 그 목적으로 한 다.The present invention has been invented under the above-described object, and an object thereof is to provide a key recognition system and method capable of efficient long key recognition using a minimum timer resource.
상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 본 발명에 따른 롱키 인식이 가능한 키 인식 시스템이 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'이고, 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 롱키(Long Key) 카운트(Count)값을 검사하여, 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키들에 대해서 롱키 이벤트(Event) 처리 수행을 UI 태스크(Task)로 요청하는 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, the long key recognition possible key recognition system according to the present invention is the previous key stroke state 'key pressed state', the current key stroke state ' The Long Key Count value is examined for keys that are in the "key pressed state", and the pooling is performed at a reference value at which the Long Key count value is recognized as a Long key. It is characterized by requesting the UI task to perform long key event processing on keys such as a period divided value.
따라서, 본 발명은 사용자의 키(Key) 스트록(Stroke)과 롱키(Long Key) 스트록(Stroke)간의 동기를 맞추기 위해 모든 키(Key)에 타이머(Timer)를 부여함으로써 제한된 자원인 타이머 부족 및 시스템 과부하가 초래되는 종래의 문제점을 해결하여 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능한 장점을 가진다.Accordingly, the present invention provides a shortage of timers and systems that are limited resources by assigning timers to all keys in order to synchronize a user's key stroke with a long key stroke. Solving the conventional problem of overloading has the advantage that efficient long key recognition using minimum timer resources.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and reproduce the present invention.
본 발명에 따른 키 인식 시스템은 이동통신 단말기, PDA 등의 키입력 수단을 가진 휴대용 전자기기에 탑재되어 실행되는 실행코드 중 핸드셋(Handset) 태스크(Task)에서 수행 가능한 소프트웨어의 형태로 존재하여, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'이고, 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 롱키(Long Key) 카운트(Count)값을 검사하여, 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키들에 대해서 롱키 이벤트(Event) 처리 수행을 UI 태스크(Task)로 요청함으로써 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능하다.The key recognition system according to the present invention exists in the form of software that can be executed in a handset task among executable codes executed on a portable electronic device having a key input means such as a mobile communication terminal or a PDA. Long key count value is checked for keys whose key stroke state is 'key pressed state' and the current key stroke state is 'key pressed state'. Key Minimum timer by requesting UI task to perform long key event processing on keys equal to the value obtained by dividing the pooling period from the reference value where the count value is recognized as a long key. Efficient long key recognition is possible with resources.
도 1 은 본 발명에 따른 키 인식 시스템의 일 실시예에 따른 블럭도이다.1 is a block diagram according to an embodiment of a key recognition system according to the present invention.
구체적으로, 본 발명에 따른 키 인식 시스템(100)은 제 1 키 스트록 정보(110)와, 제 2 키 스트록 정보(120)와, 롱키 카운트 정보(130)와, 키 스캔 신호 처리부(140)와, 이전의 키 스트록 상태 검사부(150)와, 현재의 키 스트록 상태 검사부(160)와, 롱키 카운트값 검사부(170)와, 롱키 이벤트 처리부(180)를 포함한다.Specifically, the
상기 제 1 키 스트록 정보(110)는 각 키들에 대한 현재의 키 스트록 상태를 저장한다.The
상기 제 2 키 스트록 정보(120)는 각 키들에 대한 이전의 키 스트록 상태를 저장한다.The
상기 롱키 카운트 정보(130)는 각 키들에 대한 롱키(Long Key) 카운트(Count)값을 저장한다.The long
상기 키 스캔 신호 처리부(140)는 풀링(Polling) 주기 간격으로 키 스캔 로직(Key Scan Logic)으로부터 스캔(Scan)된 각 키들의 스캔값을 수신하고, 상기 수신된 각 키들의 스캔값을 상기 제 1 키 스트록 정보(110)에 반영하여 기록한다.The key
이동통신 단말기, PDA 등의 M×N 행렬 형태로 배열된 키(Key)들을 가진 휴대용 전자기기에 탑재되는 키 스캔 로직(Key Scan Logic)은 미리 설정된 풀링 (Polling) 주기, 보통 35ms 간격으로 타이머(Timer)에 의해 기동되어 모든 키에 대해 사용자에 의해 키가 눌려졌는지 인식하여, 각 키들의 스캔값을 출력한다. 이 스캔값은 예컨데, 0(True)일 경우에는 키가 '눌려진(Key pressed) 상태', 1(False)일 경우에는 키가 '눌려지지 않은(None pressed) 상태'를 의미하도록 정의 될 수 있다.Key scan logic installed in portable electronic devices having keys arranged in an M × N matrix form of a mobile communication terminal, PDA, etc. is a preset pulling cycle, usually at 35 ms intervals. It is activated by a timer and recognizes whether a key is pressed by a user for all keys, and outputs a scan value of each key. For example, the scan value may be defined to mean that the key is 'key pressed' in case of 0 (True), and the key is 'non pressed' in case of 1 (False). .
그러면, 본 발명에 따른 키 인식 시스템(100)은 상기 키 스캔 신호 처리부(140)를 통해 키 스캔 로직(Key Scan Logic)으로부터 출력되는 각 키들의 스캔값을 수신하여 상기 제 1 키 스트록 정보(110)에 반영하여 기록한다. 예컨데, 상기 제 1 키 스트록 정보(110)는 M×N 행렬 형태로 배열된 키(Key)들의 현재의 키 스트록 상태를 저장하는 제 1 배열[XM,YN] 형태로 정의할 수 있으며, 상기 제 1 키 스트록 정보(110)에는 각 키들이 현재 '눌려진(Key pressed) 상태' 인지 '눌려지지 않은(None pressed) 상태' 인지를 나타내는 값이 기록된다.Then, the
상기 이전의 키 스트록 상태 검사부(150)는 상기 제 2 키 스트록 정보(120)를 참조하여 각 키(Key)들의 이전의 키 스트록 상태를 검사한다.The previous
예컨데, M×N 행렬 형태로 배열된 키(Key)들에 대한 이전의 키 스트록 상태를 저장하는 제 2 키 스트록 정보(120)는 제 2 배열[XM,YN] 형태로 정의될 수 있으며, 본 발명에 따른 키 인식 시스템(100)은 상기 이전의 키 스트록 상태 검사부(150)를 통해 제 2 배열[XM,YN] 형태로 정의된 제 2 키 스트록 정보(120)를 참조하여 각 키(Key)들의 이전의 키 스트록 상태를 검사한다. 즉, 상기 제 2 키 스트록 정보(120)에는 각 키(Key)들의 이전 키 스트록 상태가 '눌려진(Key pressed) 상태' 인지 '눌려지지 않은(None pressed) 상태' 인지를 나타내는 값이 기록되어 있으므로, 이 기록된 값을 검사함에 의해 각 키(Key)들의 이전의 키 스트록 상태를 알 수 있게 된다.For example, the
상기 현재의 키 스트록 상태 검사부(160)는 상기 이전의 키 스트록 상태 검사부(150)에 의한 검사결과, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 상기 제 1 키 스트록 정보(110)를 참조하여 현재의 키 스트록 상태를 검사한다.The current
롱키(Long Key)는 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'를 지속하여 일정 시간 즉, 롱키(Long key)로 인정되는 기준 시간이 도달한 시점까지 키 스트록 상태를 '눌려진(Key pressed) 상태'로 유지한 경우이므로, 본 발명에 따른 키 인식 시스템(100)은 롱키를 인식하기 위한 선행 절차로 상기 이전의 키 스트록 상태 검사부(150)에 의한 검사결과, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 상기 현재의 키 스트록 상태 검사부(160)를 통해 상기 제 1 키 스트록 정보(110)를 참조하여 현재의 키 스트록 상태를 검사한다.Long Key is a key that has been pressed while the previous key stroke state has been 'key pressed' and has been pressed for a certain time, that is, until a reference time that is recognized as a long key has been reached. Since the
상기 롱키 카운트값 검사부(170)는 상기 현재의 키 스트록 상태 검사부(160)에 의한 검사결과 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 상기 롱키 카운트 정보(130)를 참조하여 롱키(Long Key) 카운트(Count)값을 검사한다.The long key count
본 발명에 따른 키 인식 시스템(100)은 롱키(Long Key) 카운트(Count)값을 정의하여 관리하고, 이 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 경우 롱키(Long Key)로 인식한다. 따라서, 상기 현재의 키 스트록 상태 검사부(160)에 의한 검사결과 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 본 발명에 따른 키 인식 시스템(100)이 상기 롱키 카운트값 검사부(170)를 통해 상기 롱키 카운트 정보(130)를 참조하여 롱키(Long Key) 카운트(Count)값을 검사한다.The
상기 롱키 이벤트 처리부(180)는 상기 롱키 카운트값 검사부(170)에 의해 검사된 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키들에 대해서 롱키 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 롱키(Long Key) 카운트(Count)값을 하나 증가시켜 상기 롱키 카운트 정보(130)에 반영한다.The long key
즉, 본 발명에 따른 키 인식 시스템(100)은 상기 롱키 카운트값 검사부(170)에 의한 검사된 롱키(Long Key) 카운트(Count)값과 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값을 비교하여, 그 값에 따라 롱키(Long Key) 입력인지 아닌지 여부를 판단하는데, 이 때, 본 발명에 따른 키 인식 시스템(100)이 상기 롱키 이벤트 처리부(180)를 통해 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키들에 대해서 롱키 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 롱키(Long Key) 카운트(Count)값을 하나 증가시켜 상기 롱키 카운트 정보(130)에 반영한다.That is, the
이렇게 함으로써 본 발명은 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능해 진다.By doing so, the present invention enables efficient long key recognition using minimal timer resources.
한편, 본 발명의 부가적인 양상에 따르면, 상기 롱키 이벤트 처리부(180)가 상기 롱키 카운트값 검사부(170)에 의한 검사된 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값보다 작은 키들에 대해서는 롱키(Long Key) 카운트(Count)값을 하나 증가시켜 상기 롱키 카운트 정보에 반영하는 것이 바람직하다.On the other hand, according to an additional aspect of the present invention, the long key count value counted by the long key
즉, 이 경우는 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'를 지속하여 일정 시간 동안 키 스트록 상태를 '눌려진(Key pressed) 상태'로 유지하였으나, 롱키(Long key)로 인정되는 기준 시간에 도달하지 못했을 경우의 롱키 인식을 위한 롱키(Long Key) 카운트(Count)값을 증가시키는 처리를 수행하는 실시예로, 본 발명에 따른 키 인식 시스템(100)이 상기 롱키 카운트값 검사부(170)에 의한 검사된 롱키(Long Key) 카운트(Count)값과 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값을 비교하여 롱키(Long Key) 카운트(Count)값이 작은 키들에 대해서 상기 롱키 이벤트 처리부(180)를 통해 해당 키들의 롱키(Long Key) 카운트(Count)값을 하나 증가시켜 상기 롱키 카운트 정보에 반영하여 계속하도록 한 것이다.That is, in this case, the previous keystroke state is kept in the 'key pressed state' and the keystroke state is kept in the 'key pressed state' for a predetermined time, but the criterion recognized as a long key. In an embodiment in which a process of increasing a long key count value for long key recognition when the time has not been reached, the
한편, 본 발명의 부가적인 양상에 따르면, 본 발명에 따른 키 인식 시스템(100)이 키 해제 이벤트 처리부(190)를 더 포함하는 것이 바람직하다.Meanwhile, according to an additional aspect of the present invention, it is preferable that the
상기 키 해제 이벤트 처리부(190)는 상기 현재의 키 스트록 상태 검사부(160)에 의한 검사결과, 현재의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대해서는 키 해제 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 해당 키들에 대응하는 상기 제 2 키 스트록 정보(120)내의 상태값을 '눌려지지 않은(None pressed) 상태' 값으로 변경하고, 해당 키들에 대응하는 상기 롱키 카운트 정보(130)내의 롱키(Long Key) 카운트(Count)값을 초기화한다.The key
즉, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'에서 현재의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'가 되었다면, 키 해제가 된 상태이므로, 따라서, 본 발명에 따른 키 인식 시스템(100)이 상기 현재의 키 스트록 상태 검사부(160)에 의한 검사결과, 현재의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대해서는 상기 키 해제 이벤트 처리부(190)를 통해 키 해제 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 해당 키들에 대응하는 상기 제 2 키 스트록 정보(120)내의 상태값을 '눌려지지 않은(None pressed) 상태' 값으로 변경한다. 또한, 키 해제되었을 경우에는 롱키를 인식하기 위한 시간 카운트를 할 필요가 없으므로, 본 발명에 따른 키 인식 시스템(100)이 상기 키 해제 이벤트 처리부(190)를 통해 해당 키들에 대응하는 상기 롱키 카운트 정보(130)내의 롱키(Long Key) 카운트(Count)값을 초기화함으로써 키 해제 처리를 수행한다.That is, if the current keystroke state becomes the 'None pressed state' from the previous keystroke state in the 'key pressed state', the key is released, and thus, the key according to the present invention. As a result of the inspection by the current keystroke
한편, 본 발명의 부가적인 양상에 따르면, 본 발명에 따른 키 인식 시스템(100)이 키 입력 이벤트 처리부(200)를 더 포함하는 것이 바람직하다.Meanwhile, according to an additional aspect of the present invention, it is preferable that the
상기 키 입력 이벤트 처리부(200)는 상기 이전의 키 스트록 상태 검사부(150)에 의한 검사결과, 이전의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대해서 상기 제 1 키 스트록 정보(110)를 참조하여 현재의 키 스트 록 상태가 '눌려진(Key pressed) 상태'인 키들을 검사하고, 검사된 키들에 대한 키 입력 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 해당 키들에 대응하는 상기 제 2 키 스트록 정보(120)내의 상태값을 '눌려진(Key pressed) 상태' 값으로 변경한다.The key input
즉, 이전의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'에서 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'가 되었다면, 키 입력이 된 상태이므로, 본 발명에 따른 키 인식 시스템(100)이 상기 이전의 키 스트록 상태 검사부(150)에 의한 검사결과, 이전의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대해서 상기 키 입력 이벤트 처리부(200)를 통해 상기 제 1 키 스트록 정보(110)를 참조하여 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들을 검사하여, 검사된 키들에 대한 키 입력 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 해당 키들에 대응하는 상기 제 2 키 스트록 정보(120)내의 상태값을 '눌려진(Key pressed) 상태' 값으로 변경함으로써 키 입력 처리를 수행한다.That is, if the current keystroke state becomes the 'key pressed state' from the previous keystroke state 'None pressed state', since the key is input, the key recognition system according to the present invention. As a result of the inspection by the previous keystroke
따라서, 본 발명은 키 인식 처리에 관련한 모든 처리를 핸드셋(Handset) 태스크(Task)에서 처리하도록 하여 일관성있는 키 인식 처리가 가능하고, 사용자의 키(Key) 스트록(Stroke)과 롱키(Long Key) 스트록(Stroke)간의 동기를 맞추기 위해 모든 키(Key)에 타이머(Timer)를 부여함으로써 제한된 자원인 타이머 부족 및 시스템 과부하가 초래되는 종래의 문제점을 해결하여 최소한의 타이머 자원을 이용해 효율적으로 키 인식을 할 수 있게 된다. Therefore, the present invention enables all key processing related to key recognition processing to be performed by the Handset Task, which enables consistent key recognition processing, and enables the user's Key Stroke and Long Key. By assigning timers to all keys in order to synchronize strokes, it solves the conventional problem of insufficient resources such as lack of timer and system overload. You can do it.
상기한 구성을 갖는 본 발명에 따른 키 인식 시스템(100)의 롱키(Long Key) 인식 동작을 도 2a 및 도 2b 를 참조하여 알아본다.Long key recognition operation of the
도 2a,2b 는 본 발명에 따른 키 인식 방법의 흐름도이다.2A and 2B are flowcharts of a key recognition method according to the present invention.
도면에 도시한 바와 같이, 먼저 제 1 단계(S110)에서 키 인식 시스템(100)이 키 스캔 신호 처리부(140)를 통해 M×N 행렬 형태로 배열된 키(Key)들의 스트록 상태(Stroke State)를 풀링(Polling) 주기 간격으로 스캔(Scan)하여 각 키들의 스캔값을 현재의 키 스트록 상태를 나타내는 제 1 배열[XM,YN]에 저장한다.As shown in the figure, in the first step S110, the
그 다음, 제 2 단계(S120)에서 키 인식 시스템(100)이 이전의 키 스트록 상태 검사부(150)를 통해 이전의 키 스트록 상태를 저장한 제 2 배열[XM,YN]을 참조하여 M×N 행렬 형태로 배열된 각 키(Key)들의 이전의 키 스트록 상태를 검사한다.Next, in a second step (S120), the
만일, 상기 제 2 단계(S120)에 의한 검사결과, 이전의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대해서는 제 3 단계(S130)에서 키 인식 시스템(100)이 키 입력 이벤트 처리부(200)를 통해 상기 제 1 배열[XM,YN]에 저장된 해당 키 스캔값을 검사하여, 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대한 키 입력 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대응하는 제 2 배열[XM,YN] 값들을 '눌려진(Key pressed) 상태' 값으로 변경한다.If, as a result of the inspection by the second step (S120), the
만일, 상기 제 2 단계(S120)에 의한 검사결과, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 제 4 단계(S140)에서 키 인식 시스템 (100)이 현재의 키 스트록 상태 검사부(160)를 통해 상기 제 1 배열[XM,YN]에 저장된 해당 키 스캔값을 검사한다.If the result of the check by the second step (S120), the
만일, 상기 제 4 단계(S140)에 의한 검사결과 현재의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대해서는 제 5 단계(S150)에서 키 인식 시스템(100)이 키 해제 이벤트 처리부(190)를 통해 키 해제 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 현재의 키 스트록 상태가 '눌려지지 않은(None pressed) 상태'인 키들에 대응하는 제 2 배열[XM,YN] 값들을 '눌려지지 않은(None pressed) 상태' 값으로 변경하고, 롱키(Long Key) 카운트(Count)값을 저장한 제 3 배열[XM,YN]에 저장된 해당 롱키(Long Key) 카운트(Count)값을 초기화한다.If, as a result of the inspection by the fourth step S140, the keys having the current keystroke state of 'None pressed' state, the
만일, 상기 제 4 단계(S140)에 의한 검사결과 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서는 제 6 단계(S160)에서 키 인식 시스템(100)이 롱키 카운트값 검사부(170)를 통해 롱키(Long Key) 카운트(Count)값을 저장한 제 3 배열[XM,YN]에 저장된 해당 롱키(Long Key) 카운트(Count)값을 검사한다.If, as a result of the check by the fourth step S140, the
만일, 상기 제 6 단계(S160)에 의해 검사된 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값보다 작은 키들에 대해서는 제 7 단계(S170)에서 키 인식 시스템(100)이 롱키 이벤트 처리부(180)를 통해 롱키(Long Key) 카운트(Count)값을 하나 증가시킨다.If the long key count value checked by the sixth step S160 is less than the value obtained by dividing the pulling period from the reference value recognized as the long key, the seventh step is performed. In operation S170, the
만일, 상기 제 6 단계(S160)에 의해 검사된 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키 들에 대해서는 제 8 단계(S180)에서 키 인식 시스템(100)이 롱키 이벤트 처리부(180)를 통해 롱키 이벤트(Event) 처리를 UI 태스크(Task)로 요청하고, 롱키(Long Key) 카운트(Count)값을 하나 증가시킨다.If the long key count value checked by the sixth step S160 is equal to a value obtained by dividing a pulling period from a reference value recognized as a long key, the eighth key is equal to eighth. In operation S180, the
따라서, 본 발명은 키 인식 처리에 관련한 모든 처리를 핸드셋(Handset) 태스크(Task)에서 처리하도록 하여 일관성있는 키 인식 처리가 가능하고, 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능하게 되므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있게 된다.Accordingly, the present invention enables a consistent key recognition process by processing all the processes related to the key recognition process in the Handset Task, and enables efficient long key recognition using minimum timer resources. The object of the present invention presented can be achieved.
이상에서 설명한 바와같은 본 발명에 따른 키 인식 시스템 및 방법은 키 인식 처리에 관련한 모든 처리를 핸드셋(Handset) 태스크(Task)에서 처리하도록 하여 일관성있는 키 인식 처리가 가능하고, 이전의 키 스트록 상태가 '눌려진(Key pressed) 상태'이고, 현재의 키 스트록 상태가 '눌려진(Key pressed) 상태'인 키들에 대해서 롱키(Long Key) 카운트(Count)값을 검사하여, 롱키(Long Key) 카운트(Count)값이 롱키(Long key)로 인정되는 기준값에서 풀링(Polling) 주기를 나눈값과 같은 키들에 대해서 롱키 이벤트(Event) 처리 수행을 UI 태스크(Task)로 요청함으로써 최소한의 타이머 자원을 이용해 효율적인 롱키 인식이 가능하고, 키입력 수단을 가지는 전자기기의 모든 키들에 대해 롱키 인식 기능을 부여할 수 있는 유용한 효과를 가진다.As described above, the key recognition system and method according to the present invention allow all the processing related to the key recognition processing to be performed by the Handset Task, thereby enabling consistent key recognition processing, and the previous key stroke state. The Long Key Count value is checked by checking the Long Key Count value for the keys that are in the "key pressed state" and the current keystroke state is the "key pressed state." Efficient long key using minimum timer resources by requesting UI task to perform long key event processing for keys equal to the value obtained by dividing the pooling period from the reference value where the value is recognized as a long key. It is possible to recognize and have a useful effect of giving a long key recognition function to all keys of an electronic device having a key input means.
본 발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.While the invention has been described with reference to the preferred embodiments, which are referred to by the accompanying drawings, it is apparent that various modifications are possible without departing from the scope of the invention within the scope covered by the following claims from this description. .
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050057746A KR100604603B1 (en) | 2005-06-30 | 2005-06-30 | Key recognition system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050057746A KR100604603B1 (en) | 2005-06-30 | 2005-06-30 | Key recognition system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100604603B1 true KR100604603B1 (en) | 2006-07-24 |
Family
ID=37184494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050057746A KR100604603B1 (en) | 2005-06-30 | 2005-06-30 | Key recognition system and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100604603B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640140A (en) * | 2018-12-14 | 2019-04-16 | 青岛海信传媒网络技术有限公司 | Button processing method and device |
-
2005
- 2005-06-30 KR KR1020050057746A patent/KR100604603B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640140A (en) * | 2018-12-14 | 2019-04-16 | 青岛海信传媒网络技术有限公司 | Button processing method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8261266B2 (en) | Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application | |
CN107798108B (en) | Asynchronous task query method and device | |
CN107506240B (en) | Background application program control method and device, storage medium and electronic equipment | |
CN101840268B (en) | Method for fast scanning and positioning of matrix keyboard | |
US8074000B2 (en) | Hotkey processing method and computer system | |
CN101114323A (en) | Device for monitoring keyboard hook | |
CN100492918C (en) | A method and system for keyboard scan | |
CA2560747A1 (en) | Profile based capture component for monitoring events in applications | |
CN109033247B (en) | Application program management method and device, storage medium and terminal | |
WO2023116130A1 (en) | Keyboard scanning circuit, keyboard key recognition method, chip, and keyboard | |
KR100604603B1 (en) | Key recognition system and method | |
CN110267215B (en) | Data detection method, equipment and storage medium | |
US6546065B1 (en) | Frame synchronous circuit | |
CN105471674A (en) | Method and system for testing performance of server | |
CN109491771B (en) | Task processing method based on system performance optimization and related equipment | |
CN113377752B (en) | Data cleaning method, device and system and computer readable storage medium | |
CN113687942B (en) | Detection method and device and electronic equipment | |
CN113064661A (en) | Memory processing method and device for batch tasks, electronic equipment and storage medium | |
CN114791780A (en) | Display screen touch control method, device, equipment and storage medium | |
KR100767986B1 (en) | Terminal unit | |
CN107395888B (en) | Processing method, device, storage medium and the mobile terminal of blank screen gesture | |
CN110515834B (en) | Interface testing method and device, mobile terminal and storage medium | |
CN110874277A (en) | Electronic red packet processing method, electronic red packet processing device and mobile terminal | |
CN112241556B (en) | Interrupt management method, device and equipment of control circuit and storage medium | |
CN115168010A (en) | Process execution method and device, electronic equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120706 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130628 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150708 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160701 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |