KR101688630B1 - 키보드 장치 및 그것을 이용한 데이터 통신 방법 - Google Patents

키보드 장치 및 그것을 이용한 데이터 통신 방법 Download PDF

Info

Publication number
KR101688630B1
KR101688630B1 KR1020150130268A KR20150130268A KR101688630B1 KR 101688630 B1 KR101688630 B1 KR 101688630B1 KR 1020150130268 A KR1020150130268 A KR 1020150130268A KR 20150130268 A KR20150130268 A KR 20150130268A KR 101688630 B1 KR101688630 B1 KR 101688630B1
Authority
KR
South Korea
Prior art keywords
computer
data
keyboard device
keyboard
key
Prior art date
Application number
KR1020150130268A
Other languages
English (en)
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 한국전자통신연구원
Priority to KR1020150130268A priority Critical patent/KR101688630B1/ko
Priority to US14/980,966 priority patent/US10255426B2/en
Priority to JP2016000042A priority patent/JP6127161B2/ja
Application granted granted Critical
Publication of KR101688630B1 publication Critical patent/KR101688630B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/0219Special purpose keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

키보드 장치 및 그것을 이용한 데이터 통신 방법이 개시된다. 본 발명에 따른 키보드 장치의 데이터 통신 방법은, 키보드 장치가 키 입력시 발생하는 키 입력 신호를 이용하여 컴퓨터가 실행할 명령어 집합인 데이터를 생성하는 단계, 상기 키보드 장치가 상기 생성된 데이터를 상기 컴퓨터로 전송하여 상기 컴퓨터가 상기 데이터의 명령어를 실행하도록 하는 단계, 그리고 상기 키보드 장치가 상기 컴퓨터로부터 상기 데이터의 명령어를 실행한 결과를 수신하는 단계를 포함하며, 상기 명령어는 상기 컴퓨터가 상기 키보드 장치로 데이터를 전송할 회선 코딩(Line Coding) 방법을 포함하고, 상기 컴퓨터는 토글키 신호를 상기 회선 코딩 방법에 대응되도록 발생시켜 상기 키보드 장치로 전송한다.

Description

