linux 可以发送 fn 键并禁用触摸板吗?

linux 可以发送 fn 键并禁用触摸板吗?

我正在使用装有 Ubuntu 12.04 的笔记本电脑,我想从脚本发送Fn+F8以禁用我的触摸板。

当我输入命令时xdotool key fn,它会打印

(symbol) No such key name 'fn'. Ignoring it.
(symbol) No such key name 'fn'. Ignoring it.

我如何发送 Fn 键?

----------------------------6 月 13 日更新 ----------------------------------

那么Fn密钥不能通过程序语言发送吗?通过查看/usr/include/linux/input.h第 614 行,我看到:

#define KEY_FN 0x1d0

发信号也不行?还是不是Fn键码?

----------------------------6 月 26 日更新 ----------------------------------

最近,我使用 C 做了一些关于Fn+ 的测试F8。我 cat/dev/input/event3可以看到Fn+F8代码240

#define KEY_UNKNOWN     240

还有一些其他代码。我心情很不好。也许触摸板是由硬件直接处理的,就像 user49740 所说的那样。

但该命令可以通过操作系统禁用触摸板

xinput set-prop 'ETPS/2 Elantech Touchpad' 'Device Enabled' 0

但是它无法改变触摸板的灯光状态。并且Fn+F8无法启用或禁用触摸板。

答案1

按下该Fn键不会向操作系统发送任何键码,因此您无法假装按下该Fn键。

但是,有些Fn+another key组合会发送键码。例如,播放/暂停/下一个/上一个键组合始终会发送键码

从终端,您可以运行该xev程序,这将打开一个简单的窗口。您现在可以按各种键和组合键,X11终端中将显示收到的键码。您可以按Fn+F8并查看是否xev显示任何输出

不幸的是,在大多数笔记本电脑上,“禁用触摸板”组合键直接由硬件处理,因此您必须找到另一种方法来禁用触摸板。

如果你使用的是 Synaptics 触摸板,你应该看看同步客户端或者守护进程。 例如,本文synclient TouchpadOff=1关闭触摸板并synclient TouchpadOff=0打开它

答案2

不,Fn密钥由硬件处理,而不是操作系统。

答案3

您可以通过 xdotool 在 Linux 上按照下列方式发送 Fn 键:

如果您想发送:

xdotool key Fn + Up

您可以按照下列方式进行:

xdotool key XF86MonBrightnessUp

如果您想发送:

xdotool key Fn + Down

您可以按照下列方式进行:

xdotool key XF86MonBrightnessDown

我希望这能帮助您通过 xdotools 发送其余可能的键组合。

相关内容