Criar "teclas falsas" que o computador interpreta como real?

20

Explicação

Tudo bem, então esta é uma fotografia do layout geral de um teclado.

O que eu quero saber é: É possível emular teclas extras em um teclado que não sejam as teclas padrão? Por exemplo, eu poderia induzir meu computador a pensar que meu teclado também possui três teclas extras denominadas FK1, FK2 e FK3.

Essas três teclas extras não seriam letras, como Início, Inserir, Paginar, etc.
Basicamente, elas não fariam nada, a menos que fossem designadas para fazer alguma coisa. Por exemplo, se eu definir uma tecla de atalho em um programa para usar o FK1 , ela será registrada.

Por quê?

Estou feliz que você perguntou. Eu jogo muito um jogo chamado ArmA 3 , e aqueles que estão familiarizados com o jogo sabem que ele usa quase todas as teclas do teclado.
Para me comunicar com meus companheiros neste jogo, eu uso o TeamSpeak. Eu tenho uma mesa de som para o teamspeak e quero poder ativar sons diferentes usando teclas de atalho em vez de pressionar a tecla Alt e clicar em tab, mas praticamente não há teclas livres no ArmA com todos os mods que eu uso.

Mesmo se você pudesse criar essas "teclas falsas", como as usaria no jogo se elas não estiverem em um teclado real?

Excelente pergunta .
Meu teclado é um Logitech G910 Orion Spark, que possui 27 macros. Suponho que posso definir cada uma dessas macros para chamar os botões falsos do teclado durante o uso.

Provavelmente isso é extremamente confuso para ler, mas eu fiz o meu melhor.

Windows 10 Pro (x64)

Josh Silveous
fonte
11
Este é um dilema interessante ...
wogsland
posso sugerir a compra de um teclado com teclas personalizadas, você pode obtê-los. exemplo; amazon.co.uk/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Robert Pounder
11
As imagens que você incluiu NÃO são de um teclado padrão dos EUA. Não acredito que você entendeu a parte mais básica desse ERRADO. O teclado padrão é o teclado compatível com IBM-PC - basicamente um teclado de mesa de tamanho completo com duas teclas WINDOWS. Você descreveu um teclado proprietário da Apple aqui. Esse não é o teclado padrão. Você deve consertar isso; sua pergunta não faz absolutamente nenhum sentido agora, pois você perguntou sobre teclados padrão e incluiu diagramas de teclados não padrão. Você vai ser melhor para remover essas imagens se você está realmente perguntando sobre teclados padrão
interligados

Respostas:

15

Quando você pressiona uma tecla do teclado, o hardware gera um 'código de digitalização', que o software interpreta como uma determinada tecla pressionada.

Reatribuição de chaves

O KeyTweak permite reatribuir o pressionamento de tecla que o Windows interpreta de cada código de verificação adicionando entradas apropriadas do Registro.

Infelizmente, não permite adicionar chaves falsas adicionais. O mais próximo possível é permitir a reatribuição das teclas de controle de mídia / web que alguns teclados possuem. Também não permite atribuir códigos de teclas que o teclado normalmente não usa. Portanto, se você possui um teclado americano, não permite atribuir Ó ou £. Portanto, você ainda estaria limitado a usar as letras-chave normais, que diz ter esgotado.

Fingindo

O AutoHotkey permite que códigos de verificação e símbolos incomuns sejam gerados por scripts.

Esse script gera £ sempre que o Win + p é pressionado (peguei o símbolo na internet e colei no editor de texto que estava usando para criar o script):

#p::
send, £

Dependendo do seu jogo, você poderá usar um script como este para obter £ como uma chave no seu jogo. Mas, se o jogo estiver aguardando a geração de códigos de verificação do teclado, isso não funcionará. Depende de como o jogo interage com o hardware.

Felizmente, o AutoHotkey também pode gerar códigos de verificação do teclado. Este script irá gerar um espaço quando Win + p for pressionado, porque o código de verificação 39 (hex) é o espaço (consulte Lista de códigos de verificação ).

#p::
send, {sc39}

AutoHotkey também possui outro método para gerar chaves virtuais. Eu não pesquisei a diferença, mas esse script irá gerar espaço usando uma tecla virtual ao pressionar win + p:

