我无法找到如何记录单个按键,如单个字符或箭头,或修饰符键,如shift。
最接近的是read-char,但它在发送输入之前等待您按enter键。我只想登记一下按键,然后马上把它传过去。
如果这是特定于实现的,我使用的是Chez-Scheme。
发布于 2016-06-20 19:01:45
如前所述,按键是特定于系统的,但是在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")发布于 2016-06-14 14:34:07
任何与按键有关的操作都将是特定于实现的,因为它在Scheme标准中没有提到。据我所知,在Chez计划中,没有对按键的直接支持。但是,如果您安装了与Chez一起提供的SWL (),那么就会有一个读取按键的命令。我从来没用过,也不知道。
https://stackoverflow.com/questions/37806176
复制相似问题