我已经创建了一个 Dart 控制台应用程序,并且需要处理来自标准输入的箭头键和功能键之类的键码?我见过的样本通常是基于字符串的:
Stream readLine() => stdin.transform(UTF8.decoder).transform(new LineSplitter());
readLine().listen(processLine);
我修改了上面的示例,希望得到这样的原始整数:
Stream readInts() => stdin;
readInts().listen(processInts);
void processInts(List<int> kbinput) {
for (int i=0;i<kbinput.length;i++){
print ("kbinput:${kbinput[i]}");
}
}
似乎标准输入只提供可打印的字符,而不是所有的 ascii 键码。如果从标准输入无法实现,我可以使用键码在我的本机扩展程序中创建和加载流吗?我的控制台应用程序如何获取任何按键的 ascii 键码?谢谢你的帮助!