Remapear o FN para outra chave

14

Eu tenho um teclado ( Logitech Wave , na foto abaixo) com o qual estou muito feliz. Infelizmente, o fabricante alterou o botão para clicar com o botão direito do mouse em uma chave FN.

Existe algum programa para remapear a tecla FN para outra coisa?

texto alternativo

MrValdez
fonte
Você recomendaria comprar um desses? Eu preciso de um teclado novo e não pode decidir ...: p
Svish
2
É um teclado bonito, mas OMG! Tu não Mangle The Home Key Cluster: codinghorror.com/blog/archives/001221.html
Igal Tabachnik
@Svish, exceto a tecla FN e as teclas de função, é perfeito. Além disso, devo mencionar que o teclado é enorme, o que não é um problema para mim, mas pode ser um problema para você.
21413 MrValdez
@hmemcpy Concordo plenamente com esse post. mas eu realmente amo o design do teclado. É confortável digitar e, na maioria das vezes, deixo meu dedo em cima das teclas, o que (acredite ou não) relaxa meus dedos. Eu realmente gostaria que eles não destruíssem o layout do teclado.
MrValdez 15/07/2009
1
@ Synetech: Eu tenho agora, na verdade, hehe. E devo dizer que, com exceção da tecla Fn (mas não é realmente um problema), eu adoro isso. Quanto ao bloco vertical de edição / navegação, eu me sinto gostando muito melhor do que o normal. Nunca pensei que diria isso, mas sim :) Início e fim estão próximos um do outro, o que faz sentido, a página para cima e a página para baixo são como deveriam ser e a tecla Delete é fácil de pressionar. E tenho que dizer que eu uso muito mais do que inserir. Realmente não posso pensar de cada vez usando a chave de inserção, que não seja por acidente ... e encontrá-lo chato ...
Svish

Respostas:

6

SHIFT+ F10.

O atalho de teclado com o botão direito do mouse é pressionado SHIFTe pressione F10. Esta é uma alternativa caso o botão right-click/ context menunão esteja disponível.

ild conduto
fonte
5

A tecla Fn pode ser remapeada ou desativada?

Digitando remapeamento de combinações de Fn por meio de um programa como o AutoHotKey ou digitando códigos de teclado para Windows, pode-se remapear as combinações de teclas ofensivas (Fn + Key). (veja mais abaixo esta resposta).

Como a tecla Fn geralmente está no nível do hardware, não seria possível editar ou desabilitar isso nesse nível.

[Fn] Normalmente, é uma chave de hardware que não gera um código separado.

Fonte: valores de código de evento do teclado de eventos da interface do usuário - recomendação de candidato do W3C, 2017


Em uma chave semelhante, o F-Lock, Jason Tsang, MVP da Microsoft, diz o seguinte:

A tecla F Lock é uma chave de hardware no teclado. Seu estado não pode ser controlado programaticamente. Sua condição padrão é "off". Como resultado, sempre que o teclado for redefinido ou perder energia, a tecla F Lock estará sempre no estado "desligado". Observe que, com os teclados da Microsoft lançados após setembro de 2004, o teclado manterá o status F Lock durante uma reinicialização.

Fonte: Teclados Microsoft - Tecla de bloqueio F


O que é a tecla Fn? Mais alguns detalhes:

Fn não é uma tecla normal do teclado, como os modificadores Ctrl, Shift e AltGr. Para uma tecla modificadora padrão, o microcontrolador dentro do teclado envia um scancode para o próprio modificador, que é então interpretado pelo sistema operacional e combinado com outras pressionamentos de tecla simultâneos. A tecla Fn é uma forma de tecla meta-modificadora, na medida em que faz com que o sistema operacional veja códigos de alteração alterados quando outras teclas do teclado são pressionadas. Isso permite que o teclado emule diretamente um teclado de tamanho normal, para que o sistema operacional possa usar mapas de teclas padrão projetados para um teclado de tamanho normal. No entanto, como o sistema operacional não tem noção da tecla Fn, ela normalmente não pode ser remapeada no software, diferente de todas as outras teclas de teclado padrão.