#p::
send, {vk20}

Esta referência lista todos os códigos de chave virtual, incluindo muitas chaves não padrão que você ainda não usou: https://autohotkey.com/board/topic/98757-how-to-create-a-new-virtual- chaves/

Você pode tentar criar um script que envie uma chave virtual não padrão ao seu jogo. Se o jogo o registrar e permitir que você salve na página de configuração do teclado, é provável que você faça isso funcionar.

A última peça do quebra-cabeça é fazer com que as macros da Logitech chamem o script AutoHotkey que gera a chave virtual. Você criaria um script AutoHotkey sem uma tecla de atalho, para que seja acionado imediatamente quando executado - como

send, {vk7B}

ou

send, £

Associe os arquivos * .ahk ao programa Autohotkey e obtenha a macro Logitech para abrir o script salvo.

Nota: Eu não testei isso em nenhum jogo. Provavelmente terá resultados diferentes em jogos diferentes - dependendo do que eles aceitarem como entradas válidas. No link Chaves Virtuais acima, as pessoas estão discutindo sobre fazer exatamente o que você deseja fazer e parecem ter tido algum sucesso com o uso das teclas F13-F24, então talvez tente primeiro.

vk7B    sc58    F12
vk7C    sc64    F13
vk7D    sc65    F14
vk7E    sc66    F15
vk7F    sc67    F16
vk80    sc68    F17
vk81    sc69    F18
vk82    sc6A    F19
vk83    sc6B    F20
vk84    sc6C    F21
vk85    sc6D    F22
vk86    sc6E    F23
vk87    sc76    F24

EDIT: Conforme solicitado nos comentários; um script simples para criar o F13 pode parecer com:

b::
send, {vk7C}

Toda vez que você pressionar 'b' enquanto esse script estiver ativo (na bandeja próximo ao relógio), F13 será enviado. Este script permanecerá ativo e será executado toda vez que você pressionar 'b' até matá-lo. Depois que o jogo registrar F13 na configuração da chave, mate esse script e faça um como este para a Logitech chamar:

send, {vk7C}

Este não permanecerá ativo, será executado uma vez e depois terminará, toda vez que for chamado.

Sir Adelaide
fonte
Parece exatamente o que eu preciso. No entanto, estou completamente perdido no programa. Eu criei um arquivo .AHK. A primeira linha diz #p :: e a segunda diz enviar: £ Isso deve funcionar, certo? Ou estou perdendo algo completamente. Se possível, você poderia fornecer um script de amostra? Algo como um script que informa ao computador toda vez que o WIN-F1 é pressionado para registrar como F13 seria suficiente para eu criar. Graças a tonelada :)
Josh Silveous
A ajuda do AutoHotKey (AutoHotkey.chm na pasta do programa) é muito boa. A entrada na função Enviar e a entrada HotKey são boas leituras. Também atualizarei a resposta para incluir win-F1 -> F13.
Sir Adelaide
Se o KeyTweak não permitir novas chaves, mas permitir que você as mova, você poderá obter uma chave virtual adicional pegando o layout do Reino Unido e movendo as teclas para corresponder ao layout dos EUA?
user1937198
No entanto, existem teclas que não aparecem na maioria dos teclados, como o F24 , usado por Tom Scott em seu teclado emoji e Taran, da Linus Tech Tips, por suas macros de edição de vídeo.
TRiG
1

Desculpas pela resposta tardia. Eu precisava acessar as teclas de função após a F12, algo que os fabricantes atuais de teclados não parecem dar conta, mas é fácil o bastante com o AutoHotkey. Usei isso para adicionar essas teclas como macros ao mouse, o que não suporta a adição de chaves arbitrárias.

z::
send, {F13}
return

x::
send, {F14}
return

c::
send, {F15}
return

v::
send, {F16}
return

b::
send, {F17}
return

n::
send, {F18}
return

m::
send, {F19}
return

l::
send, {F20}
return

k::
send, {F21}
return

j::
send, {F22}
return

h::
send, {F23}
return

g::
send, {F24}
return
blha303
fonte