使用 USB 数字键盘进行类似手机的打字吗?

使用 USB 数字键盘进行类似手机的打字吗?

我有这样的 USB 数字键盘:

在此处输入图片描述

我需要在这个键盘上写字符(A 到 Z),所以我的想法是像在旧手机上一样使用它:

在此处输入图片描述

如果我按 1x 2,它会写 A、2x 2 - B、4x 9 - Z 等等。

可以做到吗?怎么做?使用 udev 吗?

答案1

我没有完整的答案,但以下是一些可能有帮助的内容。

如果你的键盘连接到一台基于 Gnome 或 KDE 的 GUI 桌面的电脑上,自动键可用于将按键变成热键,热键几乎可以执行您能想到的所有操作。由于键盘上的按键可能与常规键盘上的相应按键没有区别,因此您执行的任何操作也会影响它们。

从终端运行xev并按下键盘上的每个键以查看生成的键码。它们可能与普通键盘的键码相同,但如果不同,您可以使用这些代码来区分两者。

如果您使用的是没有 GUI 的嵌入式系统(甚至是服务器),则上述操作将不起作用。

我不太熟悉 Linux 设备,但是这篇文章可能会给你一些线索,告诉你如何将键盘输入直接处理到脚本或程序中。一旦你将按键输入到脚本中,你就可以对它们做出任何你想做的事情。

因为这是一个脚本/程序,所以您必须想办法将其输出传送到所需的目的地。

首先想到的方法是使用管道。如果输出仅发送到一个程序,这种方法就有效。

如果解决方案需要更通用一些,命名管道可能会有用。我还没有用过它们,所以我不太清楚如何使用同一个命名管道串联到不同的程序。

答案2

解决方案是使用多按输入法。

在应用程序中需要手动设置多按输入法。如果您希望将多按作为默认设置,则需要创建/.xinputrc包含以下内容的文件:

GTK_IM_MODULE=multipress
QT_IM_MODULE=multipress

相关内容