가상 키보드

Virtual keyboard
iPad 가상 키보드로 입력

가상 키보드는 물리적 [1]키를 사용하지 않고도 문자를 입력할 수 있는 소프트웨어 구성 요소입니다.가상 키보드와의 상호작용은 대부분 터치스크린 인터페이스를 통해 이루어지지만 가상현실 또는 증강현실에서는 다른 형태로 이루어질 수도 있습니다.

종류들

데스크톱 컴퓨터에서 가상 키보드는 기존 키보드를 사용할 수 없는 장애 사용자 또는 서로 다른 문자 집합이나 알파벳 사이에서 자주 전환되는 이중 언어 사용자에게 대체 입력 메커니즘을 제공할 수 있으며, 이는 시간이 지남에 따라 혼란스러울 수 있다.하드웨어 키보드는 듀얼 키보드 레이아웃(예를 들어 다양한 국가 레이아웃의 키릴 문자/라틴 문자)으로 제공되지만, 온스크린 키보드는 다른 스테이션이나 노트북에서 작업할 때 편리한 대체품을 제공합니다.이러한 키보드에는 듀얼 레이아웃이 탑재되어 있는 경우는 거의 없습니다.

가상 키보드는 다음과 같이 분류할 수 있습니다.

  • 터치스크린 키보드 레이아웃 또는 감지[2] 영역을 갖춘 가상 키보드
  • 메뉴 및 보류 버튼을 통해 액세스할 수 있는 문자 변형, 구두점 및 기타 특수 문자
  • 키보드 소프트웨어는 숫자 [3]입력을 용이하게 하는 숫자 패드 기능을 포함할 수 있습니다.
  • 광학적으로 투영된 키보드 레이아웃 또는 "키" 또는 감지 영역의[4][5] 유사한 배열
  • 사람의 손과 손가락[6] 움직임을 광학적으로 검출
  • OS 설정을[7] 변경할 필요가 없는 다국어용 온라인 가상 키보드
  • 사용하는 기기에 따라 키보드 (데스크탑/모바일/가상현실/증강현실)

인터넷에서는 다양한 자바스크립트 가상 키보드가 개발되어 사용자들이 외국어 키보드, 특히 인터넷 카페에서 그들만의 언어를 입력할 수 있게 되었다.멀티터치 스크린을 사용하면 태블릿 컴퓨터,[8] 터치스크린, 터치패드 [9][10]유선 장갑용 가상 코드 키보드를 만들 수 있습니다.

모바일 디바이스

가상 키보드는 일반적으로 포켓 컴퓨터, PDA(퍼스널 디지털 어시스턴트), 태블릿 컴퓨터, 터치 스크린 탑재 휴대 전화 등 물리 키보드가 없는 디바이스에서 온스크린 입력 방법으로 사용됩니다.텍스트는 일반적으로 가상 키보드를 누르거나 핑거 [11]트레이스를 통해 입력됩니다.가상 키보드는 컴퓨터 키보드보다 버튼이 적은 시스템의 에뮬레이션 소프트웨어의 기능으로도 사용됩니다.

역사적 발전

PDA

Pocket PC PDA의 가상 키보드

PDA에 텍스트를 입력하는 네 가지 주요 접근법은 스타일러스로 작동하는 가상 키보드, 외장 USB 키보드, 손으로 쓴 키보드 및 스트로크 인식입니다.많은 초기 PDA는 주로 가상 키보드에 초점을 맞추지 않았습니다.마이크로소프트의 모바일 운영 체제 접근 방식은 완전한 기능 키보드를 시뮬레이션하는 것이었고, 이로 인해 키보드 [12]레이아웃이 약간 오버로드되었습니다.초기 PDA가 직면했던 주된 문제는 멀티터치 테크놀로지에 대한 지원과 그 결과 사용자의 조작성 문제였습니다.

첫 번째 아이폰

애플이 2007년에 첫 아이폰을 선보였을 , 물리 키보드를 포함하지 않기로 한 결정은 [13]아이폰에 해가 되는 것으로 여겨졌다.그러나 애플은 멀티터치 기술을 새로운 기기에 도입하여 PDA의 사용성 문제를 극복할 수 있게 했다.애플의 가상 키보드 디자인 패턴은 오늘날 모바일 기기의 표준이 되었다.

구현 및 사용

