buildKeyText function
Widget
buildKeyText(
- TappyKeyboardKeyType key,
- TappyKeyboardController ctl, {
- required bool isEnabled,
Implementation
Widget buildKeyText(
TappyKeyboardKeyType key,
TappyKeyboardController ctl, {
required bool isEnabled,
}) {
late final String text;
String? shiftText;
switch (key.keyAction) {
case TappyKeyAction.shift:
return Icon(
Icons.arrow_upward,
color: isEnabled ? Colors.white : Colors.black,
);
case TappyKeyAction.ctl:
text = "Ctl";
break;
case TappyKeyAction.alt:
text = "Alt";
break;
case TappyKeyAction.backspace:
return Icon(
Icons.backspace,
color: isEnabled ? Colors.white : Colors.black,
);
case TappyKeyAction.space:
return Icon(
Icons.space_bar,
color: isEnabled ? Colors.white : Colors.black,
);
case TappyKeyAction.enter:
return Icon(
Icons.keyboard_return,
color: isEnabled ? Colors.white : Colors.black,
);
case TappyKeyAction.number:
text = key.text!;
break;
case TappyKeyAction.letter:
text = ctl.shiftKeyEnabled ? key.shiftText! : key.text!;
break;
case TappyKeyAction.symbol:
if (ctl.shiftKeyEnabled && key.shiftText != null) {
text = key.shiftText!;
shiftText = key.text!;
} else {
text = key.text!;
shiftText = key.shiftText;
}
break;
case TappyKeyAction.func:
text = '&123';
break;
case TappyKeyAction.tab:
return Icon(
Icons.keyboard_tab,
color: isEnabled ? Colors.white : Colors.black,
);
case TappyKeyAction.exit:
text = "Exc";
break;
case TappyKeyAction.left:
return Icon(
Icons.arrow_back,
color: isEnabled ? Colors.white : Colors.black,
);
case TappyKeyAction.right:
return Icon(
Icons.arrow_forward,
color: isEnabled ? Colors.white : Colors.black,
);
}
if (key.keyAction == TappyKeyAction.symbol &&
(key.shiftText?.isNotEmpty ?? false)) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
if (shiftText != null)
AutoSizeText(
shiftText,
style: TextStyle(
fontSize: 12,
color: isEnabled ? Colors.white : Colors.grey,
),
),
AutoSizeText(
text,
style: TextStyle(
fontSize: 20,
color: isEnabled ? Colors.white : Colors.black,
),
),
],
);
}
return AutoSizeText(
text,
style: TextStyle(
fontSize: 20,
color: isEnabled ? Colors.white : Colors.black,
),
);
}