Fontes - A) postagem no fórum highrez provavelmente com base em B) postagem na wikipedia


Por que é frequentemente impossível mapear a tecla Fn?

De fato, o teclado funciona da seguinte maneira (valores são apenas exemplos, o comportamento é simplificado):

  • Chaves normais: enviar byte 0x00 + byte do código de verificação de teclas
  • Modificadores (alt / opção, controle, windows / command e fn): envia o modificador scancode byte + código de verificação de tecla byte
  • Teclas especiais (como as do G15): envie scancodes padrão (como as teclas de volume) ou personalizados (dependendo do fabricante)

A maioria dos teclados "fn" (incluindo a Apple) apenas processa a combinação de teclas antes de enviar dados; portanto, pressionar e soltar a tecla fn não fará nada. Por exemplo:

  • Pressionar F1 -> Scancode 0x1A -> sistema operacional reconhece como tecla F1
  • Pressionar FN e F1 -> Scancode 0x9A -> sistema operacional reconhece como tecla VolumeUp
  • Pressionar FN -> microcontrolador de teclado aguarda outra tecla antes de enviar qualquer dado

Fonte: Fórum AutoHotKey


Um pôster no AutoHotKey inicia com perguntas retóricas

I don't get any response when I press the Fn key.

A tecla fn não deve enviar nenhum sinal. O que ele faz é alterar o sinal enviado quando você pressiona outra tecla ...

Portanto, o verdadeiro problema da tecla Fn é que ela simplesmente não existe no sistema operacional, portanto você não pode "remapear" de verdade no sistema operacional. Tudo o que você pode fazer é remapear a função secundária de alguma tecla, remapeando uma tecla para enviar o sinal único modificado por fn ...

Então, basicamente, automatizar a tecla fn não é viável. No entanto, automatizar seu resultado final não é problema! ...

Portanto, infelizmente, nenhuma automação será possível no nível do sistema operacional: você teria que descer para o nível de hardware / driver e isso não é possível através do AutoHotKey.

Fonte: AutoHotKeyForum Post


Algumas pessoas tiveram sucesso em re-mapear as funções Fn via Autohotkey e outras tiveram sucesso ao ver a tecla Fn.

... você ainda poderá torná-lo uma tecla de atalho usando as seguintes etapas:

  • Verifique se pelo menos um script está em execução e está usando o gancho do teclado. Você pode saber se um script possui o gancho do teclado, abrindo sua janela principal e selecionando "Exibir-> Histórico de teclas" na barra de menus.
  • Clique duas vezes no ícone da bandeja desse script para abrir sua janela principal.
  • Pressione uma das "teclas misteriosas" do seu teclado.
  • Selecione o item de menu "Exibir-> Histórico de chaves" Role até a parte inferior da página.
  • Em algum lugar próximo à parte inferior estão os eventos key-down e key-up da sua chave.
  • NOTA: Algumas chaves não geram eventos e, portanto, não serão visíveis aqui. Se esse for o caso, você não poderá transformar diretamente essa
    tecla específica em uma tecla de atalho, porque o driver ou o hardware do teclado lida com um nível muito baixo para o AutoHotkey acessar. Para possíveis soluções, veja
    mais abaixo. Se sua chave for detectável, anote o
    valor hexadecimal de 3 dígitos na segunda coluna da lista (por exemplo, 159). Para
    definir essa chave como uma tecla de atalho, siga este exemplo:
SC159:: ; Replace 159 with your key's value.
MsgBox, %A_ThisHotkey% was pressed.
return

Direção reversa: para remapear outra chave para se tornar uma "chave misteriosa", siga este exemplo:

; Replace 159 with the value discovered above. Replace FF (if needed) with the
; key's virtual key, which can be discovered in the first column of the Key History screen.
#c::Send {vkFFsc159} ; See Send {vkXXscYYY} for more details.

Fonte: autohotkey.com/docs/KeyList.htm


Usando AutoHotKey para Remapping Via DLL

