Kivy有可能同时在不同的小部件上使用两个键盘吗?我



我希望我的Kivy应用程序有两个用户使用一台带两个键盘的电脑。用户的键盘将永远专注于他们用来与编辑区交互的文本输入。我很难弄清楚这是否可能。有人能把我推向正确的方向吗?

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

您可以使用python-evdev单独获取输入设备。对于每个设备,生成一个线程从设备中读取,并将其输入附加到Queue

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

最新更新