抽象的

抽象的

在我的 Dell Latitude E6400 上,向上和向下箭头键与 键一起使用时可用于更改屏幕亮度Fn

Fn我通过 USB 连接了一个外接键盘,并尝试在按下笔记本电脑键盘上的键和外接键盘上的向上箭头的同时增加亮度。

它不起作用。ShiftCtrl并且Alt当以这种方式与外接键盘一起使用时可以正常工作。

为什么不Fn

答案1

抽象的

正如其他人指出的那样,关键Fn是内部处理的特殊情况。我将提供技术解释。

技术细节

当你按下键盘上的某个键时,键盘控制器(键盘内的一个小 IC 芯片)会检测电路并对其进行处理,以解码按下了哪个键,然后发送扫描码到主板。操作系统从 BIOS 接收扫描码,然后执行处理该按键所需的任何操作。

对于大多数按键来说,这都很简单。如果您按下按键A,其键盘控制器会将扫描码发送到主板,然后主板会将其传递给操作系统,操作系统通常会打印“A”。(如果操作系统检测到当前按下了其中一个修饰键,则可能会执行不同的操作。事实上,您可以将其配置为在A按下按键时执行任何您想要的操作,无论是否使用修饰键。)

现在这个Fn键很特殊。当你单独按下它时,什么也不会发生,因为它修饰键,通常不打算单独执行任何操作。当您按住它并按下另一个键时,键盘控制器会检测到该情况并在其内置表中查找它是否是已知组合。如果组合不在表中,则它会忽略它,但如果组合在表中,则它会查找关联的扫描码并发送该扫描码。

操作系统最终会看到什么?确实如此不是它会查看该键的扫描码Fn和另一个键的扫描码。相反,它会看到与 Fn 组合键所设置的任何功能相关联的单个扫描码。例如,如果笔记本电脑制造商已将Fn+Down Arrow组合键设置为降低音量,则操作系统会看到与 相关联的扫描码Volume Down,而有些键盘实际上有 。

应用

那么,这如何解释为什么按住Fn笔记本电脑并按下外接键盘上的某个键不起作用呢?很简单,因为笔记本电脑和外接键盘都有各自的控制器。就笔记本电脑中的控制器而言,您按下并释放了该Fn键;就外接键盘中的控制器而言,您按下并释放了另一个键。操作系统看到了什么?它看到您只按下了另一个键,没有任何修饰符。

示范

通过一个简单的测试,你可以看到Fn按键处理很特别。将两个外接键盘插入笔记本电脑(这样你就有了三个键盘)。按住Ctrl一个键盘上的键,Shift另一个键盘上的键,然后按下Escape第三个键盘上的键。Windows 任务管理器应该会弹出。为什么?因为 Windows 收到了所有三个键的扫描码,三个键盘的控制器各一个。(这是一个 Windows 示例,但以这种方式按下组合键在其他操作系统中应该也可以正常工作。例如,即使在 DOS 中,你也可以通过按不同键盘上的Ctrl+ Alt+来重新启动系统Delete。)

笔记

注意:关于如何特殊处理以及由此产生的使用限制的信息Fn只是基于常见实现的一般信息。没有什么可以阻止笔记本电脑制造商决定以不同的方式实现它并允许用户将键重新映射到其他功能,Fn通过某些特定和弦在外部键盘上提供模拟键等。事实上,甚至没有键的官方标准Fn;大多数制造商只是使用其他制造商使用的相同实现,因为它更便宜,而改变用户习惯通常不是好事。

答案2

Fn按键组合通常会导致键盘接口发出不同的信号。由于Fn操作系统不会解释按键,因此很可能没有简单的方法将其与其他键盘上的按键一起使用并获得相同的结果,因为键盘接口不会监听其他键盘。

答案3

我想说因为转移CtrlAlt在所有计算机上的操作相同。这些是标准键。

Fn 功能特定于笔记本电脑 - 有些功能需要笔记本电脑上的某些驱动程序才能正常运行,因此笔记本电脑可能需要监听 Fn 功能和笔记本电脑箭头键来执行操作,而不是像外部键盘那样只将其视为正常的“向上和向下”键,而不管 Fn 键如何。

答案4

我认为(我自己还没有尝试过)外接键盘不包含笔记本电脑键盘所包含的编程。我猜如果你可以使用笔记本电脑键盘上的 FN 键,那么你也可以使用笔记本电脑键盘上的向上/向下键,只要在插入外接键盘的情况下使用它们即可。

相关内容