키보드 장치 및 그것을 이용한 데이터 통신 방법{KEYBOARD APPARATUS AND DATA COMMUNICATION METHOD USING THE SAME}
본 발명은 키보드 장치 및 그것을 이용한 데이터 통신 방법에 관한 것으로, 특히 키보드 장치를 이용하여 컴퓨터와 데이터 통신을 수행하는 기술에 관한 것이다.
컴퓨터에서 토글키(Toggle Key)란 한 번 누르면 어떠한 상태가 셋팅되고, 다시 한 번 누르면 그 상태가 해제되는 방식으로 동작하는 키를 의미한다. 즉, 한 개의 키를 이용하여 기능을 켜고 끄는 것이 가능한 키이다. 키보드에서 토글키는 [Caps Lock], [Num Lock], [Scroll Lock] 등이 있다.
예를 들어, [Caps Lock] 키를 한 번 누른 후, 영문 타이핑을 하면, Shift키를 누르지 않아도 계속 대문자로 입력된다. 그리고 [Caps Lock] 키를 한 번 더 누르면 대문자 기능이 OFF 되어 소문자로 입력된다.
그리고 [Pause Break] 키도 토글키로 작동할 수 있으며, [Pause Break] 키를 한 번 누르면 화면 출력이 중지되고, 한 번 더 누르면 중지가 해제된다. 또한, [한/영]키도 한 번 누르면 한글입력 모드로 동작하고, 한 번 더 누르면 영문입력 모드로 동작한다. 이와 마찬가지로 [Num Lock], [Scroll Lock] 및 [Insert]키도 위와 같은 토글키로 동작한다.
이러한 토글키는 PC를 개발할 때, 하드웨어적으로 만들어 놓은 토글키 이며, 소프트웨어적으로도 토글키를 설정할 수 있다. 예를 들어, 워드프로세서 프로그램에서 한글과 영문을 전환할 때, 키보드의 [한/영]키 대신 Shift키를 누른 상태에서 Spacebar를 한 번 누르면 한글입력 모드에서 영문입력 모드로 전환되며, 한 번 더 누르면 다시 영문입력 모드로 전환된다.
이는 [한/영]키가 없는 외국의 키보드를 이용하여 외국에서도 워드프로세서 프로그램을 손쉽게 이용할 수 있도록 한 것으로, 소프트웨어적으로 토글키를 설정한 대표적인 예이다. 그리고 프로그램 내부에서 정의된 단축키인 핫키 중에서 토글키로 작동하는 경우도 있다.
그러나, 일반적으로 토글키를 포함하는 키보드는 사용자로부터 입력받은 키를 컴퓨터로 전송하는 입력장치의 역할만 수행할 뿐, 컴퓨터와 데이터 통신을 수행하지 못한다.
따라서, 키보드를 컴퓨터와 데이터 통신 수행할 수 있는 입출력 장치로 구현하는 기술의 필요성이 절실하게 대두된다.
한국 등록 특허 제10-0337603호, 2000년 3월 15일 공개(명칭: 사용자 패스워드 인증을 위한 핫키를 갖는 컴퓨터 시스템 및 그의 패스워드 인증 방법)
본 발명의 목적은 표준 키보드 인터페이스를 이용하여 컴퓨터와 데이터 통신을 수행하는 키보드를 제공하는 것이다.
또한, 본 발명의 목적은 키보드 인터페이스에 추가적인 드라이버를 설치하지 않고, 원하는 데이터를 출력할 수 있도록 하여 키보드를 데이터 입출력 장치로 구현하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 키보드 장치의 데이터 통신 방법은, 키보드 장치가 키 입력시 발생하는 키 입력 신호를 이용하여 컴퓨터가 실행할 명령어 집합인 데이터를 생성하는 단계, 상기 키보드 장치가 상기 생성된 데이터를 상기 컴퓨터로 전송하여 상기 컴퓨터가 상기 데이터의 명령어를 실행하도록 하는 단계, 그리고 상기 키보드 장치가 상기 컴퓨터로부터 상기 데이터의 명령어를 실행한 결과를 수신하는 단계를 포함하며, 상기 명령어는 상기 컴퓨터가 상기 키보드 장치로 데이터를 전송할 회선 코딩(Line Coding) 방법을 포함하고, 상기 컴퓨터는 토글키 신호를 상기 회선 코딩 방법에 대응되도록 발생시켜 상기 키보드 장치로 전송한다.
이 때, 상기 키보드 장치는 PS/2 또는 USB의 표준 키보드 인터페이스를 이용할 수 있다.
이 때, 상기 회선 코딩 방법은 맨체스터 코딩일 수 있다.
이 때, 상기 키보드 장치는, 상기 데이터를 Base64 인코딩 방식으로 인코딩하여 상기 컴퓨터로 전송할 수 있다.
이 때, 상기 키보드 장치는 키보드 컨트롤러에서 기 사용중인 클럭을 이용하거나, 토글키 중에서 어느 하나를 클럭으로 이용할 수 있다.
이 때, 상기 키보드 장치가 상기 컴퓨터로 데이터 통신 준비를 요청하기 위한 준비 요청 명령을 전송하는 단계, 그리고 상기 키보드 장치가 상기 컴퓨터로부터 데이터 수신 준비 신호를 수신하는 단계를 더 포함할 수 있다.
이 때, 상기 키보드 장치는 기 설정된 시간 동안 상기 컴퓨터로부터 상기 데이터 수신 준비 신호를 수신하지 않으면, 기 설정된 주기로 상기 준비 요청 명령을 상기 컴퓨터로 전송할 수 있다.
이 때, 상기 컴퓨터와 상기 키보드 장치간 장치 인증 과정을 수행하는 단계를 더 포함할 수 있다.
이 때, 상기 장치 인증 과정은, 상기 컴퓨터가 토글키 사용 현황을 모니터링하고, 기 설정된 시간 이내에 기 설정된 횟수 이상 토글키가 사용되면, 상기 컴퓨터는 상기 키보드 장치로 암호를 요구하고, 상기 키보드 장치로부터 암호를 입력받아 장치를 인증할 수 있다.
이 때, 상기 암호는 평문을 입력하는 암호이거나, 상기 컴퓨터와 상기 키보드 장치간 사전에 공유된 암호일 수 있다.
또한, 본 발명의 일 실시예에 따른 키보드 장치는, 키 입력시 발생하는 키 입력 신호를 이용하여 컴퓨터가 실행할 명령어 집합인 데이터를 생성하는 데이터 생성부, 그리고 상기 생성된 데이터를 상기 컴퓨터로 전송하여 상기 컴퓨터가 상기 데이터의 명령어를 실행하도록 하고, 상기 컴퓨터로부터 상기 데이터의 명령어를 실행한 결과를 수신하는 통신부를 포함하며, 상기 명령어는 상기 컴퓨터가 상기 키보드 장치로 데이터를 전송할 회선 코딩(Line Coding) 방법을 포함하고, 상기 컴퓨터는 토글키 신호를 상기 회선 코딩 방법에 대응되도록 발생시켜 상기 키보드 장치로 전송한다.
본 발명에 따르면, 표준 키보드 인터페이스를 이용하여 컴퓨터와 데이터 통신을 수행하는 키보드를 제공할 수 있다.
또한, 본 발명의 목적은 키보드 인터페이스에 추가적인 드라이버를 설치하지 않고, 원하는 데이터를 출력할 수 있도록 하여 키보드를 데이터 입출력 장치로 구현할 수 있다.
도 1은 본 발명의 일 실시예에 따른 키보드 장치의 데이터 통신 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 키보드 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 키보드 장치의 데이터 통신 방법을 나타낸 순서도이다.
도 4는 본 발명의 일 실시예에 따른 키보드 컨트롤러에서 사용 중인 클럭을 이용하는 예를 나타낸 예시도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 키보드 장치의 데이터 통신 시스템을 나타낸 도면이다.
도 1에 도시된 바와 같이, 키보드 장치의 데이터 통신 시스템은 컴퓨터(100)와 키보드(200)를 포함한다.
먼저, 컴퓨터(100)는 각종 입력장치로부터 자료를 입력받아 처리하며, 처리된 정보를 저장하고, 검색하여 결과를 출력하는 장치를 의미하며, 일 예로, PC(Personal Computer), 데스크탑(Desktop) PC, 노트북(Notebook), 스마트 보드(Smart Board), 태블릿(Tablet) PC 일 수 있다.
그리고 컴퓨터(100)는 스마트 폰(Smart Phone), 스마트 TV, 내비게이션, 모바일 기기(Mobile Device), 핸드헬드(handheld) 기기 또는 핸드헬드 컴퓨터, 미디어 플레이어, 전자북 단말기, PDA(Personal Digital Assistant) 등 일 수 있다.
또한, 컴퓨터(100)는 키보드 장치(200)와 유선 또는 무선으로 연결되어 통신을 수행할 수 있으며, 키보드 장치(200)로부터 데이터를 수신하고, 데이터에 대응되는 명령어를 실행하여 실행 결과를 키보드 장치(200)로 전송한다.
다음으로, 키보드 장치(200)는 컴퓨터(100)의 동작을 위한 사용자의 동작 명령이나 데이터를 입력시키기 위한 입력장치이다. 키보드 장치(200)는 컴퓨터(100)와 유선 또는 무선으로 연결되어 동작 명령이나 데이터를 컴퓨터(100)에 전송할 수 있다.
또한, 본 발명의 실시예에 따른 키보드 장치(200)는 컴퓨터(100)로 데이터를 전송할 뿐 아니라, 컴퓨터(100)로부터 명령어 실행 결과를 수신할 수 있으며, 수신된 실행 결과를 출력할 수도 있다.
그리고 키보드 장치(200)는 표준 키보드 인터페이스 및 키보드 컨트롤러를 포함한다. 키보드 인터페이스는 PS/2(Personal System/2) 방식 또는 USB 방식일 수 있다.
키보드 장치(200)가 PS/2 방식의 키보드인 경우 단자는 보라색이며, 컴퓨터(100)가 작동하는 상태에서는 키보드 장치(200)를 인식할 수 없으므로, 컴퓨터(100)에 키보드 장치(200)를 연결한 후 재부팅 과정을 수행하여 컴퓨터(100)에 키보드 장치(200)를 연결할 수 있다.
반면, USB(Universal Serial Bus, 범용 직렬 버스) 방식인 경우, 플러그 앤 플레이(Plug and Play) 기능을 지원하므로 컴퓨터(100)에 물리적으로 연결하면 컴퓨터(100)가 바로 키보드 장치(200)의 연결을 감지할 수 있다. 또한, 핫 스와핑(Hot swapping)기능을 지원하므로 컴퓨터(100)의 전원이 켜진 상태에서도 키보드 장치(200)의 연결, 분리 또는 교체가 가능하다.
키보드 장치(200)는 키의 스위치 형태에 따라 분류되는 멤브레인 키보드, 기계식 키보드, 펜타그래프 키보드, 플렉시블 키보드, 프로젝션 키보드, teensy와 같은 키보드 컨트롤러를 포함하는 개발보드 또는 장치 중에서 어느 하나일 수 있다.
또한, 키보드 장치(200)는 복수의 키(글쇠)로 구성되며, 101개, 104개, 106개의 키로 구성될 수 있으며, 컴퓨터(100)가 노트북 PC와 같은 휴대용 기기인 경우, 더 적은 수의 키로 구성될 수 있다. 키보드 장치(200)의 키는 숫자/문자 키, 기능 키, 조합 키, 이동 키, 타자 보조 키 및 시스템 명령 키로 이루어지며, 2가지 상태만을 가지는 토글 키(toggle key)를 포함한다.
토글 키는 키를 한 번만 누르면 한 값이 되고, 다시 한 번 누르면 다른 값으로 변하며, 토글 키의 종류에는 캡스 로크[Caps Lock] 키, 넘 로크[Num Lock] 키, 스크롤 로크[Scrool Lock] 키 등이 있다.
예를 들어, 캡스 로크[Caps Lock] 키는 알파벳 문자를 대문자로 바꾸는데 사용되고, 넘 로크[Num Lock] 키는 숫자 키패드를 유효하게 하여 숫자 키패드에 있는 키를 숫자 입력에 사용할 수 있도록 하며, OFF 상태인 경우 키는 커서의 이동이나 화면 상의 스크롤링에 사용된다. 그리고 스크롤 로크[Scrool Lock] 키는 커서 컨트롤 키의 효과를 제어하며, [Scrool Lock]키를 ON하면 컨트롤 키의 효과에 영향을 미친다.
도 2는 본 발명의 일 실시예에 따른 키보드 장치의 구성을 나타낸 블록도이다.
도 2를 참조하면, 키보드 장치(200)는 데이터 생성부(210), 통신부(220) 및 장치 인증부(230)를 포함한다.
먼저, 데이터 생성부(210)는 키 입력시 발생하는 키 입력 신호를 이용하여 컴퓨터가 실행할 명령어 집합인 데이터를 생성한다.
데이터 생성부(210)가 컴퓨터(100)로 전송할 데이터는 사전에 정의되어 있을 수 있으며, 사용자로부터 키보드의 키 누름을 입력받지 않고, 자동으로 데이터 생성부(210)는 컴퓨터(100)로 명령어 집합인 데이터를 전송할 수 있다.
여기서, 데이터는 컴퓨터(100)가 키보드 장치(200)로 명령어 실행 결과 등의 신호를 전송할 때 사용할 회선 코딩(Line Coding) 방법을 포함하며, 회선 코딩은 단순한 이진 부호, 이더넷(Ethernet)에서 사용되는 회선 코딩 등을 포함할 수 있다.
또한, 데이터 생성부(210)는 키보드 장치(200)의 키가 주로 문자 및 숫자 형태(alphanumeric)이므로 데이터 전송시 문자 및 숫자의 전송에 유리한 형태의 인코딩 방식인 Base64와 같은 인코딩 방식을 적용하여 데이터를 생성하거나, MIME, UTF-7, OpenPGP, RFC 3548, RFC 4648 등과 같은 인코딩 방식을 적용할 수 있으며, 인코딩 방식은 이에 한정되지 않는다.
여기서, Base64는 실행 파일이나 Zip파일 등의 8bit 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 의미한다. 그리고 데이터 생성부(210)는 컴퓨터(100)와 키보드 장치(200)가 데이터 통신을 수행할 때, Base64 방식으로 인코딩 및 디코딩 하도록 하는 정보를 포함하도록 하는 데이터를 생성할 수 있다.
다음으로 통신부(220)는 생성된 데이터를 컴퓨터(100)로 전송하여 컴퓨터(100)가 데이터에 포함된 명령어를 실행하도록 한다.
통신부(220)는 생성된 데이터를 컴퓨터(100)로 전송하여, 컴퓨터(100)가 데이터에 포함된 명령어를 실행하도록 한다. 이때, 컴퓨터(100)는 Windows의 cmd에서 명령어를 실행할 수 있으며, UNIX 계열의 OS에서도 명령어를 실행할 수 있다.
또한, 통신부(220)는 컴퓨터(100)로부터 명령어를 실행한 결과를 수신한다. 컴퓨터(100)는 토글키를 회선 코딩 방법에 대응되도록 신호를 발생시켜 키보드 장치(200)로 전송하며, 통신부(220)는 컴퓨터(100)로부터 신호를 수신한다. 이때, 컴퓨터(100)는 윈도우 환경에서 vbscript의 sendkeys를 이용하여 토글키를 이용할 수 있다.
그리고 통신부(220)는 데이터 통신 준비를 요청하기 위한 준비 요청 명령을 컴퓨터(100)로 전송하고, 컴퓨터(100)로부터 수신 준비 신호를 수신할 수 있다.
준비 요청 명령은 컴퓨터(100)가 데이터를 수신하여 명령어를 실행하도록 준비를 요청하는 것이고, 컴퓨터(100)는 데이터를 수신할 준비가 완료된 경우, 키보드 장치(200)로 수신 준비 신호를 전송한다. 여기서 수신 준비 신호는 컴퓨터(100)가 준비 요청 명령에 포함된 회선 코딩 방법으로 토글키 신호를 발생시킨 것 일 수 있다.
그리고 장치 인증부(230)는 컴퓨터(100)와 키보드 장치(200)간 장치 인증 과정을 수행한다. 장치 인증부(230)는 컴퓨터(100)로부터 장치 인증 요청을 수신하면, 암호를 컴퓨터(100)로 전송하여 장치 인증 과정을 수행한다.
여기서, 컴퓨터(100)는 토글키 사용 현황을 모니터링하고, 기 설정된 시간 이내에 기 설정된 횟수 이상 토글키가 사용되면, 키보드 장치(200)로 암호를 요구할 수 있다. 또한, 암호를 키보드 장치(200)로부터 입력받아 장치 인증을 수행할 수 있다. 이때, 암호는 사용자가 직접 입력하는 암호이거나 컴퓨터와 키보드 장치간 사전에 공유된 암호, 또는 키 교환/공유 프로토콜을 이용하여 공유된 암호일 수 있다.
이하에서는 도 3 및 도 4를 통하여 본 발명의 실시예에 따른 키보드 장치의 데이터 통신 방법에 대하여 더욱 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 키보드 장치의 데이터 통신 방법을 나타낸 순서도이다.
먼저, 키보드 장치(200)는 컴퓨터(100)로부터 장치 인증 요청을 수신한다(S310).
컴퓨터(100)는 키보드 장치(200)의 토글키 사용 현황을 모니터링하고, 기 설정된 시간 이내에 기 설정된 횟수 이상 토글키가 사용되는 것으로 감지되면, 키보드 장치(200)로 장치 인증 요청을 전송한다. 여기서 장치 인증 요청은 암호를 요구하는 것일 수 있다.
그리고 키보드 장치(200)는 장치 인증 암호를 컴퓨터(100)로 전송한다(S320).
S310 단계에서 장치 인증 요청이 암호를 요구하는 것인 경우, 키보드 장치(200)는 컴퓨터(100)로 암호를 전송하고, 암호를 수신한 컴퓨터(100)는 암호를 평문 또는 기 설정된 암호와 비교하여 장치 인증을 수행한다.
설명의 편의상, S310 단계 및 S320 단계를 통하여 컴퓨터(100) 및 키보드 장치(200)가 장치 인증 과정을 수행하는 것으로 설명하였으나, 이에 한정하지 않고, 본 발명의 실시예에 따른 컴퓨터(100) 및 키보드 장치(200)는 장치 인증 과정을 수행하지 않고 S330 단계를 수행할 수도 있다.
다음으로, 키보드 장치(200)는 준비 요청 명령을 컴퓨터(100)로 전송한다(S330).
준비 요청 명령은 키보드 장치(200)가 컴퓨터(100)로 데이터 통신 준비를 요청하기 위하여 전송하는 것으로, 컴퓨터(100)의 운영체제 또는 버전에 따라 준비 요청 명령은 상이할 수 있다. 예를 들어, 컴퓨터(100)의 운영체제가 윈도우인 경우, 키보드 장치(200)는 윈도우키+R을 이용하여 실행창을 실행하고, cmd 명령어를 이용하여 커맨드 창을 실행시킨 후 포커스를 입력하는 준비 요청 명령을 전송할 수 있다.
그리고 키보드 장치(200)는 컴퓨터(100)로부터 데이터 수신 준비 신호를 수신한다(S340).
컴퓨터(100)는 수신된 준비 요청 명령에 대응되도록 데이터 수신 준비 신호를 생성하여 키보드 장치(200)로 전송한다. 여기서 데이터 수신 준비 신호는 토글키 신호를 이용하여 데이터를 수신할 준비가 완료되었다는 것을 키보드 장치(200)에 알리는 신호를 의미한다. 그리고 데이터를 수신할 준비가 완료되었다는 것은 토글키를 이용한 데이터 전송이 가능하다는 것을 의미한다.
본 발명의 실시예에 따른 키보드 장치(200)는 S330 단계에서 준비 요청 명령을 컴퓨터로 전송하였으나, 임계시간 내에 컴퓨터(100)로부터 데이터 수신 준비 신호를 수신하지 못할 경우, 주기적으로 S330 단계를 수행하여 컴퓨터(100)로 준비 요청 명령을 전송할 수도 있다.
설명의 편의상 컴퓨터(100)와 키보드 장치(200)가 S330 단계 및 S340 단계를 통하여 데이터 송수신 준비 과정을 수행하는 것으로 설명하였으나, 이에 한정하지 않고, 컴퓨터(100) 및 키보드 장치(200)는 S330 단계 및 S340 단계를 생략하고 데이터 통신을 수행할 수 있다.
다음으로, 키보드 장치(200)는 명령어 집합인 데이터를 생성한다(S350).
데이터는 컴퓨터(100)가 실행할 명령어 집합을 포함하며, 컴퓨터(100)가 키보드 장치(200)로 데이터를 전송할 때 사용할 회선 코딩 방법을 포함한다. 이때, 회선 코딩 방법은 맨체스터(Manchester) 코딩일 수 있다. 맨체스터 코딩은 하나의 비트가 전송될 때, 각 비트타임의 중앙에서 전압의 전이(transition)가 발생하므로, 수신단에서 수신된 신호를 이용하여 전송 속도를 알아낼 수 있고, 수신단과 송신단의 동기화를 용이하게 하며, 오류를 줄일 수 있다.
설명의 편의상, 컴퓨터(100)가 키보드 장치(200)로 데이터를 전송할 때 맨체스터 코딩 방법을 사용하는 것으로 설명하였으나, 이에 한정하지 않고, AMI, 2B1Q, BnZS, Unipolar RZ, Polar RZ, 8B6T, 4B/5B 등과 같은 다양한 코딩 방법 중에서 어느 하나를 적용할 수 있으며, 코딩 방법은 이에 한정되지 않는다.
그리고 키보드 장치(200)는 생성된 데이터를 컴퓨터(100)로 전송하여, 컴퓨터(100)가 해당 데이터의 명령어를 실행하도록 한다(S360).
키보드 장치(200)는 데이터를 Base64 인코딩 방식으로 인코딩하여 컴퓨터(100)로 전송할 수 있다. Base64는 8비트 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 의미한다.
또한, 키보드 장치(200)가 컴퓨터(100)로 전송하는 데이터는 컴퓨터(100)로부터의 명령어 실행 결과를 요청하는 명령어인 vbscript와 같은 스크립트 언어, 또는 c++같은 컴파일 언어를 더 포함할 수 있다.
마지막으로, 키보드 장치(200)는 컴퓨터(100)로부터 명령어 실행 결과를 수신한다(S370).
컴퓨터(100)는 키보드 장치(200)로부터 수신된 데이터의 명령어를 실행한다. 이때, 컴퓨터(100)는 토글키를 회선 코딩 방법에 따라 신호를 발생시켜 키보드 장치(200)로 전송한다. 이때, 토글키를 이용하는 방법으로는 윈도우 환경에서 WShell의 sendkeys 메서드를 포함하는 vbscript를 이용하거나, 유닉스 환경에서 xmodmap 또는 setxkbmap 등을 이용할 수 있다.
즉, 컴퓨터(100)와 키보드 장치(200)는 토글키를 회선 코딩 방법에 따라 신호를 발생시켜 데이터 통신을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 키보드 컨트롤러에서 사용 중인 클럭을 이용하는 예를 나타낸 예시도이다.
도 4에 도시된 바와 같이, 키보드 장치(200)는 키보드 컨트롤러(keyboard controller)에서 사용중인 클럭을 이용하여 회선 코딩을 구현할 수 있다. 또한, 토글키 중에서 어느 하나를 클럭으로 이용하거나, 토글키를 부분적 또는 전체적으로 이용할 수도 있다. 그리고 회선 코딩 방법은 Manchester(as per G. E. Thomas), Manchester(as per IEEE 802.3)일 수 있다.
이상에서와 같이 본 발명에 따른 키보드 장치 및 그것을 이용한 데이터 통신 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100 : 컴퓨터
200 : 키보드 장치
210 : 데이터 생성부
220 : 통신부
230 : 장치 인증부