가장 일반적인 모바일 운영 체제인 Android와 iOS는 개발자 커뮤니티에 커스텀 가상 키보드를 개별적으로 개발할 수 있는 가능성을 제공합니다.

안드로이드

Android 키보드 설정

Android SDK는 이른바 Input Method [14]Service를 제공합니다.이 서비스는 입력 방식의 표준 구현을 제공하며, 최종 구현은 Android 개발 커뮤니티가 자체 키보드 레이아웃을 구현할 수 있도록 합니다.Input Method Service는 키보드 뷰에 [15]포함되어 있습니다.InputMethod 서비스를 사용하여 키 및 제스처 입력을 맞춤화할 수 있지만 키보드 클래스는 키보드의 XML 설명을 로드하고 [16]키의 속성을 저장합니다.

이것에 의해, Android 디바이스에 다른 키보드 버전을 인스톨 할 수 있어 키보드는 애플리케이션일 뿐이며, Android 설정 메뉴로 간단하게 기동할 [17]수 있습니다.

iOS

Apple iOS UIInput View 컨트롤러

또한 애플은 커뮤니티가 커스텀 키보드를 개발할 수 있는 가능성을 제공하지만 사전이나 일반 키보드 설정에 대한 접근은 제공하지 않습니다.또한 사용자가 텍스트 입력 [18][19]필드에 텍스트를 입력하면 iOS는 자동으로 시스템 키보드를 전환합니다.

UIInputViewController는 사용자 지정 키보드 앱 확장을 위한 기본 보기 컨트롤러입니다.이 컨트롤러는 커스텀 키보드의 사용자 인터페이스, 보조 어휘집 취득, 커스텀 [20]키보드의 기본 언어 변경 등 커스텀 키보드를 구현하기 위한 다양한 방법을 제공합니다.

텍스트 입력 성능

기존의 가상 키보드 구현 Android와 더불어 iOSSwiftKey 등의 커스텀 키보드는 키보드의 조작성과 효율을 향상시키는 다양한 기능을 제공하고 있습니다.

자동 수정 및 맞춤법 검사

Android 플랫폼은 응용프로그램 자체에서 맞춤법 검사를 구현하고 액세스할 수 있는 맞춤법 검사 프레임워크를 제공합니다.이 프레임워크는 Android 플랫폼에서 제공하는 텍스트 서비스 API 중 하나입니다.제공된 텍스트를 기반으로 Session 개체는 맞춤법 [21][22]검사기에 의해 생성된 맞춤법 제안을 반환합니다.

iOS는 문자열(일반적으로 문서의 텍스트)에서 철자가 틀린 단어를 검사하는 데 사용되는 개체인 UITextChecker 클래스를 사용하고 있으며, 일반적으로 Apple의 자동 수정으로 알려져 있습니다.UITextChecker 맞춤법 검사에서 특정 언어에 대한 어휘를 사용하고 있습니다.특정 문서의 철자를 검사할 때 특정 단어를 무시하도록 지시할 수 있고 새로운 단어를 학습할 수 있어 [23]어휘집에 해당 단어가 추가됩니다.

사용자는 자동 수정으로 처리되는 화이트리스트 용어의 사용자 정의 사전을 일반 단어로 추가하고 "에일리어스" 또는 "텍스트 바로 가기"를 지정할 수 있습니다. 여기서 지정한 텍스트 문자열을 입력하면 대상 텍스트 문자열로 대체되거나 대상 텍스트 문자열이 제안으로 나타납니다.전자는 다른 용어로 대체되지 않고 다른 용어로 수정될 수 있음을 의미합니다.불필요한 기존 [24][25]제안을 제외할 수 있습니다.

단어 제안

2000년대 초반 다양한 과학논문들은 스마트폰이 발명되기 전부터 사용자가 타이핑하는 것을 바탕으로 단어를 예측하는 것이 타이핑 [26][27]속도를 높이는 데 큰 도움이 된다는 것을 보여주었다.이 키보드 기능의 개발 초기에 예측은 주로 정적 사전을 기반으로 했습니다.구글은 2013년 안드로이드 4.4에서 예측 방식을 구현했다.이러한 개발은 주로 SwiftKey[28]Swype과 같은 서드파티 키보드 공급자에 의해 주도되었습니다.둘 다 대응하는 데이터베이스와 [29]함께 강력한 단어 검색 엔진을 제공합니다.2014년 애플은 키보드 위에 사용자 유형으로 단어 예측을 표시하는 QuickType이라는 새로운 예측 타이핑 기능을 포함하는[30] iOS 8을 선보였다.

