如何在 MacOS 上检测 C++ 中的按键?

How to detect keypress in C++ on MacOS?

我正在写一个作业,需要展示一些事件驱动的编程范例,所以我认为按键检测应该可以正常工作。我已经 google 几个小时了,我已经为 Linux 和 Windows 找到了一些解决方案。不幸的是,我在 Mac。所以,我只提出了跨平台 SDL。但我之前只使用 Python tkinter 处理事件,但我只被允许使用 C++ 进行此作业。而且我不太熟悉 Xcode 和 C++,所以我不知道如何将 SDL 安装到 Xcode 的 C++ 中。另外,我只需要检测按键,所以一些较小的库也应该可以正常工作。我想知道是否有一个图书馆可以实现我的目的。该程序可以很简单 - while(true){ cout << "The key you pressed was " << pressed_key; }.

您只需在 cout 语句上方添加此行。

cin>>pressed_key;

试试这个片段:

SDL_Event e;
while (true)
    {
        while (SDL_PollEvent(&e) != 0) {
            if(e.type == SDL_KEYDOWN)
                cout << "The key you pressed was " << SDL_GetKeyName(e.key.keysym.sym) <<endl;
        }
    }