Claims (20)

  1. 키보드 장치가 키 입력시 발생하는 키 입력 신호를 이용하여 컴퓨터가 실행할 명령어 집합인 데이터를 생성하는 단계,
    상기 키보드 장치가 상기 생성된 데이터를 상기 컴퓨터로 전송하여 상기 컴퓨터가 상기 데이터의 명령어를 실행하도록 하는 단계, 그리고
    상기 키보드 장치가 상기 컴퓨터로부터 상기 데이터의 명령어를 실행한 결과를 수신하는 단계를 포함하며,
    상기 명령어는 상기 컴퓨터가 상기 키보드 장치로 데이터를 전송할 회선 코딩(Line Coding) 방법을 포함하고,
    상기 컴퓨터는 토글키 신호를 상기 회선 코딩 방법에 대응되도록 발생시켜 상기 키보드 장치로 전송하는 키보드 장치의 데이터 통신 방법.
  2. 제1항에 있어서,
    상기 키보드 장치는 PS/2 또는 USB의 표준 키보드 인터페이스를 이용하는 키보드 장치의 데이터 통신 방법.
  3. 제1항에 있어서,
    상기 회선 코딩 방법은 맨체스터 코딩인 데이터 통신 방법.
  4. 제1항에 있어서,
    상기 키보드 장치는,
    상기 데이터를 Base64 인코딩 방식으로 인코딩하여 상기 컴퓨터로 전송하는 키보드 장치의 데이터 통신 방법.
  5. 제1항에 있어서,
    상기 키보드 장치는 키보드 컨트롤러에서 기 사용중인 클럭을 이용하거나, 토글키 중에서 어느 하나를 클럭으로 이용하는 키보드 장치의 데이터 통신 방법.
  6. 제1항에 있어서,
    상기 키보드 장치가 상기 컴퓨터로 데이터 통신 준비를 요청하기 위한 준비 요청 명령을 전송하는 단계, 그리고
    상기 키보드 장치가 상기 컴퓨터로부터 데이터 수신 준비 신호를 수신하는 단계를 더 포함하는 키보드 장치의 데이터 통신 방법.
  7. 제6항에 있어서,
    상기 키보드 장치는 기 설정된 시간 동안 상기 컴퓨터로부터 상기 데이터 수신 준비 신호를 수신하지 않으면, 기 설정된 주기로 상기 준비 요청 명령을 상기 컴퓨터로 전송하는 키보드 장치의 데이터 통신 방법.
  8. 제1항에 있어서,
    상기 컴퓨터와 상기 키보드 장치간 장치 인증 과정을 수행하는 단계를 더 포함하는 키보드 장치의 데이터 통신 방법.
  9. 제8항에 있어서,
    상기 장치 인증 과정은,
    상기 컴퓨터가 토글키 사용 현황을 모니터링하고, 기 설정된 시간 이내에 기 설정된 횟수 이상 토글키가 사용되면, 상기 컴퓨터는 상기 키보드 장치로 암호를 요구하고, 상기 키보드 장치로부터 암호를 입력받아 장치를 인증하는 키보드 장치의 데이터 통신 방법.
  10. 제9항에 있어서,
    상기 암호는 평문을 입력하는 암호이거나, 상기 컴퓨터와 상기 키보드 장치간 사전에 공유된 암호인 키보드 장치의 데이터 통신 방법.
  11. 키 입력시 발생하는 키 입력 신호를 이용하여 컴퓨터가 실행할 명령어 집합인 데이터를 생성하는 데이터 생성부, 그리고
    상기 생성된 데이터를 상기 컴퓨터로 전송하여 상기 컴퓨터가 상기 데이터의 명령어를 실행하도록 하고, 상기 컴퓨터로부터 상기 데이터의 명령어를 실행한 결과를 수신하는 통신부를 포함하며,
    상기 명령어는 상기 컴퓨터가 키보드 장치로 데이터를 전송할 회선 코딩(Line Coding) 방법을 포함하고,
    상기 컴퓨터는 토글키 신호를 상기 회선 코딩 방법에 대응되도록 발생시켜 상기 키보드 장치로 전송하는 키보드 장치.
  12. 제11항에 있어서,
    PS/2 또는 USB의 표준 키보드 인터페이스를 이용하는 키보드 장치.
  13. 제11항에 있어서,
    상기 회선 코딩 방법은 맨체스터 코딩인 키보드 장치.
  14. 제11항에 있어서,
    상기 데이터를 Base64 인코딩 방식으로 인코딩하여 상기 컴퓨터로 전송하는 키보드 장치.
  15. 제11항에 있어서,
    키보드 컨트롤러에서 기 사용중인 클럭을 이용하거나, 토글키 중에서 어느 하나를 클럭으로 이용하는 키보드 장치.
  16. 제11항에 있어서,
    상기 통신부는,
    상기 컴퓨터로 데이터 통신 준비를 요청하기 위한 준비 요청 명령을 전송하고, 상기 컴퓨터로부터 데이터 수신 준비 신호를 수신하는 키보드 장치.
  17. 제16항에 있어서,
    기 설정된 시간 동안 상기 컴퓨터로부터 상기 데이터 수신 준비 신호를 수신하지 않으면, 기 설정된 주기로 상기 준비 요청 명령을 상기 컴퓨터로 전송하는 키보드 장치.
  18. 제11항에 있어서,
    상기 컴퓨터와 상기 키보드 장치간 장치 인증 과정을 수행하는 장치 인증부를 더 포함하는 키보드 장치.
  19. 제18항에 있어서,
    상기 장치 인증 과정은,
    상기 컴퓨터가 토글키 사용 현황을 모니터링하고, 기 설정된 시간 이내에 기 설정된 횟수 이상 토글키가 사용되면, 상기 컴퓨터는 상기 키보드 장치로 암호를 요구하고, 상기 키보드 장치로부터 암호를 입력받아 장치를 인증하는 키보드 장치.
  20. 제19항에 있어서,
    상기 암호는 평문을 입력하는 암호이거나, 상기 컴퓨터와 상기 키보드 장치간 사전에 공유된 암호인 키보드 장치.
