我正在使用带有 Ubuntu 12.04 的笔记本电脑,我想从脚本发送一个Fn+F8以禁用我的触摸板。
当我输入命令时xdotool key fn,它会打印
(symbol) No such key name 'fn'. Ignoring it.
(symbol) No such key name 'fn'. Ignoring it.
Run Code Online (Sandbox Code Playgroud)
如何发送 Fn 键?
---------------------------- 6 月 13 日更新 ----------- ---------------
所以Fn密钥不能通过程序语言发送?通过查看/usr/include/linux/input.h第 614 行,我看到:
#define KEY_FN 0x1d0
Run Code Online (Sandbox Code Playgroud)
它也不能通过发送信号来工作?或者它不是 Fn 键码?
--------------------------- 6 月 26 日更新 ----------- ---------------
最近,我使用 C做了一些关于Fn+ 的测试F8。我猫/dev/input/event3,可以看到Fn+F8代码是240哪个
#define KEY_UNKNOWN 240
Run Code Online (Sandbox Code Playgroud)
和其他一些代码。我感觉很蓝。也许触摸板是直接由硬件处理的,正如 user49740 所说。
但该命令可以通过 os 禁用触摸板
xinput set-prop 'ETPS/2 Elantech Touchpad' 'Device Enabled' 0
Run Code Online (Sandbox Code Playgroud)
但是它不能改变触摸板灯的状态。并且Fn+F8不能启用或禁用触摸板。
按下该Fn键不会向操作系统发送任何键码,因此您无法假装按下该Fn键。
但是,某些Fn+another key组合会发送键码。例如,播放/暂停/下一个/上一个键组合总是发送键码
您可以从终端运行该xev程序,这会打开一个简单的窗口。您现在可以按各种键和组合键,接收到的键码X11将显示在终端中。您可以按Fn+F8并查看是否xev显示任何输出
不幸的是,在大多数笔记本电脑上,“禁用触摸板”组合键是由硬件直接处理的,因此您必须找到另一种禁用触摸板的方法。
如果您使用的是 Synaptics 触摸板,您应该查看synclient或syndaemon。比如这篇文章说synclient TouchpadOff=1关闭触摸板再synclient TouchpadOff=0打开
| 归档时间: |
|
| 查看次数: |
5011 次 |
| 最近记录: |