我无法找到如何录制单个按键,如单个字符或箭头,或修改键,如shift。
最接近的是read-char
但等待您在发送输入之前按Enter键。我想只是注册按键并立即通过它。
如果这是特定于实现的,我正在使用Chez-Scheme。
答案 0 :(得分:1)
与按键有关的任何内容都是特定于实现的,因为它没有在Scheme标准中解决。据Chez Scheme说,据我所知,没有直接支持按键。但是,如果您安装随Chez Scheme一起提供的SWL(Scheme Widget Library),则会有一个读取按键的命令。我从来没有用过它,对此也一无所知。
答案 1 :(得分:1)
正如前面提到的,按键是系统特定的,但是在Linux或BSD系统上,几乎肯定会安装stty,这将使用chez方案做你想要的:
(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")