我正在开发 SDL2 应用程序。现在我尝试在安装了 Raspbian Stretch Lite 且没有 X11 的 Raspberry PI (Zero W) 上运行它。
我从源代码构建并安装了 SDL2,如描述的 here .
使用这些配置标志:
./configure \
--disable-pulseaudio \
--disable-esd \
--disable-video-mir \
--disable-video-wayland \
--disable-video-x11 \
--host=arm-raspberry-linux-gnueabihf \
现在我可以编译并运行我的应用程序了。它可以在全屏模式下正确显示主屏幕。
但它无法接收任何预期的键盘或鼠标事件。
我假设我错过了 SDL2 构建配置中的某些内容。 如何在应用程序中启用鼠标和键盘?
最佳答案
默认情况下,通常禁止普通用户直接读取 /dev/input/*
文件,这就是 SDL 在原始 Linux 帧缓冲区控制台上运行时所做的事情。
来自the SDL docs (README-raspberrypi.md
) :
================================================================================
No input
================================================================================
Make sure you belong to the "input" group.
sudo usermod -aG input `whoami`
或者以 root 身份运行您的程序。
关于linux - Raspberry Pi 上不带 X11 的 SDL2 应用程序中的键盘和鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56423753/