O AutoHotkey é um utilitário de criação de macro de código aberto para Windows, e um de seus muitos recursos é a criação de teclas de atalho. Micha, um dos membros dos fóruns do AHK, criou um arquivo DLL para adicionar suporte ao AHK for Human Interface Devices. Usando este arquivo DLL, é possível ler chaves de praticamente todos os HID; teclados, mouses, controles remotos etc.

Aqui está o que o criador do processo DLL diz em um artigo antigo:

Primeiro, algumas informações sobre o funcionamento do teclado e da tecla Fn em particular. Cada tecla possui seu próprio código exclusivo, um código de verificação, pelo qual o computador ao qual está conectado pode descobrir se uma certa tecla é pressionada e quando é liberada. A tecla Fn funciona um pouco diferente. Quando você mantém pressionada a tecla Fn, ela altera os códigos de varredura de (algumas das) outras teclas do teclado, para que uma única tecla possa enviar códigos de varredura diferentes de volta ao computador, cada um conectado a uma função diferente. É por isso que a tecla Fn é frequentemente usada em notebooks, teclados menores ou teclados com muitas teclas multimídia. Dessa forma, você pode adicionar muitas funções a uma quantidade relativamente pequena de chaves.

O problema é que a tecla Fn geralmente não possui seu próprio código de verificação. Dependendo do teclado e do computador ao qual está conectado, é possível que a tecla Fn não modifique os códigos de verificação das outras teclas e, portanto, não funcione. Como ele também não envia um código de verificação próprio, não há como o computador saber que existe uma tecla Fn, muito menos o que fazer quando pressionada em combinação com outra tecla. As ferramentas de remapeamento também não podem ajudá-lo, porque também são baseadas no uso de códigos de verificação.

Exemplo de registro do valor da chave Fn com base nas instruções:

Quando estiver em execução, pressione a tecla Fn ou outra tecla especial e anote o valor correspondente.

; Filter bit 5 (Fn key) Transform, FnValue, BitAnd, 16, KeyStatus

Código de exemplo para remapear a função Fn

;
; Fn + Backspace = Delete
;
$Backspace::hotkeyBS()

hotkeyBS() {
global fnPressed
if (fnPressed = 1) {
Send {Delete}
} else {
Send {Backspace}
}
}
Return

Fonte: Siga as instruções completas aqui


SharpKeys

Faça o download aqui ; há um artigo aqui .

SharpKeys é um utilitário que gerencia uma chave do Registro que permite ao Windows remapear uma chave para qualquer outra chave. Incluída no aplicativo, há uma lista de teclas comuns do teclado e um recurso de tecla de tipo para reconhecer automaticamente a maioria das teclas do teclado. Foi desenvolvido originalmente em C # usando o .NET v2, mas foi atualizado para oferecer suporte ao .NET 4.0 Client Profile.

Também KeyTweak

KeyTweak é um utilitário simples que permite aos usuários redefinir os sinais de entrada do teclado. A funcionalidade é possibilitada por um valor do registro documentado primeiro no Windows 2000, mas também presente no Windows NT 4.0. e incluído no XP, Vista e Windows 7. Esta seção lista alguns dos recursos do KeyTweak e os motivos pelos quais você pode usar o KeyTweak.

Arquivo: Manual e Instalador Aqui


Outra informação:


Documentação e Links da Microsoft

Links originalmente de SU Answer


O que o Modo Chave de Ação via Bios faz?

Essa configuração altera o comportamento padrão dos botões superiores no teclado do laptop. O que isso significa?

Se “Modo das teclas de ação” estiver definido como “Ativado”, para usar recursos adicionais que são exibidos como ícones na linha superior do teclado, não é necessário pressionar a tecla Fn. Ele precisa ser fixado para que os botões superiores funcionem como F1..F12.

No caso em que “Modo de Teclas de Ação” estiver na posição “Desativado”, como geralmente é o padrão, os botões superiores funcionarão como F1 ... F12 padrão e, para usar suas funções avançadas, representadas como ícones, é necessário prenda adicionalmente Fn.

Fonte: Tradução do artigo russo HelpAdmins.ru


Leitura adicional

Debaixo de uma árvore
fonte