使用/获取没有用户本地登录的唯一键盘

使用/获取没有用户本地登录的唯一键盘

我有一台运行一些软件(我有源代码)的树莓派,该软件需要用户交互,并且有一个只有 3 个键的特殊 (USB) 键盘。该程序在帧缓冲区 (SDL) 上运行并远程启动;我需要这个程序对按键做出反应,但如果用户未在本地登录,这似乎是不可能的。

我能做些什么?该方案不能使用大量资源,并且延迟应该在300ms以内。

典型用例是在 4-8 小时内每 10 分钟按一次键,但频率可以达到每 2 秒按一次键(可能性极小)。这一切都在 raspbian 上运行,我有 root 访问权限。

答案1

安装 openssh-server (在 RPi 上)

apt-get install openssh-server

您可能希望将 ssh 与-X交换机一起使用(来自另一台主机)

ssh -X <username>@<IP_of_Rasperry_Pi>
[Enter password when prompted]

连接后,您的提示应该已更改为您在树莓派本地登录时看到的内容。

连接后,运行epiphany &Raspbian 附带的默认 Web 浏览器并将其显示在客户端计算机(不是 Raspberry Pi)上,导航到运行相关程序的网站,然后将其打开。

您可以将[普通]键盘连接到 Pi,然后按 切换到多用户模式(无图形),Ctrl + Alt + F1以 root 身份登录并pkill X在 tty 处输入(是的,X 需要大写)以终止 GUI显示器直接连接到pi(节省系统资源)。然后你可以通过 ssh 进入它(不要忘记该-X选项)并打开浏览器(像以前一样)。或者,您也可以使用 ssh(不-X带开关)来终止 X 服务器,而不是连接键盘。需要注意的一件事是,此命令将终止 pi 上运行的所有 X 会话,包括您可能使用 ssh 建立的任何会话。

仅当可以通过远程连接上使用的键盘将按键映射到程序时,此功能才有效。

要将 GUI 设置为在启动时不显示 [在 RPi 本地],请使用命令sudo raspi-config并按照此处给出的说明进行操作:https://raspberrypi.stackexchange.com/a/1320

我希望这有助于解决您的问题。

答案2

我通过读取原始输入设备并解析它来解决这个问题,类似于https://stackoverflow.com/a/2554421/3530257

相关内容