제스처 타이핑

iOS와 안드로이드는 개발자들이 키보드를 그들만의 키보드 앱으로 대체할 수 있게 해준다.이것은 실험과 새로운 기능으로 이어졌다. 예를 들어 제스처 타이핑 기능은 서드파티 키보드에서 입증된 후 안드로이드의 공식 키보드에 도입되었다.구글 자체 조사에 따르면 제스처 타이핑은 타이핑 속도를 22% 증가시키고 오류율을 [31]0% 가까이 낮추고 있다.구글은 제스처 타이핑 방법이 스마트 워치에서도 유용하다는 것을 보여주었다.그들의 과학적 연구는 주로 I의 연구에 기초하고 있다.Scott McKenzie와 적자 법칙으로 손가락 터치를 모델링하는 것에 대한 논문들.

촉각 피드백

촉각 피드백은 키가 성공적으로 트리거되었음을 촉각적으로 확인할 수 있도록 합니다. 즉, 키를 누를 때 사용자가 "딸깍" 소리를 듣고 느끼는 것입니다.히스테리시스를 이용하여 물리 키의 느낌을 더욱 에뮬레이트할 수 있다.이 경우 가상 키를 누를 때 처음 "클릭"이 들리고 느껴지지만, 키가 트리거되면 손가락 압력이 감소하므로 물리적 키가 원래 클릭되지 않은 상태로 되돌아가는 것처럼 "클릭 해제" 소리와 감각이 더 높아집니다.이 동작은 Alex Oniszczak & Scott Mackenzie의 2004년 논문 "모바일 디바이스의 키패드에 대한 두 가지 입력 방법의 비교"에서 설명되고 있습니다.이 문서는 가상 [32]키보드의 히스테리시스와 함께 촉각 피드백을 최초로 도입했습니다.

특수 키보드 타입

키보드는 다양한 디지털 영역에서 필요합니다.스마트폰은 가상 키보드뿐만 아니라 가상 세계를 창조하는 장치, 를 들어 가상 현실이나 증강 현실 안경도 텍스트 입력 가능성을 제공해야 한다.

옵티컬 가상 키보드

광학 가상 키보드는 1992년[33]IBM 엔지니어들에 의해 발명되고 특허가 취득되었습니다.사람의 손과 손가락의 움직임을 광학적으로 검출해 해석해, 도색된 키가 있는 표면처럼 물리적으로 존재하지 않는 입력 장치의 조작으로 해석한다.이러한 방법으로 마우스나 키보드와 같은 수동 조작 입력 장치를 무제한으로 에뮬레이트할 수 있습니다.모든 기계식 입력 장치는 이러한 가상 장치로 대체될 수 있으며, 현재 애플리케이션 및 사용자의 생리학에 최적화되어 수동 데이터 입력의 속도, 단순성 및 명확성을 유지할 수 있습니다.

증강현실 키보드

증강현실 환경에서 가상 키보드의 기본 개념은 사용자에게 텍스트 입력 가능성을 제공하는 것입니다.일반적인 접근법은 Unity TouchScreen Keyboard를 사용하여 플랫 키보드를 증강 현실로 렌더링하는 것입니다.Microsoft HoloLens사용자[34]머리를 움직여 키보드의 글자를 가리킬 수 있도록 합니다.

또 다른 접근법은 2003년 한국 KJIST U-VR 연구소에 의해 연구되었다.그들의 제안은 물리 키보드를 가상 키보드로 대체하기 위해 손가락 움직임을 추적하기 위해 웨어러블을 사용하는 것이었다.그들은 또한 키가 부딪혔을 때 시청각 피드백을 사용자에게 주려고 했다.기본 아이디어는 사용자가 [35]익숙한 내용에 따라 텍스트를 입력할 수 있는 보다 자연스러운 방법을 제공하는 것이었다.

가상현실 키보드

증강현실과 마찬가지로 사용자에게 완전한 가상환경에서 텍스트를 입력할 수 있는 능력을 부여하는 것이 과제입니다.한 가지 큰 문제는 시판되고 있는 대부분의 증강현실 시스템이 사용자의 손을 추적하지 못하고 있다는 것이다.사용 가능한 많은 시스템이 [36]문자를 가리킬 수 있는 가능성을 제공합니다.

