【问题标题】:arrow keys console input ada95箭头键控制台输入 ada95
【发布时间】:2015-11-06 15:11:20
【问题描述】:

您好,我正在尝试监视按下向上或向下箭头键的时间。

Ada.Text_IO.Get_Immediate(User_Input, Key_pressed);
        if Key_pressed then
            if User_Input = ???? then
                    null;
            end if;
        end if;

我要检查什么来查看按键是否被按下。

我已经检查了 Ada.Characters.Latin_1 库中的控制字符以及一些没有运气的谷歌搜索。

感谢您的帮助。

【问题讨论】:

  • 按键不是 ASCII 输入。输入 ASCII(或 Latin-1)字符的程序将无法读取按键信息,除非您的操作系统将它们转换为旧的 ANSI 转义序列(请参阅en.wikipedia.org/wiki/ANSI_escape_code),在这种情况下,键将表示为多个字符,而不是单个字符。除此之外,艾达不会帮助你。如果 GNAT 或您的编译器供应商没有为此提供库,则您需要寻找第三方库或直接连接到操作系统例程的接口或类似的东西。

标签: input keyboard console ada


【解决方案1】:

嗯,如果你愿意使用 SDL,显然有一个读取扫描码的功能:https://searchcode.com/codesearch/view/13693070/

freenode 的#Ada IRC 频道上的一个人正在使用 SDL 绑定(并且 IIUC 几乎完成):https://github.com/Lucretia/sdlada

【讨论】:

    猜你喜欢
    • 2011-05-20
    • 2018-04-05
    • 1970-01-01
    • 2011-10-08
    • 2015-05-23
    • 2016-04-08
    • 2018-12-03
    • 1970-01-01
    相关资源
    最近更新 更多