import 'dart:io'; import 'package:libac_dart/utils/IOTools.dart'; String getKeyPress() { bool ret = false; String str = ""; while (!ret) { // Disable line mode to capture a single key press without requiring Enter //stdin.echoMode = false; stdin.lineMode = false; // Read a single byte from stdin int byte = stdin.readByteSync(); // Restore line mode and echo mode to default settings //stdin.echoMode = true; stdin.lineMode = true; // Return the character representation of the byte str = String.fromCharCode(byte); if (RegExp(r'^[A-Za-z]$').hasMatch(str)) ret = true; } return str; } Future main() async { await prnt("\rPress Any Key To Continue..."); // Listen for a key press String key = getKeyPress(); // Erase the line by printing a new line await prnt("\r\n"); // Check if the pressed key is 'Z' if (key.toUpperCase() == 'Z') { return 1; } return 0; }