2016년 9월, 구글그들[37] 데이드림 가상현실 헤드셋을 위한 가상 키보드 앱을 출시했다.텍스트를 입력하기 위해 사용자는 [38]Dream 컨트롤러를 사용하여 특정 문자를 가리킬 수 있습니다.

2017년 2월 Logitech는 키보드를 가상 환경에 도입하기 위한 실험적인 접근방식을 제시했습니다.Vive Tracker와 Logitech G 게이밍 키보드를 사용하면 장갑을 끼지 않고도 손가락의 움직임을 정확하게 추적할 수 있습니다.이 중 50개의 패키지는 Logitech의 BRIDGE 개발자 키트와 함께 독점 개발자에게 전송되어 새로운 [39][40]기술을 테스트하고 실험할 수 있게 되었습니다.

보안에 관한 고려 사항

경우에 따라서는 키 입력 [41]로깅의 위험을 줄이기 위해 가상 키보드를 사용할 수 있습니다.예를 들어 Westpac의 온라인 뱅킹 서비스에서는 패스워드 입력에 가상 키보드를 사용하고 있습니다(그림 참조).맬웨어는 실제 키 입력을 감시하는 것보다 가상 키보드를 통해 입력된 데이터를 얻기 위해 디스플레이와 마우스를 감시하는 것이 더 어렵습니다.단, 예를 들어 스크린샷을 정기적으로 [42][43]기록하거나 마우스를 클릭할 때마다 기록할 수 있습니다.

President Direct 로그인 화면, 가상 키보드 표시

사용자가 마우스 클릭으로 "입력"하는 화면 키보드를 사용하면 다음과 같은 이유로 숄더 서핑에 의한 비밀번호 노출 위험이 증가할 수 있습니다.

  • 관찰자는 일반적으로 키보드보다 화면을 쉽게(의심하지 않게) 보고 마우스가 움직이는 문자를 확인할 수 있습니다.
  • 화면 키보드의 일부 구현에서는 "키" 클릭에 대한 시각적 피드백을 제공할 수 있습니다(예: 색상을 짧게 변경).이를 통해 관찰자는 화면에서 데이터를 훨씬 쉽게 읽을 수 있습니다.최악의 경우, 구현은 다음 가상 키가 클릭될 때까지 가장 최근에 클릭된 "키"에 초점을 두고, 마우스가 다음 문자로 이동하기 시작한 후에도 관찰자가 각 문자를 읽을 수 있는 시간을 가질 수 있습니다.
  • 사용자는 키보드로 입력할 수 있는 만큼 빠르게 가리키고 클릭할 수 없기 때문에 관찰자가 쉽게 조작할 수 있습니다.

「 」를 참조해 주세요.

