KR102475313B1 - 키보드 - Google Patents

키보드 Download PDF

Info

Publication number
KR102475313B1
KR102475313B1 KR1020190125629A KR20190125629A KR102475313B1 KR 102475313 B1 KR102475313 B1 KR 102475313B1 KR 1020190125629 A KR1020190125629 A KR 1020190125629A KR 20190125629 A KR20190125629 A KR 20190125629A KR 102475313 B1 KR102475313 B1 KR 102475313B1
Authority
KR
South Korea
Prior art keywords
key
keyboard
input
setting
key code
Prior art date
Application number
KR1020190125629A
Other languages
English (en)
Other versions
KR20200040693A (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 (주)모키보
Priority to KR1020190125629A priority Critical patent/KR102475313B1/ko
Publication of KR20200040693A publication Critical patent/KR20200040693A/ko
Priority to KR1020220166598A priority patent/KR20220165712A/ko
Application granted granted Critical
Publication of KR102475313B1 publication Critical patent/KR102475313B1/ko

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/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/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
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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

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

본 발명의 일 양상에 따르면, 복수의 키에 대한 키 입력을 수신하는 입력 모듈; 키 코드(key code)를 정의하는 키보드 레이아웃 정보 및 미리 정해진 일련의 키 코드에 관한 키 코드 패턴(key code pattern)을 저장하는 메모리; 외부 기기와 통신하는 통신 모듈; 및 상기 키 입력이 수신되는 경우 상기 키 코드를 획득하고, 키 매핑 테이블(key mapping table) 및 키-문자 매핑 테이블(key-character mapping table)을 참조하여 상기 키 코드에 기초해 문자 메시지를 디스플레이하는 외부 기기로 상기 키 입력에 따른 키 코드를 전송하되, 상기 키 코드가 키 코드 패턴에 해당하는 경우 키보드 레이아웃 세팅 모드(keyboard layout setting mode)로 진입하고, 상기 키보드 레이아웃 세팅 모드에 진입한 경우 상기 외부 기기가 키보드 레이아웃의 설정을 안내하는 가이드 메시지를 상기 문자 메시지로 디스플레이하도록 상기 외부 기기에 전송하고, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 키보드 레이아웃 정보를 설정하는 키보드가 제공될 수 있다.

Description

키보드{KEYBOARD}
본 발명은, 복수의 키보드 레이아웃의 설정을 제공하는 키보드에 관한 것이다. 보다 구체적으로 본 발명은, 키보드 레이아웃의 설정을 가이드 하기 위한 가이드 메시지를 획득하여 디스플레이를 구비하는 외부 기기에 전송하는 키보드에 관한 것이다.
최근 컴퓨터 기술의 발전에 따라, 컴퓨터 및 입력 장치와 같은 주변기기의 종류가 다양해지고 있으며, 또한 다양해진 하드웨어들을 제어하기 위하여 운영 체제와 같은 소프트웨어도 그 종류 및 제공 기능도 그 수가 증가하고 있다. 예를 들면, 컴퓨터로는 최근 일반 PC 뿐만 아니라 Mac이 널리 보급되고 있으며, 이와 관련된 운영체제로서 windows 및 iOS 등이 제공되며, 텍스트 입력 장치로서 iOS 용 키보드, windows용 키보드 등이 사용되고 있다.
한편, 이러한 전자기기의 다양성 증가에 따라, 다양한 전자기기에 사용될 수 있는 주변기기의 호환성 이슈가 대두되고 있다. 기존의 키보드는 각각 입력 장치로서 사용될 수 있는 컴퓨터 및 운영 체제가 한정되어 있는 문제가 있었다. 드물게 복수의 컴퓨터 및 운영 체제에 대하여 사용될 수 있는 키보드가 존재하였으나, 호환 사용을 위해서는 컴퓨터 내에 별도의 소프트웨어를 설치해야 하는 불편함이 있었다.
최근 들어 다양한 컴퓨터 및 운영 체제가 널리 사용됨에 따라서, 불필요한 소프트웨어의 설치 없이, 하나의 키보드를 이용해서 다수의 컴퓨터 및 운영체제와 호환되어 사용될 수 있는 키보드에 대한 수요가 증가하고 있는 실정이다.
본 발명의 과제는, 복수의 키보드 레이아웃의 설정을 제공하고, 적용된 키보드 레이아웃의 설정에 따라 사용자가 입력한 키에 대응되는 키 코드를 획득하여 전자 기기에 전송하는 키보드를 제공하는 것이다.
본 발명의 다른 과제는, 미리 정해진 키 코드 패턴에 대응되는 키 코드를 획득하면 키보드 레이아웃의 설정을 설정하기 위한 키보드 레이아웃 세팅 모드로 진입하고, 키보드 레이아웃 세팅 모드에서 키보드 레이아웃의 설정에 관한 키 입력에 따라 키보드 레이아웃의 설정을 적용하는 키보드를 제공하는 것이다.
본 발명의 또 다른 과제는, 키보드 레이아웃 세팅 모드에서 가이드 메시지를 제공하기 위하여 미리 정해진 일련의 키 코드를 획득하여 가이드 메시지를 출력하는 외부 기기에 전송하는 키보드를 제공하는 것이다.
본 발명의 또 다른 과제는, 키보드가 키보드 레이아웃의 설정에 따라서 각 키에 할당된 키 코드를 획득하여 전자기기에 전송함으로써, 다양한 키보드 레이아웃의 설정을 제공하는 키보드를 제공하는 것이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따르면, 복수의 키를 포함하고, 상기 복수의 키에 대한 키 입력을 수신하는 입력 모듈; 상기 복수의 키 각각을 직접적으로 지시하는 키 코드(key code)를 정의하는 키보드 레이아웃 정보 및 미리 정해진 일련의 키 코드에 관한 키 코드 패턴(key code pattern)을 저장하는 메모리; 상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기와 통신하는 통신 모듈; 및 상기 입력 모듈을 통해 상기 키 입력이 수신되는 경우 상기 키 코드를 획득하고, 상기 키 코드로부터 상기 외부 기기를 구동하는 운영체제에 의해 정의되는 가상 키 코드(virtual key code)를 획득하기 위한 키 매핑 테이블(key mapping table) 및 상기 가상 키 코드로부터 캐릭터 코드(character code)를 획득하기 위한 키-문자 매핑 테이블(key-character mapping table)을 참조하여 상기 키 코드에 기초해 문자 메시지를 디스플레이하는 외부 기기로 상기 키 입력에 따른 키 코드를 전송하되, 상기 키 입력에 따른 키 코드가 상기 키 코드 패턴에 해당하는지 여부를 판단하고, 상기 키 코드가 상기 키 코드 패턴에 해당하는 경우 키보드 레이아웃 세팅 모드(keyboard layout setting mode)로 진입하고, 상기 키보드 레이아웃 세팅 모드에 진입한 경우 상기 외부 기기가 키보드 레이아웃의 설정을 안내하는 가이드 메시지를 상기 문자 메시지로 디스플레이하도록 상기 통신 모듈을 통해 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 메모리로부터 로딩하여 상기 외부 기기에 전송하고, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 키보드 레이아웃 정보를 설정하는 키보드가 제공될 수 있다.
본 발명의 다른 일 양상에 따르면, 복수의 키에 대한 키 입력을 수신하는 입력 모듈 및 상기 복수의 키 각각을 직접적으로 지시하는 키 코드(key code)를 정의하는 키보드 레이아웃 정보에 따라 상기 키 코드를 획득하고, 상기 키 코드로부터, 상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기를 구동하는 운영체제에 의해 정의되는 가상 키 코드(virtual key code)를 획득하기 위한 키 매핑 테이블(key mapping table) 및 상기 가상 키 코드로부터 캐릭터 코드(character code)를 획득하기 위한 키-문자 매핑 테이블(key-character mapping table)을 참조하여 상기 키 코드에 기초해 문자 메시지를 디스플레이하는 상기 외부 기기로 상기 키 입력에 따른 키 코드를 전송하는 컨트롤러를 포함하는 키보드에 의해 수행되는 키보드 레이아웃의 설정 세팅 방법으로서, 상기 입력 모듈을 통해 상기 복수의 키에 대한 키 입력을 수신하는 단계; 상기 키 입력에 따른 키 코드가 미리 정해진 일련의 키 코드에 관한 키 코드 패턴(key code pattern)에 해당하는지 여부를 판단하는 단계; 상기 키 코드가 상기 키 코드 패턴에 해당하는 경우 키보드 레이아웃 세팅 모드(keyboard layout setting mode)로 진입하는 단계; 상기 외부 기기가 키보드 레이아웃의 설정을 안내하는 가이드 메시지를 상기 문자 메시지로 디스플레이하도록 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 외부 기기에 전송하는 단계; 및 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 키보드 레이아웃 정보를 설정하는 단계;를 포함하는 키보드 레이아웃의 설정 세팅 방법이 제공될 수 있다.
본 발명의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 의하면, 키보드가 다양한 키보드 레이아웃의 설정을 제공하고, 적용된 키보드 레이아웃의 설정에 따라 사용자가 입력한 키에 대응되는 키 코드를 획득하여 전자 기기에 전송함으로써, 하나의 키보드로 다양한 전자 기기를 조작할 수 있다.
또 본 발명에 의하면, 미리 정해진 키 코드 패턴과 일치하는 키 코드를 획득하면 키보드 레이아웃의 설정을 설정하기 위한 키보드 레이아웃 세팅 모드로 진입함으로써, 손쉽게 키보드 레이아웃의 설정을 진행할 수 있다.
또 본 발명에 의하면, 키보드가 가이드 메시지를 형성하기 위한 키 코드들을를 획득하여 가이드 메시지를 출력하는 외부 기기에 전송함으로써, 사용자는 가이드 메시지를 따라 편리하게 키보드 레이아웃의 설정을 적용할 수 있다.
또 본 발명에 의하면, 키보드가 키보드 레이아웃의 설정에 따라 각 키에 할당된 키 코드를 획득하여 전자기기에 전송함으로써, 전자기기에 별도의 소프트웨어가 설치되어 있지 않더라도 키보드는 다양한 키보드 레이아웃의 설정을 제공할 수 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 종래의 키보드 및 키보드를 입력 장치로 하는 외부 기기의 화면을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 키보드 및 키보드를 입력 장치로 하는 외부 기기의 화면을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 키보드 및 외부 기기에 관한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 키보드에서 키보드 레이아웃의 설정을 변경하는 동작에 관한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 키보드를 입력 장치로 하는 외부 기기의 동작에 관한 도면이다.
도 6은 본 발명의 일 실시예에 따른 키보드가 키보드 레이아웃 세팅 모드에 진입 시, 외부 기기를 통해 키보드 레이아웃의 설정을 위한 가이드 메시지를 출력하는 동작에 관한 순서도이다.
도 7은 도 6에 따라 키보드를 입력 장치로 하는 외부 기기가 출력하는 화면에 관한 도면이다.
도 8은 본 발명의 일 실시예에 따른 키보드가 키보드 레이아웃 세팅 모드 중 사용자의키 입력에 대응하여 외부 기기를 통해 가이드 메시지를 출력하는 동작에 관한 순서도이다.
도 9는 도 8에 따라 키보드를 입력 장치로 하는 외부 기기가 출력하는 화면에 관한 도면이다.
도 10은 본 발명의 일 실시예에 따른 키보드가 키보드 레이아웃 세팅 모드 종료 시, 변경된 키보드 레이아웃의 설정을 저장(save) 또는 버리는(discard) 동작에 관한 순서도이다.
도 11은 도 10에 따라 키보드를 입력 장치로 하는 외부 기기가 출력하는 화면에 관한 도면이다.
도 12은 본 발명의 일 실시예에 따른 키보드는 키보드 레이아웃의 설정과 무관한 키 입력을 수신하는 경우 키보드 레이아웃 세팅 모드를 종료하는 동작에 관한 순서도이다.
도 13은 도 12에 따라 키보드가 세팅 모드를 종료할 때 키보드를 입력 장치로 하는 외부 기기의 화면에 대한 도면이다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
본 발명의 일 양상에 따른 키보드는, 복수의 키를 포함하고, 상기 복수의 키에 대한 키 입력을 수신하는 입력 모듈; 상기 복수의 키 각각을 직접적으로 지시하는 키 코드(key code)를 정의하는 키보드 레이아웃 정보 및 미리 정해진 일련의 키 코드에 관한 키 코드 패턴(key code pattern)을 저장하는 메모리; 상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기와 통신하는 통신 모듈; 및 상기 입력 모듈을 통해 상기 키 입력이 수신되는 경우 상기 키 코드를 획득하고, 상기 키 코드로부터 상기 외부 기기를 구동하는 운영체제에 의해 정의되는 가상 키 코드(virtual key code)를 획득하기 위한 키 매핑 테이블(key mapping table) 및 상기 가상 키 코드로부터 캐릭터 코드(character code)를 획득하기 위한 키-문자 매핑 테이블(key-character mapping table)을 참조하여 상기 키 코드에 기초해 문자 메시지를 디스플레이하는 외부 기기로 상기 키 입력에 따른 키 코드를 전송하되, 상기 키 입력에 따른 키 코드가 상기 키 코드 패턴에 해당하는지 여부를 판단하고, 상기 키 코드가 상기 키 코드 패턴에 해당하는 경우 키보드 레이아웃 세팅 모드(keyboard layout setting mode)로 진입하고, 상기 키보드 레이아웃 세팅 모드에 진입한 경우 상기 외부 기기가 키보드 레이아웃의 설정을 안내하는 가이드 메시지를 상기 문자 메시지로 디스플레이하도록 상기 통신 모듈을 통해 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 메모리로부터 로딩하여 상기 외부 기기에 전송하고, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 키보드 레이아웃 정보를 설정할 수 있다.
상기 컨트롤러는, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 키보드 레이아웃 정보를 적어도 일부 변경할 수 있다.
상기 메모리는 복수의 키보드 레이아웃 정보를 저장하고, 상기 컨트롤러는, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 복수의 키보드 레이아웃 정보 중에서 적어도 어느 하나를 선택하여 적용할 수 있다.
상기 메모리는, 로 키 코드(Raw key code)에 관한 키보드 레이아웃 정보 및 스캔 코드(Scan code)에 관한 키보드 레이아웃 정보를 저장하고, 상기 컨트롤러는, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 로 키 코드에 관한 키보드 레이아웃 정보를 참조하여 키 코드를 획득하거나, 상기 스캔 코드에 관한 키보드 레이아웃 정보를 참조하여 상기 키 코드를 획득할 수 있다.
상기 입력 모듈은, 토글키(Toggle key) 및 조합키(Combination key)를 포함하는 특수키(Special key)를 더 포함하고, 상기 컨트롤러는 상기 입력 모듈을 통해 상기 특수키에 대한 키 입력을 수신하면, 상기 특수키에 할당된 키 코드를 더 고려하여 상기 키 맵핑 테이블 및 상기 키-문자 매핑 테이블을 참조하도록,상기 외부 기기에 상기 특수키에 대응된 키 코드를 전송할 수 있다.
상기 컨트롤러는, 상기 가이드 메시지를 통해 각각 대응하는 키를 갖는 복수의 옵션을 제공하고, 상기 키보드 레이아웃의 설정 모드에서 상기 대응하는 키에 대한 키 입력에 기초하여 상기 복수의 옵션 중 어느 하나의 옵션을 선택하고, 상기 선택된 옵션에 따라 상기 키보드 레이아웃 정보를 설정할 수 있다.
상기 컨트롤러는, 상기 키보드 레이아웃 세팅 모드에서 상기 복수의 옵션 중 어느 하나의 옵션을 선택하는 키 입력을 수신하면, 상기 외부 기기가 상기 선택된 어느 하나의 옵션에 대응되는 가이드 메시지를 출력하도록, 상기 메모리를 참조하여 상기 선택된 옵션에 대응되는 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 통신 모듈을 통해 상기 외부 기기에 전송할 수 있다.
상기 컨트롤러는 상기 설정 세팅 모드에서 사용자의 입력이 수신된 상기 키가, 상기 사용자에게 제공된 옵션들에 대응된 키와 상이한 경우, 상기 키보드 레이아웃 세팅 모드를 종료할 수 있다.
상기 컨트롤러는 상기 키보드 레이아웃 세팅 모드 종료 시, 상기 키보드 레이아웃 세팅 모드에서 수신한 키 입력에 따른 키보드 레이아웃의 설정을 적용하지 않을 수 있다
상기 컨트롤러는, 상기 키보드 레이아웃 세팅 모드에서 미리 정해진 적어도 하나의 상기 키에 대해 키 입력을 수신하면 상기 키보드 레이아웃 세팅 모드를 종료할 수 있다.
상기 컨트롤러는 상기 키보드 레이아웃 세팅 모드를 종료하고, 상기 키보드 레이아웃 세팅 모드에서 변경된 키보드 레이아웃의 설정을 적용할 수 있다.
상기 컨트롤러는, 상기 키보드 레이아웃 세팅 모드를 통해 수신한 키 입력에 따라 적용할 상기 키보드 레이아웃 정보, 키보드 반응속도, 자동완성 기능 사용 여부 및 맞춤법 기능 사용 여부 중 적어도 하나를 결정할 수 있다.
본 발명의 다른 일 양상에 따른 키보드 레이아웃 설정 방법은 복수의 키에 대한 키 입력을 수신하는 입력 모듈 및 상기 복수의 키 각각을 직접적으로 지시하는 키 코드(key code)를 정의하는 키보드 레이아웃 정보에 따라 상기 키 코드를 획득하고, 상기 키 코드로부터, 상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기를 구동하는 운영체제에 의해 정의되는 가상 키 코드(virtual key code)를 획득하기 위한 키 매핑 테이블(key mapping table) 및 상기 가상 키 코드로부터 캐릭터 코드(character code)를 획득하기 위한 키-문자 매핑 테이블(keycharacter
mapping table)을 참조하여 상기 키 코드에 기초해 문자 메시지를 디스플레이하는 상기 외부 기기로 상기 키 입력에 따른 키 코드를 전송하는 컨트롤러를 포함하는 키보드에 의해 수행되는 키보드 레이아웃의 설정 세팅 방법으로서, 상기 입력 모듈을 통해 상기 복수의 키에 대한 키 입력을 수신하는 단계; 상기 키 입력에 따른 키 코드가 미리 정해진 일련의 키 코드에 관한 키 코드 패턴(key code pattern)에 해당하는지 여부를 판단하는 단계; 상기 키 코드가 상기 키 코드 패턴에 해당하는 경우 키보드 레이아웃 세팅 모드(keyboard layout setting mode)로 진입하는 단계; 상기 외부 기기가 키보드 레이아웃의 설정을 안내하는 가이드 메시지를 상기 문자 메시지로 디스플레이하도록 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 외부 기기에 전송하는 단계; 및 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 키보드 레이아웃 정보를 설정하는 단계;를 포함할 수 있다.
상기 키보드 레이아웃의 설정을 결정하는 단계는, 상기 키보드 레이아웃 세팅 모드에서 상기 입력 모듈을 통해 상기 가이드 메시지와 관련하여 수신되는 상기 키 입력에 기초하여 상기 복수의 키 각각에 할당되는 적어도 하나의 키 코드 중 적어도 일부를 변경하는 단계를 포함할 수 있다.
상기 가이드 메시지는, 각각 대응하는 키를 갖는 복수의 옵션을 포함하고, 상기 키보드 레이아웃의 설정을 결정하는 단계는, 상기 키보드 레이아웃 세팅 모드에서 상기 대응하는 키에 대한 키 입력에 기초하여 선택되는 상기 복수의 옵션 중 어느 하나의 옵션에 따라 상기 키보드 레이아웃의 설정을 결정하는 단계;를 포함할 수 있다.
상기 키보드 레이아웃의 설정은, 적용할 상기 키보드 레이아웃 정보, 키보드 반응속도, 자동완성 기능 사용 여부 및 맞춤법 기능 사용 여부 중 적어도 하나를 포함할 수 있다.
이하에서는 본 출원의 일 실시예에 따른 키보드(100)에 대해 살펴보기로 한다.
도 1은 종래의 키보드(10) 및 키보드(10)를 입력 장치로 하는 외부 기기(20)의 화면을 나타내는 도면이다.
도 1을 참조하면, 종래의 키보드(10)는 키를 통해 사용자의 입력을 수신하고, 사용자의 입력을 수신한 키에 할당된 키 코드를 키보드(10)와 연동되는 외부 기기(20)에 전달한다. 이에 따라 외부 기기(20)는 전달받은 키 코드에 해당하는 텍스트들을 디스플레이를 통해 출력한다.
이 때, 외부 기기(20) 및 외부 기기(20)를 제어하는 운영 체제 등의 종류는 다양할 수 있으나, 각 외부 기기(20)에 연동되어 입력 장치로서 사용될 수 있는 키보드(10)는 각 외부 기기(20)의 종류 및 운영 체제에 따라 한정되는 불편함이 있었다.
또는, 외부 기기(20)가 키보드(10)로부터 전달받은 키 코드를 각 운영 체제에 대응되는 상이한 키 코드로 변경하여 인식할 수 있도록 외부 기기(20)에 별도의 소프트웨어를 설치하는 것이 강요되는 문제가 있었다.
도 2는 본 발명의 일 실시예에 따른 키보드(100) 및 키보드(100)를 입력 장치로 하는 외부 기기(200)의 화면을 나타내는 도면이다.
도 2를 참조하면, 키보드(100)는 키(120)를 통해 사용자의 입력을 수신하고, 키보드 레이아웃의 설정에 따라 각 키(120)에 할당된 키 코드를 외부 기기(200)에 전달할 수 있다. 외부 기기(200)는 전달받은 키 코드에 해당하는 텍스트를 디스플레이부(220)를 통해 출력한다.
특히, 키보드(100)는 키보드 레이아웃의 설정을 세팅하기 위한 키보드 레이아웃 세팅 모드를 제공할 수 있다. 키보드(100)는 키보드 레이아웃 세팅 모드로 진입할 때, 사용자가 키보드 레이아웃의 설정을 변경하는 것을 도울 수 있도록 외부 기기(200)를 통해 가이드 메시지를 출력할 수 있다. 이 때 가이드 메시지는 키보드(100)에 저장된 미리 정해진 일련의 키 코드에 기초하여 외부 기기(200)에서 출력되는 메시지서, 사용자의 입력을 수신한 키 코드와는 무관하다.
키보드(100)는 출력된 가이드 메시지에 따라서 수신되는 사용자의 입력에 대응하여, 관련된 가이드 메시지를 다시 외부 기기(200)에 전달할 수 있고, 외부 기기(200)를 통해 출력할 수 있다.
이로써 키보드(100)는 가이드 메시지를 제공하면서 키보드 레이아웃 세팅 모드를 통해서 사용자의 기호, 외부 기기(200)의 요구 사항 등에 맞게 키보드(100)와 관련된 다양한 설정들을 손쉽게 변경 또는 유지 등을 할 수 있다.
도 2의 키보드(100)와 도 1의 키보드(10)를 비교하자면, 도 1의 키보드(10)가 키 입력을 수신하면, 키 입력을 수신한 키에 대응하는 텍스트들이 외부 기기(20)에 표시될 수 있다.
반면에, 도 2의 키보드(100)가 키보드 레이아웃 세팅 모드로 진입하는 것으로 미리 정해진 키 코드 패턴과 일치하는 키를 통해 키 입력을 수신하면, 외부 기기(200)에는 키 입력을 수신한 키에 대응되는 텍스트 뿐만 아니라, 키보드 레이아웃 세팅 모드와 관련된 가이드 메시지도 함께 출력될 수 있다.
도 3은 본 발명의 일 실시예에 따른 키보드(100) 및 외부 기기(200)에 관한 블록도이다.
도 3을 참조하면, 키보드(100)는 키 입력을 수신하도록 미리 정해진 키 코드 패턴에 따라 배열된 복수의 키(120), 키보드(100)의 동작에 관련된 정보들을 저장할 수 있는 메모리(180), 외부 기기(200)와 통신할 수 있는 통신부(140) 및 각 구성 요소들의 동작을 전반적으로 제어하는 컨트롤러(160)를 포함할 수 있다.
복수의 키(120)는 키보드(100)의 입력 모듈의 구성 요소로서, 사용자로부터 키 입력을 수신하는 수단일 수 있다. 복수의 키(120)에 대하여 키 입력이 수신됨으로써, 특정한 텍스트, 또는 특정 기능 등에 대한 사용자의 입력이 수신될 수 있다.
각 키(120)는 다양한 방식으로 키 입력을 수신할 수 있다. 예를 들면, 키(120)는 사용자가 가하는 외력에 의해 물리적으로 위치가 변경되면서 전기적 신호를 발생시키는 버튼 또는 스위치일 수 있다. 또 다른 예를 들면, 키(120)는 사용자의 신체 접촉을 정전식, 감압식, 광학식 등의 방식으로 감지하는 터치 센서를 포함할 수 있다. 또 다른 예를 들면, 키(120)는 프로젝터를 통해 평면 상에 투영된 가상의 키(120)일 수 있다.
각 키(120)에는 키 코드(Key code)가 할당될 수 있다. 키 코드는 복수의 키(120) 각각을 직접적으로 지시하기 위하여 각 키(120)에 할당된 정보일 수 있다. 각 키(120)에 대한 키 입력이 수신되면, 컨트롤러(160)는 키 코드를 획득함으로써 키 입력이 수신된 키(120)를 식별할 수 있다.
키 코드는 예를 들면, iOS 운영 체제(OS, Operating System)에서 각 키(120)를 지시하는 로 키 코드(Raw key code), 또는 Windows 운영 체제에서 각 키(120)를 지시하는 스캔 코드(Scan code) 등을 포함할 수 있다. 키 코드는 키보드 레이아웃마다 상이하게 설정될 수 있고, 키보드 레이아웃에 관한 정보는 키보드(100)의 각 제조사, 각 제품, 키보드(100) 종류마다 상이하게 설정될 수 있다.
키 코드에 대한 정보는 메모리(180)에 저장될 수 있고, 제어부는 키(120)에 대한 입력이 수신되면 메모리(180)를 참조하여 키 코드를 획득할 수 있다.
복수의 키(120)가 배치되는 레이아웃은 다양할 수 있다. 예를 들면, 키보드의 레이아웃은 언어마다 상이할 수 있다. 예를 들면, 영문은 쿼티(QWERTY), 드보락(Dvorak), 애저티(Azerty) 등의 레이아웃에 따라 배열되고, 한글은 두벌식, 세벌식 등으로 배열될 수 있다. 또는 키보드 레이아웃은 외부 기기(200)의 운영 체제마다 상이할 수 있다. 예를 들면, iOS 운영 체제를 사용하는 키보드 레이아웃과 windows 운영 체제를 사용하는 컴퓨터에 관한 키보드 레이아웃은 상이할 수 있다.
복수의 키는 문자키(character key), 기능키(function key), 특수키(special key, modifier key or combination key), 방향키(navigation key), 숫자 키 패드(numeric keypad) 락 키 또는 토글키(lock key or toggle key) 등 다양한 역할을 수행하는 키(120)들을 포함할 수 있다. 각 키(120)들은 외부 기기(200)에서 독자적으로 또는 다른 키(120)들과 조합되어 기능을 수행할 수 있다. 각 키(120)의 역할은 동종 분야에서 일반적으로 각 키(120)가 수행하는 것으로 인식된 것과 일치 할 수 있다.
상술한 키보드 레이아웃 및 키(120)의 종류들은 그 일 예를 설명하기 위한 것이지, 상술한 사항들로 키보드 레이아웃 및 키(120)의 종류들이 한정되어야 하는 의미는 아니며, 텍스트 및 기능을 입력하기 위한 다양한 키보드 레이아웃 및 키(120) 입력 방식이 적용될 수 있음은 물론이다.
메모리(180)는, 키보드(100)의 동작에 관련된 정보들을 저장할 수 있다. 예를 들면, 컨트롤러(160)의 동작을 위한 프로그램을 저장할 수 있고, 각 키(120)를 지시하기 위한 키 코드를 정의하는 레이아웃 정보, 키보드 레이아웃 설정 모드로 진입하기 위한 키 코드 패턴 또는 가이드 메시지를 형성하는 키 코드들 등을 저장할 수 있다.
메모리(180)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
통신부(140)는 키보드(100)와 다른 외부 기기(200) 간의 정보 교환을 가능하게 하는 구성일 수 있다. 통신부(140)는 컨트롤러(160)의 제어에 따라 컨트롤러(160)가 획득한 키 코드 등의 정보를 외부 기기(200)에게 전달할 수 있다.
통신부(140)는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등의 근거리 무선 통신 방식 또는 케이블을 통한 유선 통신 방식을 이용할 수 있다.
컨트롤러(160)는, 키보드(100)의 전반적인 동작을 제어할 수 있다. 컨트롤러(160)는 키(120)를 통해 사용자의 입력이 수신될 때 키 입력이 수신된 키(120)에 할당된 키 코드를 획득할 수 있다.
컨트롤러(160)는 적용된 키보드 레이아웃의 설정을 확인하고, 또는 변경할 수 있다. 컨트롤러(160)는 키보드 레이아웃 세팅 모드를 운영하여, 키보드 레이아웃의 설정이 변경되면 각 키(120)에 할당되는 키 코드를 변경할 수 있다. 예를 들면, 컨트롤러는 메모리(180)에서 참조하는 키보드 레이아웃 정보를 상기 키 코드에 관한 키보드 레이아웃 정보에서 상기 스캔 코드에 관한 키보드 레이아웃 정보로 변경하거나, 상기 스캔 코드에 관한 키보드 레이아웃 정보에서 상기 키 코드에 관한 키보드 레이아웃 정보로 변경할 수 있다.
컨트롤러(160)는 획득한 키 코드를 통신부(140)를 통해 외부 기기(200)에 전송할 수 있다. 이 때 키 코드는 하나 이상의 일련의 키 코드 또는 키 코드의 조합일 수 있다.
외부 기기(200)는 키보드(100) 등의 전자기기와 통신할 수 있는 통신부(140), 컨트롤러(260)의 제어에 따라 정보를 출력하는 디스플레이부(220) 및 외부 기기(200)의 구성 요소들의 동작을 전반적으로 제어하는 컨트롤러(260)를 포함할 수 있다.
디스플레이부(220)는, 컨트롤러(260)의 제어에 따라 사용자에게 정보를 시각적으로 출력할 수 있다. 디스플레이부(220)는 키보드(100)를 통해 수신한 사용자의 입력에 따른 키 코드에 해당하는 텍스트를 출력할 수 있다. 디스플레이부(220)는 키보드(100)를 통해 수신한 키 코드들에 따라 가이드 메시지를 출력할 수 있다.
컨트롤러(260)는, 외부 기기(200)의 전반적인 동작을 제어하는 구성이다.
컨트롤러는 외부 기기(200)의 동작을 전반적으로 제어하는 운영 체제를 구동할 수 있고, 또한 특정 기능을 수행하기 위한 어플리케이션을 실행할 수 있다.
컨트롤러(260)는 통신부(240)를 통해 키보드(100)로부터 키 코드를 수신할 수 있다. 컨트롤러(260)는 운영 체제 및 수행하고 있는 응용 프로그램에 따라서 키 코드에 대응되는 기능을 수행할 수 있다. 컨트롤러(260)는 수행한 기능의 결과를 디스플레이부(220)를 통해 출력할 수 있다. 예를 들면, 컨트롤러(260)는 워드 프로세서가 실행 중인 경우, 키보드(100)를 통해 전달받은 키 코드에 대응되는 문자를 디스플레이를 통해 출력할 수 있다. 컨트롤러가 키 코드로부터 문자를 출력하는 것에 대해서는 더 자세히 후술하기로 한다.
통신부(240)는, 키보드(100)와 외부 기기(200) 간의 정보 교환을 가능하게 하는 구성이다. 통신부(240)는 키보드(100)로부터 키 코드에 대한 정보를 수신하고, 컨트롤러(260)에게 전달할 수 있다. 통신부(240)는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등의 근거리 무선 통신 방식 또는 케이블을 통한 유선 통신 방식을 이용할 수 있다.
상술한 구성들의 동작의 일 실시예를 유기적으로 설명해보면, 키보드(100)의 키(120)는 사용자의 입력을 수신할 수 있고, 컨트롤러(160)는 메모리(180)를 참조하여, 현재 키보드 레이아웃의 설정에 따라 키 입력을 수신한 키(120)에 할당된 키 코드를 획득할 수 있다.
또는 컨트롤러(160)는 키보드 레이아웃 세팅 모드인 경우, 키 입력을 수신한 키(120)에 따라 가이드 메시지를 형성하기 위한 키 코드들을 메모리(180)를 참조하여 획득할 수 있다. 컨트롤러(160)는 통신부(140)를 통해 획득한 키 코드를 외부 기기(200)에 전송할 수 있다.
외부 기기(200)의 컨트롤러(260)는 통신부(120)를 통해 키보드(100)로부터 키 코드를 수신할 수 있고, 키 코드에 해당하는 기능을 수행하여, 디스플레이를 통해 키 코드에 해당되는 텍스트를 표시할 수 있다.
도 4는 본 발명의 일 실시예에 따른 키보드(100)에서 키보드 레이아웃의 설정을 변경하는 동작에 관한 순서도이다.
도 4를 참조하면, 키보드(100)는 키(120)에 대한 사용자의 입력을 수신하여, 미리 정해진 일련의 키 코드 패턴(Key code pattern)을 획득할 수 있다 (S1000) 키보드(100)는 이후 세팅 모드에 진입할 수 있다(S2000) 키보드(100)는 사용자로부터 키보드 레이아웃의 설정과 관련된 입력을 수신하고, 이에 기초하여 키보드 레이아웃의 설정을 적용할 수 있다(S2300) 이후 키보드(100)는 세팅 모드를 종료할 수 있다(S2800) 이후 사용자로부터 키(120)에 대한 입력을 수신하면, 보드(100)는 키보드 레이아웃의 설정에 따라 입력을 수신한 키(120)에 대응되는 코드를 획득하여 외부 기기(200)에 전송할 수 있다(S3000)
이하에서는 각 단계를 구체적으로 살펴보기로 한다.
키보드(100)는 키(120)에 대한 사용자의 입력을 수신하여, 미리 정해진 키 코드 패턴과 일치하는 키 코드를 획득할 수 있다(S1000)
키보드(100)는 미리 정해진 키 코드 패턴의 입력을 세팅 모드에 진입하기 위한 입력인 것으로 인식할 수 있다.
예를 들면, 미리 정해진 키 코드 패턴은 복수의 키(120)의 조합일 수 있다.
키보드(100)는 키 코드가 하나씩 입력되어 미리 정해진 키 코드 패턴이 완성되기 이전까지는 각 입력되는 키 코드에 대응하여 개별적인 기능을 수행 할 수 있다. 이후 미리 정해진 키 코드 패턴이 완성되면, 키보드(100)는 세팅 모드에 진입하는 것으로 인식하고, 세팅 모드에 관련된 프로그램을 따라 동작할 수 있다.
일 실시예에 따르면 키보드(100)는 세팅 모드에 진입하면서, 미리 정해진 키 코드 패턴의 각 키 코드에 대응하여 수행하였던 기능들을 수행하기 이전 상태로 되돌릴 수도 있다.
또 다른 예를 들면, 미리 정해진 키 코드 패턴은 세팅 모드로 진입하는 기능이 부여된 특정한 하나의 키(120)에 대한 입력일 수 있다.
키보드(100)는 이후 키보드 레이아웃 세팅 모드에 진입할 수 있다.(S2000) 세팅 모드에서 키보드(100)는 사용자로부터 키보드 레이아웃의 설정과 관련된 입력을 수신하고, 이에 기초하여 키보드 레이아웃의 설정을 적용할 수 있다.(S2300)
키보드 레이아웃 세팅 모드에서는 키보드 레이아웃의 설정과 관련된 설정들을 확인, 변경 또는 유지 등을 할 수 있다.
키보드(100)는 키보드 레이아웃 세팅 모드에 진입하면, 가이드 메시지를 표시하기 위한 동작을 수행할 수 있으며, 이에 대해서는 후술하기로 한다.
키보드 레이아웃의 설정에서 변경 가능한 사항들은 예를 들면, 문자의 배열에 대한 사항으로서, 키보드(100)는 영문자의 배열 중 쿼티(qwerty), 드보락(Dvorak) 또는 애저티(Azerty)과 같은 다양한 배열 중 어느 배열을 따를 것인지 설정할 수 있다. 또는 키보드(100)는 한글의 경우 2벌식 또는 3벌식 등의 다양한 배열 중 어느 배열을 따를 것인지 설정할 수 있다. 또는 키보드(100)는 외부 기기(200)의 운영체제에 따라서 문자열의 배열을 상이하게 설정할 수도 있다. 예를 들면 키보드(100)는 iOS 또는 windows 중 어느 운영체제를 따르는 문자열의 배열을
사용할 것인지 설정할 수 있다.
또는 키보드(100)는 태블릿이나 휴대폰에서 제공되는 것과 같이 천지인, 나랏글, SKY자판, 모아키 자판 등의 문자 배열을 제공할 수도 있다.
키보드(100)는 상술한 바와 같은 문자의 배열에 관한 사항들이 변경되면, 원래 각 키(120)에 할당되어 있던 키 코드를, 변경된 키보드 레이아웃 정보에 따라 각 키(120)에 할당되는 키 코드를 변경할 수 있다.
또는 키보드(100)는 언어 종류에 관한 사항들을 설정할 수도 있다.
또는 키보드(100)의 성능에 관한 사항으로서, 예를 들면 키(120) 입력 시 반응속도 등을 설정할 수 있다.
또는 키보드(100)는 기타 부가 기능에 관한 사항으로서, 예를 들면 자동완성 기능, 맞춤법 교정 기능 등의 제공 여부를 설정할 수 있다.
또는 키보드(100)가 터치 센서를 이용하여 키 입력을 수신하는 경우, 키보드(100)는 예를 들면, 터치 모드 on/off에 관한 사항, 터치 영역의 설정, 터치 민감도에 관한 사항 등을 설정할 수 있다.
또는 키보드(100)는 키보드(100)와 연동되어 사용되는 마우스에 관한 사항을 설정할 수도 있다. 예를 들면, 키보드(100)는 오른손잡이용 또는 왼손잡이용 마우스 설정, 포인터 이동 속도 및 민감도에 관한 사항 등을 설정할 수 있다.
이후 키보드(100)는 키보드 레이아웃 세팅 모드를 종료할 수 있다(S2800)
키보드(100)는 사용자로부터 키보드 레이아웃 세팅 모드를 종료하는 입력을 수신하면, 키보드 레이아웃 세팅 모드를 종료할 수 있다.
또는 키보드(100)는 사용자 의도와 다르게 키보드 레이아웃 세팅 모드에 진입한 것을 인식하면, 키보드 레이아웃 세팅 모드를 종료할 수 있다. 이에 대해서는 더 자세히 후술하기로 한다.
이 때 키보드(100)는 키보드 레이아웃 세팅 모드에서 변경한 설정 사항들을 적용(save)하거나, 또는 적용하지 않고 폐기(discard)할 수 있다.
이후 사용자로부터 키(120)에 대한 입력을 수신하면, 키보드(100)는 키보드 레이아웃의 설정에 따라 입력을 수신한 키(120)에 대응되는 키 코드를 획득하여 외부 기기(200)에 전송할 수 있다(S3000)
키보드(100)는 키보드 레이아웃 세팅 모드에서 설정된 키보드 레이아웃의 설정에 따라 동작할 수 있다. 사용자입력이 키(120)를 통해 수신되면, 키보드(100)는 변경된 키보드 레이아웃의 설정에 따라 각 키(120)에 새롭게 할당된 키 코드를 획득하고, 외부 기기(200)에 전달할 수 있다.
상술한 일련의 과정을 통해서 키보드(100)는 키보드 레이아웃 세팅 모드로 진입하고, 키보드 레이아웃의 설정을 변경하고, 키보드 레이아웃 세팅 모드를 종료할 수 있다. 구체적으로 키보드 레이아웃 세팅 모드 내에서 가이드 메시지가 출력되고, 키보드 레이아웃의 설정을 저장하고, 키보드 레이아웃의 설정이 종료되는 것에 대해서 더 후술하도록 한다.
도 5는 본 발명의 일 실시예에 따른 키보드(100)를 입력 장치로 하는 외부 기기(200)의 동작에 관한 도면이다.
도 5를 참조하면, 외부 기기(200)는 키보드(100)로부터 키 코드를 수신할 수 있다(S4100) 외부 기기(200)는, 키 매핑 테이블을 참조하여 수신한 키 코드로부터 가상 키 코드를 획득할 수 있다(S4200) 외부 기기(200)는, 키-문자 매핑 테이블을 참조하여, 상기 획득한 가상 키 코드로부터 캐릭터 코드를 획득할 수 있다(S4300) 이후, 외부 기기(200)는 디스플레이부(220)를 통해 키 코드에 따라 텍스트를 출력할 수 있다(S4400)
이하에서는 외부 기기(200)가 키보드로부터 수신한 키 코드에 기초하여 문자를 출력하는 동작에 대해서 단계별로 구체적으로 설명한다. 외부 기기(200)의 동작은 본 명세서에서 설명하는 내용과 배치되지 않는 한도 내에서 기존의 외부 기기(200)의 동작과 일치할 수 있다.
외부 기기(200)는 키보드(100)로부터 키 코드를 수신할 수 있다(S4100) 외부 기기(200)는, 키 매핑 테이블을 참조하여 수신한 키 코드로부터 가상 키 코드를 획득할 수 있다(S4200)
키 매핑 테이블은, 키 코드와 가상 키 코드의 대응 관계를 기록한 테이블일 수 있다. 가상 키 코드(virtual key code)는, 운영체제가 각각의 키(120)에 할당한 고유한 값일 수 있다. 키 코드는 키보드(100) 각각마다 상이하게 설정된 값일 수 있으며, 가상 키 코드는 키보드(100)로부터 수신된 키 코드를 운영 체제가 인식할 수 있도록 운영 체제가 각 키(120)를 정의하는 값일 수 있다.
예를 들면, 외부 기기(200)는 iOS 운영 체제에서 키 매핑 테이블로, 운영 체제 내 시스템 리소스인 KMAP(Key-map resource)을 이용하여 로 키 코드에 대응되는 가상 키 코드를 획득할 수 있다.
또는, 외부 기기(200)는 Windows 운영 체제에서 키보드 드라이버를 통해서 키 매핑 테이블을 이용하여 스캔 코드를 가상 키 코드로 변환할 수 있다.
키 매핑 테이블이 상술한 종류에 한정되어야 하는 것이 아님은 물론이고, 키 코드를, 실행 중인 운영 체제 또는 프로그램에 따라 적합한 가상 키 코드의 형태로 변환하는 것이라면 키 매핑 테이블에 해당할 수 있다.
외부 기기(200)는, 키-문자 매핑 테이블을 참조하여, 상기 획득한 가상 키 코드로부터 캐릭터 코드를 획득할 수 있다(S4300)
외부 기기(200)는 키-문자 매핑 테이블(key-character mapping table)을 참조하여, 상기 가상 키 코드로부터 캐릭터 코드(character code)를 획득할 수 있다.
키-문자 매핑 테이블은 가상 키 코드와 캐릭터 코드 간의 대응 관계를 기록한 테이블일 수 있다. 캐릭터 코드는, 문자 또는 편집 기능 등을 표현하는 코드로서, 예를 들면 6비트 BCD 코드와 8비트 ASCII, EBCDIC 또는 유니코드 등 일수 있다. 소프트웨어 프로그램은 캐릭터 코드에 해당하는 문자를 인식하여 디스플레이를 통해 출력할 수 있다.
예를 들면, 외부 기기(200)는 iOS 운영 체제에서 키 매핑 테이블로, 운영 체제 내 시스템 리소스인 KCHR(Keyboard layout resource)을 이용하여 가상 키 코드에 대응되는 캐릭터 코드를 획득할 수 있다.
또는, 외부 기기(200)는 Windows 운영 체제에서 키보드 DLL(Dynamic Linking Library)를 통해서 키-문자 매핑 테이블을 이용하여 가상 키 코드를 문자 코드로 변환할 수 있다.,
키-문자 매핑 테이블이 상술한 종류에 한정되어야 하는 것이 아님은 물론이고, 가상 키 코드를, 실행 중인 운영 체제 또는 프로그램에 따라 적합한 문자 코드의 형태로 변환하는 것이라면 키-문자 매핑 테이블에 해당할 수 있다.
하나의 가상 키 코드에 대응되는 캐릭터 코드는 다수일 수 있으며, 이로써 하나의 키(120)에 대한 키 입력이 수신되더라도, 토글키 또는 조합키와 같은 특수키와의 조합에 의해 상이한 문자가 외부 기기(200)에 출력될 수 있다.
예를 들면, 외부 기기(200)는 특수키에 할당된 키 코드 및 가상 키 코드를 획득하면, 특수키에 할당된 키 코드가 수신되지 않은 경우와는 상이한 키-문자 매핑 테이블을 참조하여 가상 키 코드에 대응되는 문자 코드를 획득할 수 있다.
이후, 외부 기기(200)는 디스플레이부(220)를 통해 키 코드에 따라 텍스트를 출력할 수 있다(S4400)
외부 기기(200)에서 현재 운용되고 있는 프로그램이 워드 프로세서인 경우, 외부 기기(200)는 수신한 키 코드에 대응되는 텍스트를 디스플레이부(220)를 통해 표시할 수 있다.
키보드(100)에서 세팅 모드를 통해 가이드 메시지 형성을 위한 키 코드들이 수신되는 경우, 키보드(100)는 수신한 키 코드들에 대응되는 텍스트를 디스플레이부(220)를 통해 표시할 수 있다. 이로써 외부 기기(200)는 사용자의 키보드 레이아웃의 설정 변경을 도울 수 있도록 가이드 메시지를 제공할 수 있다.
도 6은 본 발명의 일 실시예에 따른 키보드(100)가 키보드 레이아웃 세팅 모드에 진입 시, 외부 기기(200)를 통해 키보드 레이아웃의 설정을 위한 가이드 메시지를 출력하는 동작에 관한 순서도이고, 도 7은 도 6에 따라 키보드(100)를 입력 장치로 하는 외부 기기(200)가 출력하는 화면에 관한 도면이다.
도 6을 참조하면, 키보드(100)는 세팅 모드에 진입할 수 있다(S2000) 키보드(100)는 디스플레이부(220)를 통해 가이드 메시지가 출력되도록 외부 기기(200)에 가이드 메시지를 형성하기 위한 키 코드들을 전송할 수 있다(S2100) 키보드(100)는 출력된 가이드 메시지에 따라 키보드 레이아웃의 설정과 관련된 키(120) 입력을 수신할 수 있다(S2200) 키보드(100)는 키(120) 입력에 기초하여 키보드 레이아웃의 설정을 적용할 수 있다(S2300) 키보드(100)는 설정 종료 입력 수신할 수 있다(S2600) 키보드(100)는 세팅 모드를 종료할 수 있다(S2800) 이하에서는 각 단계에 대해 구체적으로 설명하기로 한다.
키보드(100)는 세팅 모드에 진입할 수 있다(S2000) 세팅 모드에 진입하면, 키보드(100)는 디스플레이부(220)를 통해 가이드 메시지가 출력되도록 외부 기기(200)에 가이드 메시지 형성을 위한 키 코드들을 전송할 수 있다(S2100)
가이드 메시지는 사용자에게 세팅 모드에 진입했음을 알리고, 키보드 레이아웃의 설정 과정을 돕기 위한 메시지이다. 가이드 메시지는 사용자가 선택할 수 있도록 키보드 레이아웃의 설정과 관련된 선택 사항들을 포함할 수 있다. 가이드 메시지는 각 선택 사항을 선택할 수 있도록 각 선택 사항에 대응하는 키(120)에 관한 정보를 포함할 수 있다.
가이드 메시지는 미리 정해진 일련의 텍스트로서, 메모리(180)에 저장될 수 있다.
키보드(100)는 세팅 모드에 진입하는 사용자의 입력을 수신하면, 메모리(180)를 참조하여, 가이드 메시지를 구성하는 키 코드들을 획득할 수 있다. 키보드(100)는 획득한 키 코드들을 외부 기기(200)에 전달할 수 있다. 외부 기기(200)는 수신한 키 코드들에 대응하는 텍스트를 디스플레이를 통해 출력할 수 있다.
예를 들면 도 7의 A1에 나타난 것과 같이, 키보드(100)는 사용자로 부터 세팅 모드에 진입하는 입력을 수신할 수 있다. 키보드(100)는 세팅 모드에 진입하면서, A2와 같이 'welcome to Mokibo setting mode, ' 와 같은 가이드 메시지를 구성하는 키 코드들을 외부 기기(200)에 전송하고, 외부 기기(200)의 디스플레이를 통해 출력할 수 있다.
키보드(100)는 출력된 가이드 메시지에 따라 키보드 레이아웃의 설정과 관련된 키(120) 입력을 수신할 수 있다(S2200) 이에 따라 키보드(100)는 키(120) 입력에 기초하여 키보드 레이아웃의 설정을 적용할 수 있다(S2300)
가이드 메시지는 키보드 레이아웃의 설정과 관련한 선택 사항(옵션, option)들을 포함할 수 있다. 키보드(100)는 각 옵션에 대응된 키(120)를 입력하는 사용자의 입력을 통해서 옵션에 대한 사용자의 선택을 수신할 수 있다.
키보드(100)는 사용자가 선택한 키보드 레이아웃의 설정과 관련된 옵션에 해당하는 기능을 수행하여 키보드 레이아웃의 설정을 변경할 수 있다.
키보드 레이아웃의 설정을 변경하기 위해서는 복수의 키 입력이 필요할 수 있다. 이 경우 키보드(100)는 키 입력을 수신하면, 키 입력에 대응되는 키보드 레이아웃의 설정과 관련된 다른 선택 사항들을 포함하는 가이드 메시지를 외부 기기(200)에 전송할 수 있다. 이후 키보드(100)는 상기 S2200 및 S2300의 과정을 반복할 수 있다.
일 실시예에 따르면, 키보드 레이아웃의 설정과 관련한 변경 사항이 입력되더라도 키보드(100)는 세팅 모드에서는 키보드 레이아웃의 설정을 변경하지 않고, 키보드 레이아웃 세팅 모드가 종료되면 키보드 레이아웃 세팅 모드에서 수신한 키 입력에 따라 키보드 레이아웃의 설정을 변경할 수 있다.
예를 들어, 도 7의 A2와 같이, 가이드 메시지는 숫자 1 내지 5에 대응하여 키보드 레이아웃의 설정과 관련된 사항들을 포함할 수 있다.
A3와 같이, 키보드(100)는 숫자 1에 대한 키 입력을 수신할 수 있다. 이에 따라 키보드(100)는 숫자 1에 대응된 'keyboard layout'에 관한 설정을 변경할 수 있다.
키보드(100)는 keyboard layout과 관련되어 추가적인 선택 사항들을 수신하는 키 입력을 수신할 수 있고, 이에 따라 keyboard layout과 관련된 키보드 레이아웃의 설정들을 순차적으로 변경할 수 있다.
키보드(100)는 설정 종료 입력 수신할 수 있다(S2600)
키보드(100)는 다양한 방법으로 설정 종료 입력을 수신할 수 있다.
설정 종료 입력은 가이드 메시지에 포함되어 사용자에게 제공된 옵션에 대응된 키 코드일 수 있다.
또는 설정 종료 입력은 하나의 특정한 키(120)에 대한 사용자의 입력일 수 있다.
또는 설정 종료 입력은 미리 정해진 키 코드 패턴의 조합일 수 있다.
예를 들면 도 7의 A7과 같이, 키보드(100)는 가이드 메시지를 통해 세팅 모드 종료에 해당하는 키 코드를 사용자에게 알릴 수 있다. A8과 같이, 키보드(100)는 세팅 모드 종료에 해당하는 숫자 4에 대해서 입력을 수신하면 세팅 모드를 종료할 수 있다.
키보드(100)는 세팅 모드를 종료할 수 있다(S2800)
키보드(100)는 설정 종료 입력을 수신하면 세팅 모드를 종료할 수 있다.
이후 키보드(100)는 사용자의 입력을 수신하면 세팅 모드에서 적용한 키보드 레이아웃의 설정에 따라 키 코드를 획득하고, 외부 기기(200)에 전달할 수 있다.
일 실시예에 따르면 도 7의 A9와 같이, 키보드(100)는 세팅 모드를 종료하는 메시지를 구성하는 키 코드를 획득하여 외부 기기(200)에 전달할 수 있다.
도 8은 본 발명의 일 실시예에 따른 키보드(100)가 키보드 레이아웃 세팅 모드 중 사용자의키(120) 입력에 대응하여 외부 기기(200)를 통해 가이드 메시지를 출력하는 동작에 관한 순서도이고, 도 9는 도 8에 따라 키보드(100)를 입력 장치로 하는 외부 기기(200)가 출력하는 화면에 관한 도면이다.
도 8을 참조하면, 키보드(100)는 세팅 모드에 진입할 수 있다(S2000) 키보드(100)는 디스플레이부(220)를 통해 가이드 메시지가 출력되도록 외부 기기(200)에 가이드 메시지를 형성하기 위한 키 코드들을 전송할 수 있다(S2100) 키보드(100)는 출력된 가이드 메시지에 따라 키보드 레이아웃의 설정과 관련된 키(120) 입력을 수신할 수 있다(S2200) 키보드(100)는 키(120) 입력에 기초하여 키보드 레이아웃의 설정을 적용할 수 있다(S2300) 도 6 및 7을 통해 S2000 내지 S2200에 관해 상술한 기술 사항들은, 모순되는 내용이 아닌 한, 도 8 및 9의 S2000 및 S2200에도 적용될 수 있다.
이후, 키보드(100)는 메모리(180)를 참조하여, 상기 키(120) 입력에 대응된 가이드 메시지를 형성하기 위한 키 코드들을 획득할 수 있다(S2400) 키보드(100)는 가이드 메시지가 출력되도록 상기 키(120) 입력에 대응된 가이드 메시지를 형성하기 위한 키 코드들을 전송할 수 있다(S2500) 키보드(100)는 설정 종료 입력 수신할 수 있다(S2600) 키보드(100)는 세팅 모드를 종료할 수 있다(S2800)
이하에서는 각 단계에 대해 구체적으로 설명하기로 한다.
키보드(100)는 메모리(180)를 참조하여, 상기 키(120) 입력에 대응 된 가이드 메시지를 형성하는 키 코드들을 획득할 수 있다(S2400)
키보드(100)는 키(120) 입력을 수신하면, 키(120) 입력과 관련된 가이드 메시지를 제공할 수 있다. 구체적으로, 키보드(100)는 제공된 옵션에 대응된 키(120)를 입력하는 키 입력을 수신하면, 메모리(180)를 참조하여 선택된 옵션에 관한 가이드 메시지를 형성하는 키 코드들을 획득하고, 이를 외부 기기(200)에게 전송할 수 있다. 메모리(180)는 각 옵션이 선택되었을 때 차순으로 출력될 것으로 대응된 가이드 메시지를 형성하는 키 코드들을 저장할 수 있다.
예를 들면, 도 9의 A3 및 A4와 같이, 키보드(100)는 'keyboard layout'에 대한 키 입력을 수신하면, keyboard layout에 관련된 키보드 레이아웃의 설정에 해당하는 옵션들을 포함하는 가이드 메시지를 외부 기기(200)를 통해 표시 할 수 있다.
선택된 각 옵션과 관련된, 다시 말하면 선택된 각 키(120) 입력에 관련된 가이드 메시지는 다양할 수 있다.
예를 들면 각 옵션과 관련된 가이드 메시지는. 선택된 옵션의 하위 개념에 해당하는 옵션에 관련된 키보드 레이아웃의 설정에 관한 메시지일 수 있다. 구체적 예를 들면 도 9의 A4와 같이, keyboard layout이 선택되면, 이후의 가이드 메시지는 keyboard layout for windows 또는 keyboard layout for iOS의 옵션을 포함할 수 있다.
또는 각 옵션과 관련된 가이드 메시지는, 선택된 옵션에 대해 병렬적 관계에 있는 키보드 레이아웃의 설정에 관한 메시지일 수 있다. 구체적 예를 들면, 선택된 옵션이 영문자의 배열에 관한 키보드 레이아웃의 설정이면, 이후의 가이드 메시지는 한글의 배열에 관한 키보드 레이아웃의 설정을 묻는 메시지일 수 있다.
또는 각 옵션과 관련된 가이드 메시지는, 선택된 옵션의 상위 개념에 해당하는 옵션과 관련된 키보드 레이아웃의 설정에 관한 메시지일 수 있다.
또는 각 옵션과 관련된 가이드 메시지는, 선택된 옵션의 적용 이전으로 되돌아가기, 또는 선택된 옵션의 적용 사항을 저장하기 등에 관한 메시지일수 있다.
또는 각 옵션과 관련된 가이드 메시지는, 도 9의 A6과 같이, 선택된 옵션에 관한 키보드 레이아웃의 설정이 적용되었음을 알리는 메시지일 수 있다.
키보드(100)는 가이드 메시지가 출력되도록 상기 키(120) 입력에 대응된 가이드 메시지를 형성하는 키 코드들을 전송할 수 있다(S2500)
키보드(100)는 메모리(180)를 참조하여 획득한 키 코드를 외부 기기(200)에 전송할 수 있고, 외부 기기(200)는 키 코드에 해당하는 텍스트를 출력함으로써, 사용자가 선택한 옵션과 관련된 가이드 메시지를 사용자에게 제공할 수 있다.
이후, 키보드(100)는 설정 종료 입력 수신할 수 있다(S2600) 키보드(100)는 세팅 모드를 종료할 수 있다(S2800) 도 6 및 7을 통해 S2600 및 S2800에 관해 상술한 기술 사항들은, 모순되는 내용이 아닌 한, 도 8 및 9의 S2600 및 S2800에도 적용될 수 있다.
도 10은 본 발명의 일 실시예에 따른 키보드(100)가 키보드 레이아웃 세팅 모드 종료 시, 변경된 키보드 레이아웃의 설정을 저장(save) 또는 버리는 (discard) 동작에 관한 순서도이고, 도 11은 도 10에 따라 키보드(100)를 입력 장치로 하는 외부 기기(200)가 출력하는 화면에 관한 도면이다.
도 10을 참조하면, 키보드(100)는 세팅 모드에 진입할 수 있다(S2000) 키보드(100)는출력된 가이드 메시지에 따라 키보드 레이아웃의 설정과 관련된 키(120) 입력을 수신할 수 있다(S2200) 키보드(100)는 세팅 모드 종료 입력을 수신할 수 있다(S2600) 키보드(100)는 세팅 모드의 변경 내용을 적용할 것인지 여부에 관한 키 입력을 수신할 수 있다(S2700) 키보드(100)는 키 입력에 따라 키보드 레이아웃의 설정을 변경하거나(S2720), 키보드 레이아웃의 설정을 변경하지 않을 수 있다(S2740) 키보드(100)는 세팅 모드를 종료할 수 있다(S2800) 이하에서는 각 단계에 대해 구체적으로 설명한다.
키보드(100)는 세팅 모드에 진입할 수 있다(S2000) 키보드(100)는 출력된 가이드 메시지에 따라 키보드 레이아웃의 설정과 관련된 키(120) 입력을 수신할 수 있다(S2200)
키보드(100)의 세팅 모드로의 진입은 도 6 및 7을 통해서 상술한 바와 같다. 키보드(100)는 세팅 모드에서 출력된 가이드 메시지를 따라서, 키보드 레이아웃의 설정과 관련된 키(120) 입력을 수신할 수 있다.
여기에서, 키보드(100)는 수신한 키(120) 입력 및 이와 관련된 키보드 레이아웃의 설정의 변경 사항을 메모리(180)에 저장할 수 있다. 키보드(100)는 현재의 키보드 레이아웃의 설정을 그대로 유지하고, 실제로 키(120) 입력에 따라 키보드 레이아웃의 설정을 변경하는 것은 차후로 보류할 수 있다.
키보드(100)는 세팅 모드 종료 입력을 수신할 수 있다(S2600) 키보드(100)는 세팅 모드의 변경 내용을 적용할 것인지 여부에 관한 키 입력을 수신할 수 있다(S2700)
키보드(100)는 세팅 모드 종료 입력이 수신되면, 세팅 모드 동안 입력되었던 키보드 레이아웃의 설정에 관한 변경 사항들을 적용할 것인지에 관해 키 입력을 수신할 수 있다.
이를 위해 키보드(100)는 변경 내용의 적용 여부를 묻는 가이드 메시지를 형성하는 키 코드들을 획득하고, 외부 기기(200)에 전달할 수 있다. 가이드 메시지는 사용자가 선택 가능한 응답과 이에 대응되는 키(120)에 관한 정보를 포함할 수 있다.
예를 들면, 도 11의 A8과 같이, 키보드(100)는 세팅 모드 종료에 대응된 키(120)에 대한 키 입력을 수신할 수 있다. A10과 같이, 키보드(100)는 세팅 모드에서의 변경 사항을 저장할 것인지 여부를 묻는 가이드 메시지를 형성하는 키 코드들을 외부 기기(200)에 전송할 수 있다. 가이드 메시지는 키보드(100)는 변경 사항을 저장하거나 저장 하지 않는 옵션에 대응된 키(120)에 관한 정보를 포함할 수 있다.
키보드(100)는 키 입력에 따라 키보드 레이아웃의 설정을 변경하거나(S2720), 키보드 레이아웃의 설정을 변경하지 않을 수 있다(S2740) 이후 키보드(100)는 세팅 모드를 종료할 수 있다(S2800)
키보드(100)는 옵션에 대응된 키(120)에 대한 키 입력을 수신할 수 있다.
키보드(100)는 키보드 레이아웃의 설정 변경 사항을 저장하려는 키 입력을 수신하면, 메모리(180)를 참조하여, 세팅 모드에서의 변경 사항에 따라 키보드 레이아웃의 설정을 변경할 수 있다. 예를 들면 도 11의 A11과 같이, 키보드(100)는 변경 사항을 저장하려는 키 입력을 수신하면, 변경 사항을 수신하고, 세팅 모드를 종료할 수 있다.
키보드(100)는 키보드 레이아웃의 설정 변경 사항을 저장하지 않으려는 키 입력을 수신하면, 변경 사항을 반영하지 않고 키보드 레이아웃의 설정을 현재 상태로 유지할 수 있다.
도 12는 본 발명의 일 실시예에 따른 키보드(100)가 키보드 레이아웃의 설정과 무관한 키(120) 입력을 수신하는 경우 키보드 레이아웃 세팅 모드를 종료하는 동작에 관한 순서도이고, 도 13은 도 12에 따라 키보드(100)가 세팅 모드를 종료할 때 키보드(100)를 입력 장치로 하는 외부 기기(200)의 화면에 대한 도면이다.
도 12를 참조하면, 키보드(100)는 세팅 모드로 진입할 수 있다(S2000) 키보드(100)는 출력된 가이드 메시지와 관련 없는 키(120) 입력을 수신할 수 있다(S2920) 이 때 키보드(100)는 키보드 레이아웃의 설정을 변경하지 않고 세팅 모드를 종료할 수 있다(S2940)
키보드(100)는 미리 정해진 키 코드 패턴의 키(120)를 입력 받으면 세팅 모드로 진입할 수 있음은 상술한 바와 같다. 그런데, 세팅 모드에 진입하려는 사용자 의사와 무관하게, 미리 정해진 키 코드 패턴의 키(120)가 우연히 입력되는 경우가 발생할 수 있다. 이러한 경우, 키보드(100)는 세팅 모드와 무관한 입력이 발생한 것을 감지하고, 세팅 모드를 종료할 수 있다.
구체적으로, 키보드(100)는 세팅 모드에 진입하면, 가이드 메시지를 구성하는 키 코드를 외부 기기(200)를 통해 사용자에게 제공할 수 있다. 가이드 메시지에는 키보드 레이아웃의 설정과 관련하여 사용자가 선택할 수 있는 키(120)에 대한 정보가 적어도 하나 이상 포함될 수 있다. 키보드(100)는 키(120)를 통해 키 입력을 수신할 수 있다. 키보드(100)는 키 입력을 수신한 키(120)가, 사용자가 선택할 수 있는 적어도 하나의 키(120)에 포함되지 않는 경우, 사용자에게 키보드 레이아웃의 설정을 진행할 의사가 없는 것으로 판단할 수 있다.
이 경우 키보드(100)는 키보드 레이아웃의 설정을 변경하지 않고, 세팅 모드를 종료할 수 있다. 키보드(100)는 세팅 모드에 진입한 이후 입력된 키(120)에 따라 수행된 키보드 레이아웃의 설정의 변경을 모두 되돌릴 수 있다. 키보드(100)는 세팅 모드 종료 후, 현재 키보드 레이아웃의 설정에 따라 동작할 수 있다.
예를 들면 도 13의 B1과 같이, 키보드(100)는 A2에 의해 제공된 키(120) 옵션(1, 2, 3, 4, 5)와는 무관하게 문자 A가 입력되는 경우, 키보드 레이아웃의 설정을 잘못 진입한 것으로 보고 키보드 레이아웃의 설정을 곧바로 종료할 수 있다. 이 때 키보드(100)는 키보드 레이아웃의 설정을 변경하지 않을 수 있다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에 서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
100: 키보드
120: 키
140: 통신부
160: 컨트롤러
180: 메모리
200: 외부 기기
220: 디스플레이부
240: 통신부
260:n 컨트롤러

Claims (16)

  1. 복수의 키를 포함하고, 상기 복수의 키에 대한 키 입력을 수신하는 입력 모듈;
    상기 복수의 키 입력 각각과 대응되는 키 코드(key code)를 정의하는 키보드 레이아웃 정보, 미리 정해진 일련의 키 코드에 관한 적어도 하나의 키 코드 패턴(key code pattern) 및 적어도 하나의 가이드 메시지를 형성하기 위한 키 코드들을 저장하는 메모리;
    상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기와 통신하는 통신 모듈; 및
    상기 입력 모듈의 설정을 적어도 일부 변경하기 위한 컨트롤러;를 포함하되,
    상기 컨트롤러는,
    상기 입력 모듈을 통해 상기 키 입력이 수신되는 경우,
    상기 키 입력에 따른 키 코드가 상기 적어도 하나의 키 코드 패턴에 대응되는지 여부를 판단하며,
    상기 키 입력에 따른 상기 키 코드가 상기 적어도 하나의 키 코드 패턴에 대응되는 경우 입력 모듈 세팅 모드로 진입하고,
    상기 외부 기기가 입력 모듈의 설정을 안내하는 가이드 메시지를 디스플레이 하도록 상기 통신 모듈을 통해 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 메모리로부터 로딩하여 상기 외부 기기에 전송하며,
    상기 입력 모듈 세팅 모드에서 상기 입력 모듈을 통해 수신되는 상기 키 입력에 기초하여 상기 입력 모듈의 세팅을 설정하는
    키보드.
  2. 제1 항에 있어서,
    상기 컨트롤러는,
    상기 입력 모듈 세팅 모드에서 상기 입력 모듈을 통해 수신되는 상기 키 입력에 기초하여 상기 입력 모듈의 설정의 적어도 일부 변경하는
    키보드.
  3. 제1 항에 있어서,
    상기 메모리는 복수의 키보드 레이아웃 정보를 저장하고,
    상기 컨트롤러는, 상기 입력 모듈 세팅 모드에서 상기 입력 모듈을 통해 수신되는 상기 키 입력에 기초하여 상기 복수의 키보드 레이아웃 정보 중에서 적어도 어느 하나를 선택하여 적용하는
    키보드.
  4. 제3 항에 있어서,
    상기 메모리는
    로 키 코드(Raw key code)에 관한 키보드 레이아웃 정보 및 스캔 코드(Scan code)에 관한 키보드 레이아웃 정보를 저장하고,
    상기 컨트롤러는,
    상기 입력 모듈 세팅 모드에서 상기 입력 모듈을 통해 수신되는 상기 키 입력에 기초하여
    상기 로 키 코드에 관한 키보드 레이아웃 정보를 참조하여 키 코드를 획득하거나, 상기 스캔 코드에 관한 키보드 레이아웃 정보를 참조하여 상기 키 코드를 획득하는
    키보드.
  5. 제1 항에 있어서,
    상기 적어도 하나의 키 코드 패턴은 적어도 하나의 조합키 패턴을 포함하며,
    상기 조합키 패턴은 적어도 하나의 토글키(Toggle key) 및 적어도 하나의 키 코드의 조합으로 구성되는
    키보드.
  6. 제1 항에 있어서,
    상기 컨트롤러는,
    상기 입력 모듈 세팅 모드에서 각각 대응하는 키를 갖는 복수의 옵션을 제공하고, 상기 대응하는 키에 대한 키 입력에 기초하여 상기 복수의 옵션 중 어느 하나의 옵션을 선택하고, 상기 선택된 옵션에 따라 상기 입력 모듈의 설정을 세팅하는
    키보드.
  7. 제6 항에 있어서,
    상기 컨트롤러는,
    상기 입력 모듈 세팅 모드에서 상기 복수의 옵션 중 어느 하나의 옵션을 선택하는 키 입력을 수신하면, 상기 외부 기기가 상기 선택된 어느 하나의 옵션에 대응되는 가이드 메시지를 출력하도록, 상기 메모리를 참조하여 상기 선택된 옵션에 대응되는 상기 가이드 메시지를 형성하기 위한 키 코드들을 상기 통신 모듈을 통해 상기 외부 기기에 전송하는
    키보드.
  8. 제6 항에 있어서,
    상기 컨트롤러는
    상기 입력 모듈 세팅 모드에서 사용자의 입력이 수신된 상기 키가, 상기 사용자에게 제공된 옵션들에 대응된 키와 상이한 경우, 상기 입력 모듈 세팅 모드를 종료하는
    키보드.
  9. 제8 항에 있어서
    상기 컨트롤러는
    상기 입력 모듈 세팅 모드 종료 시, 상기 입력 모듈 세팅 모드에서 수신한 키 입력에 따른 키보드 레이아웃의 설정을 적용하지 않는
    키보드.
  10. 제1 항에 있어서,
    상기 컨트롤러는, 상기 입력 모듈 세팅 모드에서 미리 정해진 적어도 하나의 키에 대해 키 입력을 수신하면 상기 입력 모듈 세팅 모드를 종료하는
    키보드.
  11. 제1 항에 있어서,
    상기 컨트롤러는
    상기 입력 모듈 세팅 모드를 종료하고, 상기 입력 모듈 세팅 모드에서 변경된 입력 모듈의 설정을 적용하는
    키보드.
  12. 제1 항에 있어서,
    상기 입력 모듈의 설정은
    상기 키보드 레이아웃 정보 설정, 키보드 반응속도 설정, 자동완성 기능 사용 여부 설정, 맞춤법 기능 사용 여부 설정, 터치 모드 on/off 설정, 터치 영역에 대한 설정, 오른손 잡이용 터치 영역에 대한 설정, 왼손잡이용 터치 영역에 대한 설정, 터치 민감도에 대한 설정, 포인터 이동 속도에 대한 설정, 포인터 민감도에 대한 설정 중 적어도 하나의 설정을 포함하는
    키보드.
  13. 복수의 키를 포함하는 키 입력 영역 및 터치 입력 영역을 포함하며, 상기 복수의 키에 대한 키 입력 또는 상기 터치 입력 영역에 대한 터치 입력을 수신하는 복합 기능 입력 모듈;
    상기 복수의 키 입력 각각과 대응되는 키 코드(key code)를 정의하는 키보드 레이아웃 정보 및 미리 정해진 일련의 키 코드에 관한 적어도 하나의 키 코드 패턴(Key code pattern)을 저장하는 메모리;
    상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기와 통신하는 통신 모듈; 및
    상기 키 코드 패턴을 기초로 상기 복합 기능 입력 모듈의 설정을 적어도 일부 변경하는 컨트롤러;를 포함하되,
    상기 복합 기능 입력 모듈을 통해 상기 키 입력이 수신되는 경우,
    상기 키 입력에 따른 키 코드가 상기 적어도 하나의 키 코드 패턴에 대응되는지 여부를 판단하며,
    상기 적어도 하나의 키 코드 패턴은 제1 키 코드 패턴 및 제2 키 코드 패턴을 포함하며,
    상기 키 입력에 따른 키 코드가 상기 제1 키 코드 패턴에 대응되는 경우 상기 복합 기능 입력 모듈의 상기 터치 입력 영역을 제1 터치 입력 영역으로 설정하고,
    상기 키 입력에 따른 키 코드가 상기 제2 키 코드 패턴에 대응되는 경우 상기 복합 기능 입력 모듈의 상기 터치 입력 영역을 제2 터치 입력 영역으로 설정하는
    복합 기능 키보드.
  14. 복수의 키를 포함하는 키 입력 영역 및 터치 입력 영역을 포함하며, 상기 복수의 키에 대한 키 입력 또는 상기 터치 입력 영역에 대한 터치 입력을 수신하는 복합 기능 입력 모듈;
    상기 복수의 키 입력 각각과 대응되는 키 코드(key code)를 정의하는 키보드 레이아웃 정보 및 미리 정해진 일련의 키 코드에 관한 적어도 하나의 키 코드 패턴(Key code pattern)을 저장하는 메모리;
    상기 입력 모듈을 문자 입력 인터페이스로 이용하는 외부 기기와 통신하는 통신 모듈; 및
    상기 키 코드 패턴을 기초로 상기 복합 기능 입력 모듈의 설정을 적어도 일부 변경하는 컨트롤러;를 포함하되,
    상기 복합 기능 입력 모듈을 통해 상기 키 입력이 수신되는 경우,
    상기 키 입력에 따른 키 코드가 상기 적어도 하나의 키 코드 패턴에 대응되는지 여부를 판단하며,
    상기 키 입력에 따른 키 코드가 상기 적어도 하나의 키 코드 패턴에 포함되는 제1 키 코드 패턴에 대응되는 경우,
    상기 터치 입력을 기초로 산출되는 포인터 위치 이동 정도에 관한 설정을 변경하는
    복합 기능 키보드.
  15. 제14 항에 있어서,
    상기 포인터 위치 이동 정도에 관한 설정은
    포인터 이동 속도에 대한 설정, 포인터 민감도에 대한 설정 중 적어도 하나의 설정을 포함하는
    복합 기능 키보드.
  16. 삭제
KR1020190125629A 2018-10-10 2019-10-10 키보드 KR102475313B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190125629A KR102475313B1 (ko) 2018-10-10 2019-10-10 키보드
KR1020220166598A KR20220165712A (ko) 2019-10-10 2022-12-02 키보드

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180120775 2018-10-10
KR1020190125629A KR102475313B1 (ko) 2018-10-10 2019-10-10 키보드

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120775 Division 2018-10-10 2018-10-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220166598A Division KR20220165712A (ko) 2019-10-10 2022-12-02 키보드

Publications (2)

Publication Number Publication Date
KR20200040693A KR20200040693A (ko) 2020-04-20
KR102475313B1 true KR102475313B1 (ko) 2022-12-08

Family

ID=84437244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190125629A KR102475313B1 (ko) 2018-10-10 2019-10-10 키보드

Country Status (1)

Country Link
KR (1) KR102475313B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102657099B1 (ko) 2023-12-15 2024-04-15 주식회사 모디 부착형 키보드

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250696A (ja) 1999-03-02 2000-09-14 Internatl Business Mach Corp <Ibm> 異種キーボード間のデータ変換方法
US20100318695A1 (en) 2009-06-11 2010-12-16 Microsoft Corporation Adaptive keyboard layout mapping
KR101650618B1 (ko) 2014-04-21 2016-08-23 주식회사 소리자바 문자 자동 전환을 위한 속기 입력 장치 및 이를 수행하는 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090097239A (ko) * 2008-03-11 2009-09-16 나중열 Os(pc오퍼레이팅시스템) 비의존 화상키보드 터치모니터

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250696A (ja) 1999-03-02 2000-09-14 Internatl Business Mach Corp <Ibm> 異種キーボード間のデータ変換方法
US20100318695A1 (en) 2009-06-11 2010-12-16 Microsoft Corporation Adaptive keyboard layout mapping
KR101650618B1 (ko) 2014-04-21 2016-08-23 주식회사 소리자바 문자 자동 전환을 위한 속기 입력 장치 및 이를 수행하는 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102657099B1 (ko) 2023-12-15 2024-04-15 주식회사 모디 부착형 키보드

Also Published As

Publication number Publication date
KR20200040693A (ko) 2020-04-20

Similar Documents

Publication Publication Date Title
USRE49670E1 (en) Character input apparatus and method for automatically switching input mode in terminal having touch screen
US20180165003A1 (en) Text input method in touch screen terminal and apparatus therefor
US8583440B2 (en) Apparatus and method for providing visual indication of character ambiguity during text entry
US9727200B2 (en) Method and system for displaying graphic user interface
US20140325360A1 (en) Display apparatus and control method capable of performing an initial setting
EP1988444A2 (en) Character input apparatus and method
CN107219988B (zh) 一种界面操作引导方法及移动终端
US9009624B2 (en) Keyboard gestures for character string replacement
JP2016513849A (ja) スペース最適化マイクロキーボードの方法および装置
US20130050098A1 (en) User input of diacritical characters
JP2016539435A (ja) オンスクリーンキーボード用クイックタスク
KR101195520B1 (ko) 모바일 단말을 원격 제어하는 방법 및 장치
US20110291942A1 (en) Display method, application program and computer readable medium for computer key function
KR102475313B1 (ko) 키보드
EP2509292A1 (en) Remote user input
US20140145927A1 (en) Method for Providing Identification Information and Related Electronic Device
EP3534243B1 (en) Keyboard threshold change apparatus and keyboard
US9176665B2 (en) Flexible user input device system
KR102257772B1 (ko) 디스플레이 장치 및 그의 제어 방법
KR20220165712A (ko) 키보드
KR101284771B1 (ko) 휴대용 단말기에서 문자 입력을 위한 장치 및 방법
KR101451678B1 (ko) 빠른 입력이 가능한 qwerty 타입 소형 키보드
US20160378192A1 (en) Device and method of operating a controllable electronic device
US20190302952A1 (en) Mobile device, computer input system and computer readable storage medium
CN111078024A (zh) 动态调整键盘输出信号的方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right