Kivy 是否可以同时在不同的小部件上使用两个键盘?我

Is it possible for Kivy to use two keyboards on different widgets at the same time?I

我希望我的 Kivy 应用程序有两个用户使用一台带有两个键盘的计算机。用户的键盘将永久专注于他们用来与编辑区交互的文本输入。我无法弄清楚这是否可能。谁能把我推向正确的方向?

这确实是可能的,尽管在 Kivy 中不直接支持。我使用的软件使用许多模拟键盘的外围设备,例如条形码扫描仪和磁条阅读器,并且每个输入流都是单独处理的。

您可以使用 python-evdev to grab input devices individually. For each device, spawn a thread to read from the device and append its input to a Queue.

最后,使用超时为 0 的 Clock.schedule_interval 轮询队列(轮询每一帧),从队列中弹出项目并使用它们调度 on_key_downon_key_up所需 TextInput.

的事件