KR1020150130268A 2015-09-15 2015-09-15 키보드 장치 및 그것을 이용한 데이터 통신 방법 KR101688630B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150130268A KR101688630B1 (ko) 2015-09-15 2015-09-15 키보드 장치 및 그것을 이용한 데이터 통신 방법
US14/980,966 US10255426B2 (en) 2015-09-15 2015-12-28 Keyboard device and data communication method using the same
JP2016000042A JP6127161B2 (ja) 2015-09-15 2016-01-04 キーボード装置およびそれを用いたデータ通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150130268A KR101688630B1 (ko) 2015-09-15 2015-09-15 키보드 장치 및 그것을 이용한 데이터 통신 방법

Publications (1)

Publication Number Publication Date
KR101688630B1 true KR101688630B1 (ko) 2016-12-21

Family

ID=57734603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150130268A KR101688630B1 (ko) 2015-09-15 2015-09-15 키보드 장치 및 그것을 이용한 데이터 통신 방법

Country Status (3)

Country Link
US (1) US10255426B2 (ko)
JP (1) JP6127161B2 (ko)
KR (1) KR101688630B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331886B2 (en) 2016-07-25 2019-06-25 Electronics And Telecommunications Research Institute Toggle key blocking method for data security and apparatus using the same
KR102336565B1 (ko) * 2020-07-14 2021-12-07 (주)에스엘미디어 휴먼인터페이스(hid) 신호를 이용한 프로그램 및 주변 장치 제어방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD890755S1 (en) * 2018-06-05 2020-07-21 Razer (Asia-Pacific) Pte. Ltd. Keyboard

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010715A (ja) * 1998-06-25 2000-01-14 Toshiba Corp データ入力装置及びデータ転送方式
KR100337603B1 (ko) 1998-08-26 2002-10-11 삼성전자 주식회사 사용자패스워드인증을위한핫키를갖는컴퓨터시스템및그의패스워드인증방법
JP2009044398A (ja) * 2007-08-08 2009-02-26 Nec Infrontia Corp 電話装置および電話機制御方法
KR101278726B1 (ko) * 2012-12-07 2013-07-02 키다리정보통신 주식회사 사용자 데이터 입력 장치 및 이를 이용한 사용자 데이터 보안 방법
KR20140094605A (ko) * 2011-11-11 2014-07-30 퀄컴 인코포레이티드 키보드에 맵핑된 키보드 단축키들의 제공

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6169789B1 (en) * 1996-12-16 2001-01-02 Sanjay K. Rao Intelligent keyboard system
US6018335A (en) * 1997-08-19 2000-01-25 Kdi Precision Products, Inc. Programmable keyboard and method therefor
US6243079B1 (en) * 1998-07-07 2001-06-05 Primax Electronics, Ltd. Initialization method for one-way communications and apparatus for use therewith
JP2000276286A (ja) 1999-03-24 2000-10-06 Nec Shizuoka Ltd Usb小型キーボード
US6401065B1 (en) * 1999-06-17 2002-06-04 International Business Machines Corporation Intelligent keyboard interface with use of human language processing
KR20020090001A (ko) * 2001-05-25 2002-11-30 이순 착탈가능한 키보드 장치 및 그 키보드 장치가 장착되는개인 휴대 정보기기
US6909426B2 (en) * 2003-03-03 2005-06-21 Aiptek International, Inc. Tablet system with inductive loops and cord less-battery less pointer apparatus controlled by multi-channel switches set and method for transmitting and receiving its signal
JP2005078496A (ja) 2003-09-02 2005-03-24 Fujitsu Ltd 出力切替装置、出力切替プログラム、出力切替プログラム記録媒体及び出力切替方法
US7822690B2 (en) * 2004-02-10 2010-10-26 Paul Rakowicz Paperless process for mortgage closings and other applications
US7215258B2 (en) * 2005-02-22 2007-05-08 Research In Motion Limited Handheld electronic device having reduced keyboard and multiple password access, and associated methods
US20060192768A1 (en) * 2005-02-25 2006-08-31 Inventec Corporation Remote control device with touch function and method for processing the same
JP2006309556A (ja) 2005-04-28 2006-11-09 Adc Technology Kk コンピュータシステム、及び、このコンピュータシステムで用いられるキーボード
US7831837B1 (en) * 2005-06-15 2010-11-09 Emc Corporation Encoding token commands/data within data streams for standard interfaces
GB0520287D0 (en) * 2005-10-06 2005-11-16 Maber Jonathan Keyboard and method of text entry
US20090144558A1 (en) * 2007-11-30 2009-06-04 Chi-Pei Wang Method For Anit-Keylogger
US8214888B2 (en) * 2008-01-30 2012-07-03 Vasco Data Security, Inc. Two-factor USB authentication token
JP2009252172A (ja) * 2008-04-10 2009-10-29 Fujitsu Component Ltd 遠隔操作システム
US20090270036A1 (en) * 2008-04-29 2009-10-29 Microsoft Corporation Wireless Pairing Ceremony
US8077868B2 (en) * 2008-05-30 2011-12-13 Red Hat, Inc. Mechanism for transport-safe codings for cryptographic use
JP4528866B1 (ja) * 2009-04-28 2010-08-25 株式会社東芝 電子機器
TWI492140B (zh) * 2009-08-28 2015-07-11 Compal Electronics Inc 鍵盤輸入的方法與輔助系統
JP2011107956A (ja) 2009-11-17 2011-06-02 Fujitsu Component Ltd コンピュータシステム
JP2012014426A (ja) 2010-06-30 2012-01-19 Optoelectronics Co Ltd データ送信方法及びデータ送信システム
US9547766B2 (en) * 2010-11-29 2017-01-17 Biocatch Ltd. Device, system, and method of detecting malicious automatic script and code injection
US9843386B2 (en) * 2013-04-19 2017-12-12 Philips Lighting Holding B.V. Receiving coded visible light in presence of interference
US9971886B2 (en) * 2013-09-27 2018-05-15 Bloomberg Finance L.P. Computer keyboard with secure authentication features

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010715A (ja) * 1998-06-25 2000-01-14 Toshiba Corp データ入力装置及びデータ転送方式
KR100337603B1 (ko) 1998-08-26 2002-10-11 삼성전자 주식회사 사용자패스워드인증을위한핫키를갖는컴퓨터시스템및그의패스워드인증방법
JP2009044398A (ja) * 2007-08-08 2009-02-26 Nec Infrontia Corp 電話装置および電話機制御方法
KR20140094605A (ko) * 2011-11-11 2014-07-30 퀄컴 인코포레이티드 키보드에 맵핑된 키보드 단축키들의 제공
KR101278726B1 (ko) * 2012-12-07 2013-07-02 키다리정보통신 주식회사 사용자 데이터 입력 장치 및 이를 이용한 사용자 데이터 보안 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331886B2 (en) 2016-07-25 2019-06-25 Electronics And Telecommunications Research Institute Toggle key blocking method for data security and apparatus using the same
KR102336565B1 (ko) * 2020-07-14 2021-12-07 (주)에스엘미디어 휴먼인터페이스(hid) 신호를 이용한 프로그램 및 주변 장치 제어방법

