This commit is contained in:
Gurgen Hovhannisyan 2019-04-02 16:39:23 +04:00
parent 3ed592bd36
commit 5fdc143917
2 changed files with 33 additions and 31 deletions

View File

@ -219,29 +219,32 @@ class _VirtualKeyboardState extends State<VirtualKeyboard> {
switch (key.action) { switch (key.action) {
case VirtualKeyboardKeyAction.Backspace: case VirtualKeyboardKeyAction.Backspace:
actionKey = GestureDetector( actionKey = GestureDetector(
onLongPress: () { onLongPress: () {
longPress = true; longPress = true;
// Start sending backspace key events while longPress is true // Start sending backspace key events while longPress is true
Timer.periodic( Timer.periodic(
Duration(milliseconds: _virtualKeyboardBackspaceEventPerioud), Duration(milliseconds: _virtualKeyboardBackspaceEventPerioud),
(timer) { (timer) {
if (longPress) { if (longPress) {
onKeyPress(key); onKeyPress(key);
} else { } else {
// Cancel timer. // Cancel timer.
timer.cancel(); timer.cancel();
} }
}); });
}, },
onLongPressUp: () { onLongPressUp: () {
// Cancel event loop // Cancel event loop
longPress = false; longPress = false;
}, },
child: Icon( child: Container(
Icons.backspace, height: double.infinity,
color: textColor, width: double.infinity,
), child: Icon(
); Icons.backspace,
color: textColor,
),
));
break; break;
case VirtualKeyboardKeyAction.Shift: case VirtualKeyboardKeyAction.Shift:
actionKey = Icon(Icons.arrow_upward, color: textColor); actionKey = Icon(Icons.arrow_upward, color: textColor);
@ -260,21 +263,20 @@ class _VirtualKeyboardState extends State<VirtualKeyboard> {
return Expanded( return Expanded(
child: InkWell( child: InkWell(
onTap: () { onTap: () {
if (!alwaysCaps) { if (key.action == VirtualKeyboardKeyAction.Shift) {
if (key.action == VirtualKeyboardKeyAction.Shift) { if (!alwaysCaps) {
setState(() { setState(() {
isShiftEnabled = !isShiftEnabled; isShiftEnabled = !isShiftEnabled;
}); });
} }
onKeyPress(key);
} }
onKeyPress(key);
}, },
child: Container( child: Container(
alignment: Alignment.center,
height: height / _keyRows.length, height: height / _keyRows.length,
child: Center( child: actionKey,
child: actionKey,
),
), ),
), ),
); );

View File

@ -1,6 +1,6 @@
name: virtual_keyboard name: virtual_keyboard
description: 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. description: 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.
version: 0.1.3 version: 0.1.4
author: Gurgen Hovhannisyan <g.hovhannisyan@digitalpomegranate.com> author: Gurgen Hovhannisyan <g.hovhannisyan@digitalpomegranate.com>
homepage: https://github.com/gurgenDP/virtual_keyboard homepage: https://github.com/gurgenDP/virtual_keyboard