단일 문자 또는 화살표와 같은 단일 키 누르기 또는 shift와 같은 수정 키를 기록하는 방법을 찾을 수 없습니다.하나의 키 누르기를 Scheme에 어떻게 기록합니까?
가장 가까운 것은 read-char
이지만 입력을 보내기 전에 Enter 키를 누를 때까지 기다립니다. keypress를 등록하고 immediatly 그것을 통과시키고 싶다.
구현에 따라 다르면 Chez-Scheme을 사용하고 있습니다.
단일 문자 또는 화살표와 같은 단일 키 누르기 또는 shift와 같은 수정 키를 기록하는 방법을 찾을 수 없습니다.하나의 키 누르기를 Scheme에 어떻게 기록합니까?
가장 가까운 것은 read-char
이지만 입력을 보내기 전에 Enter 키를 누를 때까지 기다립니다. keypress를 등록하고 immediatly 그것을 통과시키고 싶다.
구현에 따라 다르면 Chez-Scheme을 사용하고 있습니다.
언급 한 바와 같이 키 누름 시스템 특정 있지만, 거의 확실 stty를 설치 한 것 리눅스 나 BSD 시스템에, 이것은 당신이 체즈 방식으로 원하는 것을 할 것입니다 :
(system "stty --file=/dev/tty cbreak -echo")
(let ([keyboard (open-input-file "/dev/tty")])
(format #t "The key press was ~A~%" (read-char keyboard)))
(system "stty --file=/dev/tty -cbreak echo")
키 누르기와 관련된 작업은 구현에 따라 달라지며 이는 Scheme 표준에서 다루지 않기 때문입니다. Chez Scheme에서, 내가 아는 한, 키 누르기에 대한 직접적인 지원은 없습니다. 그러나 Chez Scheme과 함께 제공되는 SWL (Scheme Widget Library)을 설치하면 키 누르기 명령을 읽을 수 있습니다. 나는 그것을 사용한 적이 없으며 그것에 대해 아무것도 모른다.
고마워요, 내가 찾고 있었던 것이 었습니다! – Wysaard