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

Python Kivy是否可以同时在不同的小部件上使用两个键盘,python,keyboard,kivy,multi-user,Python,Keyboard,Kivy,Multi User,我希望我的Kivy应用程序有两个用户使用一台电脑和两个键盘。用户的键盘将永久地集中在他们用来与编辑区交互的文本输入上。我不知道这是否可能。有人能把我推向正确的方向吗 这确实是可能的,尽管在Kivy中没有直接支持。我使用的软件使用了许多模拟键盘的外围设备,如条形码扫描仪和磁条阅读器,每个输入流都是单独处理的 您可以使用单独获取输入设备。对于每个设备,生成一个线程以从设备读取,并将其输入附加到 最后,使用0超时轮询队列(每帧轮询),从队列中弹出项目,并使用它们为所需的TextInput分派on\u

我希望我的Kivy应用程序有两个用户使用一台电脑和两个键盘。用户的键盘将永久地集中在他们用来与编辑区交互的文本输入上。我不知道这是否可能。有人能把我推向正确的方向吗

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

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


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

分派
on\u key\u down
on\u key\u up
事件。这是一个有趣的问题,我怀疑现在答案是否定的,因为(据我所知)kivy不会暴露键盘之间的任何差异,即使其后端可以在内部区分键盘。我可能错了,如果键盘上的一个参数不同,你可以试着测试一下。这让我很困扰,因为我记得我看到了一种方法,可以得到所有连接键盘的列表,并认为我可以这样做,但现在我找不到它,我可以用它,尽管在Kivy中不是这样,这是迄今为止最正确的答案。谢谢