这是一个严肃的问题,我还没有找到答案。
我想购买 USB 脚踏板,每个脚踏板都可以注册为一个带有一个键的 USB 键盘。
像 Emacs 这样需要按住多个键的程序将变得更容易使用。它还将使编写文档变得更容易,因为我不用按住 shift 键来输入大写字母,而是可以踩下脚踏板。
我可能总共有大约三到四个脚踏板(= USB 键盘)。
从技术上来说这可行吗?
答案1
Windows 可以同时使用多个键盘。我在家里同时插着 3 个不同的键盘。1 个放在桌子上,2 个无线放置在我客厅的不同位置,所有键盘都同时工作。
你问限制在哪里,但我不能告诉你。我相当肯定它会比你想要的要高得多,限制更可能是这样的:与计算机的电源一起工作的 USB 端口和集线器数量。如果情况合适,这应该很容易意味着 30+。
答案2
一般来说,USB 协议可以在一条总线上寻址 (即 127)。我记得,如果想要使用 8 个以上相同类型的设备 (打印机、大容量存储、HID),Linux 内核需要选择一个特殊选项 - 只是说 Windows 可能有类似的软件限制。
但是,您可能会考虑一件事……USB 使用 1 毫秒的帧进行传输。大多数键盘都是低速设备,这意味着它们以较低的速率运行(慢 8 倍)。如果您在一条总线上使用多个键盘或其他设备,延迟可能会很大。
根据您使用的计算机,您可能拥有多条独立总线,或一条带有内置集线器的总线。在后一种情况下,您可能会遇到数十毫秒的延迟。
举个例子来支持这一点:这是我的 USB 上的 Wireshark 截图。我连接了一个 USB 鼠标,我疯狂地移动它以记录尽可能多的流量。我突出显示了总线上的两个连续事务。从这些事务的时间戳可以看出,它们相差 8 毫秒。这意味着我的鼠标是低速设备。
答案3
最大值至少为14。“您只需通过 USB 集线器将 14 个键盘插入 Windows 机器即可。”https://youtu.be/lIFE7h3m40U?t=619默认情况下,每个键盘的行为都相同——每个“Z”键都键入相同的“Z”。如果您的宏程序可以检测到哪个键盘上每个键被按下,你可以(例如)让每个连接的键盘输入不同的字符,用于多个字母、附加字符(字母、符号或表情符号)、飞行模拟器控制等。汤姆·斯科特 (Tom Scott) 将 14 个键盘作为一个 ~1,330 键的键盘。他重新映射了 13 个添加的键盘以覆盖每个 Unicode 8 表情符号,使用Lua宏。