标签: keyboard smalltalk squeak
在我上一次的作业中,他们希望我用键盘控制游戏。游戏的一部分是按一个键并继续按住它。
我使用keyDown方法来跟踪键盘事件。而正在发生的事情是,在第一次事件之后(当我按下单个按键时),在其他字符开始到来之前,有大约半秒的延迟。同样的延迟就好像在一个文本框中你持有“a”,在第一个字符之后有一个半秒的间隙。
我可以在哪里调整?它确实破坏了游戏......
答案 0 :(得分:3)
我不认为这是在Squeak(或任何编程语言)中读取键盘状态的问题,但这是操作系统发送的键盘信号的问题。
在Windows中,您需要转到Control Panel> Keyboard> Speed标签,并调整“重复延迟”设置:
Control Panel
Keyboard
Speed
在Linux中,我认为您需要使用xset或kbdrate命令。我确信在Mac上有相同的东西。
xset
kbdrate
话虽如此,我不明白为什么你需要阅读操作系统的击键。您是否应该阅读keyDown,然后假设在获得keyUp事件之前该键一直保持按下状态?我以为你会对键盘状态感兴趣,而不是对“到达”的个别角色感兴趣。
keyDown
keyUp