1
다트 콘솔 앱을 만들었으며 화살표 키와 기능 키 같은 키 코드를 표준 입력에서 처리해야합니까? 내가 본 샘플은 일반적으로 문자열 기반 :다트 : 원시 문자 코드 표준 입력
Stream readInts() => stdin;
readInts().listen(processInts);
void processInts(List<int> kbinput) {
for (int i=0;i<kbinput.length;i++){
print ("kbinput:${kbinput[i]}");
}
}
표준 입력 만 가능한 문자를 제공하지 보인다
Stream readLine() => stdin.transform(UTF8.decoder).transform(new LineSplitter());
readLine().listen(processLine);
내가 같이 원시의 int를 받았으면 위의 샘플을 수정 모든 아스키 키 코드. stdin에서 가능하지 않은 경우 & 키 코드를 사용하여 내 기본 확장에 스트림을로드 할 수 있습니까? 내 콘솔 앱이 키 누르기의 ascii 키 코드에 어떻게 접근 할 수 있습니까? 당신의 도움을 주셔서 감사합니다!
감사합니다. Gunter, 불행히도 readByteSync는 동기화/차단이고 stdin은 모든 키 코드를 제공하지 않습니다. 네이티브 확장에서 ReadConsoleInputs를 수행하는 별도의 스레드를 만들어서 입력 버퍼에서 직접 원시 가상 코드를 가져와야했습니다. 이제 Dart "스트림"개체를 만드는 방법을 보여주는 c/C++ 샘플 코드를 찾아야하므로 Dart 앱은 새로운 int 스트림 ("xin"virtualkeycodes)을 수신 할 수 있습니다. 그런 코드 스 니펫을 어디에서 찾을 수 있는지 알고 있습니까? Dart Misc에 질문을 게시해야합니까? –
죄송합니다. 기본 확장 프로그램에 대한 경험이 없습니다. 여기 및 포럼에서 질문하고 SO 질문에 대한 포럼 게시물에 링크를 만드십시오. 그것은 종종 G + Dartisans 그룹에 SO 질문을 게시하는 데 도움이됩니다. 내가 아는 한 네이티브 확장 기능을 수행하는 사람은 많지 않습니다. –