我希望能够编写一个FreePascal函数,例如:
function KeyIsPressed(ch: char): boolean;
仅当在执行时按下与字符ch
对应的键时,返回true。此函数应允许使用以下结构:]
if KeyIsPressed('a') and KeyIsPressed('b') and not KeyIsPressed('c') then ...
[且仅当同时按下'a'和'b'而未按下'c时,显然返回true。
仅供参考,我正在跑步:
Free Pascal Compiler version 3.0.4+dfsg-18ubuntu2 [2018/08/29] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
PS1:我不在乎键盘缓冲区是否开始填满,此后一个问题可以单独处理。
PS2:我确实注意到了有关其他编程语言的类似问题,但是不幸的是,这些问题对Pascal没有用。
仅看单元Crt和/或键盘的实现。他们做那些事。但是它们从已经“煮熟”的标准输入中捕获键盘数据。
很难解决这个问题。要找出难于使用的键盘组合,请尝试文本模式IDE的“示教键”功能,该功能基本上显示了“键盘”单元功能]