答案1
我没有完整的答案,但以下是一些可能有帮助的内容。
如果你的键盘连接到一台基于 Gnome 或 KDE 的 GUI 桌面的电脑上,自动键可用于将按键变成热键,热键几乎可以执行您能想到的所有操作。由于键盘上的按键可能与常规键盘上的相应按键没有区别,因此您执行的任何操作也会影响它们。
从终端运行xev
并按下键盘上的每个键以查看生成的键码。它们可能与普通键盘的键码相同,但如果不同,您可以使用这些代码来区分两者。
如果您使用的是没有 GUI 的嵌入式系统(甚至是服务器),则上述操作将不起作用。
我不太熟悉 Linux 设备,但是这这篇文章可能会给你一些线索,告诉你如何将键盘输入直接处理到脚本或程序中。一旦你将按键输入到脚本中,你就可以对它们做出任何你想做的事情。
因为这是一个脚本/程序,所以您必须想办法将其输出传送到所需的目的地。
首先想到的方法是使用管道。如果输出仅发送到一个程序,这种方法就有效。
如果解决方案需要更通用一些,命名管道可能会有用。我还没有用过它们,所以我不太清楚如何使用同一个命名管道串联到不同的程序。
答案2
解决方案是使用多按输入法。
在应用程序中需要手动设置多按输入法。如果您希望将多按作为默认设置,则需要创建/.xinputrc
包含以下内容的文件:
GTK_IM_MODULE=multipress
QT_IM_MODULE=multipress