메모들

  1. ^ "virtual keyboard". PCMag.
  2. ^ 미국 애플리케이션 4725694 Auer Carol M, Castagno Daniel L/AT&T: "컴퓨터 인터페이스 디바이스" 우선일 13.05.1986
  3. ^ Samsung Omnia i900, 2008년 8월 21일 Lisa Gade 리뷰: "기존 휴대폰으로 문자를 보내는 데 익숙한 사람들을 위해 T9 스타일의 문자를 입력할 수 있는 가상 숫자 패드도 있습니다."
  4. ^ DE출원 19734511 B. Kammerer, C, Maggioni, H. Röttger/SIEMens AG: 'Kommunikation seinrichtung' 출원일 1997년 8월 8일
  5. ^ WO 0003348 C. Maggioni, B. Kammerer/SIEMens AG: "프로젝션 디바이스 / Vorrichtung zur Projection" 우선일 1998년 7월 10일
  6. ^ EP 0554492 Hans E. Korth: "명령어 또는 데이터의 광학 입력 방법 및 장치" 파일링 날짜 07.02.1992
  7. ^ "Virtual keyboard".
  8. ^ Chien-Hsu Chen. "Design and Evaluation of Chord Keyboard for Tablet Computer Manipulation". National Cheng Kung University.
  9. ^ "ASETNIOP concept designed to make touch typing on a touchscreen a mite easier". Gizmag.com. 9 October 2012.
  10. ^ "ASETNIOP invisible keyboard aims to get you touch-typing on the iPad". todaysiphone.com.
  11. ^ "Swype finger-tracing text entry seems fast, hypnotic, and magical". Engadget. Retrieved 2016-03-24.
  12. ^ Georgiev, Tsvetozar; Georgieva, Evgenia (2008-06-12). Mobile application for determination of users' text entry speed.
  13. ^ Titcomb, James (2017). "How the world reacted to the first iPhone 10 years ago". The Telegraph. ISSN 0307-1235. Retrieved 2018-03-16.
  14. ^ "InputMethodService Android Developers". developer.android.com. Retrieved 2018-03-19.
  15. ^ "Create a Custom Keyboard on Android". Code Envato Tuts+. Retrieved 2018-03-19.
  16. ^ "Keyboard Android Developers". developer.android.com. Retrieved 2018-03-19.
  17. ^ "keyboard - Google Play". Retrieved 2018-03-19.
  18. ^ "Managing the Keyboard". developer.apple.com. Retrieved 2018-03-19.
  19. ^ "UIInputViewController - UIKit Apple Developer Documentation". developer.apple.com. Retrieved 2018-03-19.
  20. ^ "App Extension Programming Guide: Custom Keyboard". developer.apple.com. Retrieved 2018-03-19.
  21. ^ "UITextChecker - UIKit Apple Developer Documentation". developer.apple.com. Retrieved 2018-03-19.
  22. ^ "Spelling Checker Framework Android Developers". developer.android.com. Retrieved 2018-03-19.
  23. ^ Liu, Croath (2016-04-25). "UITextChecker". NSHipster. Retrieved 2018-03-19.
  24. ^ Witman, Emma (10 October 2019). "How to add words to your iPhone dictionary with Text Replacement, so your iPhone automatically recognizes them when you type". Business Insider. Retrieved 13 March 2022.
  25. ^ Wallen, Jack (20 August 2014). "How to manage your personal dictionary in Android". TechRepublic. Retrieved 13 March 2022.
  26. ^ Tom Stocky, Alexander Faaborg, Henry Lieberman (2004). "A Commonsense Approach to Predictive Text Entry". {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)CS1 유지: 여러 이름: 작성자 목록(링크)
  27. ^ Dunlop, Mark D. and Crossan, Andrew (2000). "Predictive text entry methods for mobile phones". {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)CS1 유지: 여러 이름: 작성자 목록(링크)
  28. ^ Hattersley, Lucy. "How to use new QuickType and Swype keyboard options in iOS 8". Macworld UK. Retrieved 2018-03-19.
  29. ^ "Apple - iOS 8 - QuickType". Apple. Retrieved 2018-03-19.
  30. ^ "Using iOS 8's QuickType keyboard". CNET. 2014-09-19. Retrieved 2018-03-19.
  31. ^ Gordon, Mitchell; Ouyang, Tom; Zhai, Shumin (2016-05-07). WatchWriter: Tap and Gesture Typing on a Smartwatch Miniature Keyboard with Statistical Decoding.
  32. ^ Oniszczak, Aleks. "CHI: A Comparison of Two Input Methods for Keypads on Mobile Devices" (PDF). developer.apple.com.
  33. ^ EP 0554492 Hans E. Korth: "명령어 또는 데이터의 광학 입력 방법 및 장치" 파일링 날짜 07.02.1992
  34. ^ "Keyboard input in Unity". developer.microsoft.com. Retrieved 2018-03-16.
  35. ^ Lee, Minkyung; Woo, Woontack (2003-01-01). ARKB: 3D vision-based Augmented Reality Keyboard.
  36. ^ Poupyrev, Ivan. "Virtual Notepad: Handwriting in Immersive VR" (PDF). {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  37. ^ LLC, Google (2018-02-21), Daydream Keyboard, Google LLC, retrieved 2018-03-16 {{citation}}: first=범용명(도움말)이 있습니다.
  38. ^ "Google launches virtual keyboard for Daydream-ready phones". Haptical. 2016-10-19. Retrieved 2018-03-16.
  39. ^ "Introducing the Logitech BRIDGE SDK - VIVE Blog". blog.vive.com. Retrieved 2018-03-16.
  40. ^ "Logitech is experimenting with a keyboard built for virtual reality – TechCrunch". techcrunch.com. Retrieved 2018-03-16.
  41. ^ "Virtual keyboard".
  42. ^ Lake 소프트웨어:키로거를 물리칠 수 없습니다!
  43. ^ Smith, David A. (2006-06-21), Outsmarting Keyloggers, PC Magazine, retrieved 2009-11-16

외부 링크