키오스크 및 ATM과 같은 장치에서 가상 키보드를 표시하기 위한 경량 크로스플랫폼 Dart 패키지입니다. 네이티브 코드 종속성이 없으며 여러 언어를 지원하고 Android, iOS, Web, macOS, Windows, Linux에서 원활하게 작동합니다. 사용자 정의 가능한 입력 솔루션이 필요한 터치 기반 인터페이스에 적합합니다. 이 패키지는 Flutter 애플리케이션에 가상 키보드를 최소한의 설정으로 간편하게 통합할 수 있는 간단한 API를 제공합니다.
사용 사례
키오스크 단말기
ATM 인터페이스
다국어 데이터 입력
터치스크린 결제 시스템
자기 서비스 체크인 스테이션
상호작용형 공공 디스플레이
주요 기능
다국어 지원
네이티브 코드 종속성 없음
크로스 플랫폼 호환성
사용자 정의 키보드 레이아웃
경량이며 통합이 쉬움
모든 주요 데스크톱 및 모바일 플랫폼을 지원합니다
적합한 대상
공개용 터치 인터페이스를 구축하는 개발자
다국어 입력이 필요한 응용 프로그램
다양한 운영 체제에 배포된 시스템
최소한의 외부 종속성이 필요한 프로젝트
키오스크 및 ATM 소프트웨어 개발
고려 사항
비표준 언어 입력을 위해 사용자 정의 레이아웃 설계가 필요할 수 있습니다
기본 텍스트 입력 기능에만 제한됨
저사양 기기에서는 성능이 다를 수 있습니다
예측 텍스트나 음성 입력과 같은 고급 기능을 포함하지 않습니다
예측 가능한 사용자 행동을 가진 제어된 환경에 적합
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
virtual_keyboard_multi_language
About
A simple package for dispaying virtual keyboards on a devices like kiosks and ATMs. The library is written in Dart and has no native code dependancy.
This project has forked from virtual_keyboard project because the virtual_keyboard project built to only display a buttons on the screen with single language. However, this project will handel the events and aill supports multi-languages.
(ToDo) Option to make a popup floating keyboard/keyNum.
(ToDo) Adding input result viewer and handel the events.
Reference
VirtualKeyboard
Flutter widget to show virtual keyboards.
// Keyboard Type: Can be Numeric or Alphanumeric.VirtualKeyboardType type
// Callback for Key press event. Called with pressed `Key` object.// will fire before adding pressed key text to controller, if a controller existsFunction preKeyPress;
// Callback for Key press event. Called with pressed `Key` object.// will fire after adding pressed key text to controller, if a controller existsFunction postKeyPress;
// Virtual keyboard height. Default is 300.double height;
/// Virtual keyboard height. Default is full screen widthdouble width;
// Color for key texts and icons.Color textColor;
// Font size for keyboard keys.double fontSize;;
// Only Caps letters enabled.bool alwaysCaps;;
/// the custom layout for multi or single languageVirtualKeyboardLayoutKeys customLayoutKeys;
/// used for multi-languages with default layouts, the default is English only/// will be ignored if customLayoutKeys is not nullList<VirtualKeyboardDefaultLayouts> defaultLayouts;
/// inverse the layout to fix the issues with right to left languages, default is false.bool reverseLayout;
// Just local variable. Use Text widget or similar to show in UI.String text;
/// Fired when the virtual keyboard key is pressed._onKeyPress(VirtualKeyboardKey key) {
if (key.keyType == VirtualKeyboardKeyType.String) {
text = text + (shiftEnabled ? key.capsText : key.text);
} elseif (key.keyType == VirtualKeyboardKeyType.Action) {
switch (key.action) {
caseVirtualKeyboardKeyAction.Backspace:
if (text.length == 0) return;
text = text.substring(0, text.length - 1);
break;
caseVirtualKeyboardKeyAction.Return:
text = text + '\n';
break;
caseVirtualKeyboardKeyAction.Space:
text = text + key.text;
break;
caseVirtualKeyboardKeyAction.Shift:
shiftEnabled = !shiftEnabled;
break;
default:
}
}
// Update the screensetState(() {});
}