Also Published As

Publication number Publication date
US20170076084A1 (en) 2017-03-16
JP2017059198A (ja) 2017-03-23
JP6127161B2 (ja) 2017-05-10
US10255426B2 (en) 2019-04-09

Similar Documents

Publication Publication Date Title
KR101688630B1 (ko) 키보드 장치 및 그것을 이용한 데이터 통신 방법
JP2009252172A (ja) 遠隔操作システム
US20110270961A1 (en) Information processing apparatus, selector, remote operation system, scan code transmission method, and program product therefor
US20130093683A1 (en) External control system for touch device and method using the same
KR100810315B1 (ko) 데이터 입력 방법 및 시스템
WO2016027482A1 (ja) プリンタ、印刷システムおよび印刷制御方法
EP3598276A1 (en) Terminal control method and system, setting adaptation apparatus and mobile terminal
US20170142245A1 (en) Electronic apparatus with shareable input devices and input device sharing method thereof
US7330134B2 (en) Key construction method for a keyboard and the keyboard thereof
KR100664250B1 (ko) 휴대용 단말기 및 그의 중문자 표시방법
CN111507068B (zh) 输入信息的处理方法、装置及移动终端
TW201525696A (zh) 人機輸入信號的橋接系統與方法
KR102404408B1 (ko) Nfc 신호를 인식하는 입력장치를 이용한 키 설정방법
CN111046682A (zh) 一种远程控制方法、装置、系统及终端
KR100953967B1 (ko) 노트북컴퓨터의 엔코더 스위치의 제어장치 및 방법
JP3193817U (ja) 入力システム
KR101854885B1 (ko) e-내비게이션을 위한 다목적 콘솔 및 다목적 콘솔용 키보드 카트리지
JP2004220618A (ja) 電子機器のパスワード認証方法
KR200203795Y1 (ko) 단축한글조합 장치
CN104793726A (zh) 人机输入信号的桥接系统与方法
KR20040003092A (ko) 새로운 확장형 키패드를 통한 한글 입력 방법 및 장치
CN115344220A (zh) 应用系统及其操作方法与输入装置
KR20230164279A (ko) 시각 장애인을 위한 hid 제어 장치 및 이의 방법
JP2022175205A (ja) サーバ、リモートデスクトップシステム、及びプログラム
CN111949140A (zh) 输入模块及其输入方法

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 4