Resumo
Como outros indicaram, a Fnchave é um caso especial tratado internamente. Vou fornecer a explicação técnica.
Detalhes técnicos
Quando você pressiona uma tecla do teclado, o controlador do teclado (um pequeno chip de IC dentro do teclado) detecta o circuito elétrico e o processa para decodificar qual tecla foi pressionada e depois envia o scancode para a placa-mãe. O sistema operacional recebe o scancode do BIOS e, em seguida, executa qualquer ação necessária para processar o pressionamento de tecla.
Com a maioria das chaves, isso é bastante simples. Se você pressionar a Atecla, o controlador do teclado envia o scancode para a placa-mãe, que passa para o sistema operacional que, por sua vez, geralmente imprime 'A'. (Se o sistema operacional detectar que uma das teclas modificadoras está pressionada no momento, poderá fazer algo diferente. Na verdade, você pode configurá-lo para fazer o que quiser quando a Atecla for pressionada com ou sem modificadores.)
Agora a Fnchave é especial. Quando você o pressiona por si só, nada acontece porque é exclusivamente uma tecla modificadora e não se destina (geralmente) a fazer algo por si próprio. Quando você o pressiona e pressiona outra tecla, o controlador do teclado detecta isso e olha em sua tabela interna para ver se é uma combinação conhecida. Se o combo não estiver na tabela, ele será ignorado, mas se o combo estiver na tabela, ele pesquisará o scancode associado e o enviará.
O que o sistema operacional acaba vendo? Ele não vê o scancode da Fnchave e o scancode da outra chave. Em vez disso, ele vê um único scancode associado a qualquer função que o Fn-combo tenha sido definido. Por exemplo, se o fabricante do laptop configurou o Fn+ Down Arrowcombo para reduzir o volume, o sistema operacional verá o scancode associado ao Volume Down, que alguns teclados realmente possuem.
Inscrição
Então, como isso explica por que segurar Fno laptop e pressionar uma tecla em um teclado externo não funciona? Simples, porque o teclado do laptop e o externo possuem controladores próprios. Tanto quanto o controlador no laptop vê, você pressionou e soltou a Fntecla e, tanto quanto o controlador no externo vê, você pressionou e soltou a outra tecla. O que o sistema operacional vê? Parece que você só pressionou a outra tecla sem nenhum modificador.
Demonstração
Você pode ver que o Fnmanuseio de chaves é especial com um teste simples. Conecte dois teclados externos a um laptop (fornecendo três teclados). Mantenha a Ctrltecla em um teclado, a Shifttecla em outro e, em seguida, pressione a Escapetecla no terceiro. O Gerenciador de tarefas do Windows deve aparecer. Por quê? Como o Windows recebeu os scancodes para todas as três teclas, uma de cada um dos controladores dos três teclados. (Este foi um exemplo do Windows, mas pressionar as combinações de teclas dessa maneira deve funcionar da mesma maneira em outros sistemas operacionais. Por exemplo, mesmo no DOS, você pode reiniciar o sistema pressionando Ctrl+ Alt+ Deleteem teclados diferentes.)
Nota
Nota: as informações sobre como o Fnprocesso é especialmente processado e as limitações resultantes em seu uso são apenas gerais, baseadas em implementações comuns. Não há nada que impeça um fabricante de laptop de decidir implementá-lo de maneira diferente e permita que o usuário remapeie a chave para alguma outra função, forneça uma Fntecla emulada em teclados externos por meio de algum acorde específico, etc. De fato, não existe um padrão oficial para a Fnchave; a maioria dos fabricantes apenas usa a mesma implementação que outros usaram, porque é mais barato e mudar o que os usuários estão acostumados geralmente não é bom.
Eu acho (ainda não tentei) que o teclado externo não contém a programação que o teclado do laptop. Suponho que se você tiver acesso à tecla FN no teclado do laptop, também terá acesso às teclas para cima / para baixo no teclado do laptop, use-as se funcionar com o teclado externo conectado.
fonte