Créer des «fausses clés» que l'ordinateur interprète comme réelles?

20

Explication

D'accord, voici donc une photographie de la disposition générale d'un clavier.

Ce que je me demande, c'est: est-il possible d'émuler des touches supplémentaires sur un clavier autre que les touches standard? Par exemple, je pourrais faire croire à mon ordinateur que mon clavier possède également 3 touches supplémentaires intitulées FK1, FK2 et FK3.

Ces trois touches supplémentaires ne seraient pas des lettres, comme Accueil, Insertion, Page précédente, etc.
Fondamentalement, elles ne feraient rien, sauf si elles étaient affectées à quelque chose. Par exemple, si je définis un raccourci clavier dans un programme pour utiliser FK1 , il l'enregistrera.

Pourquoi?

Je suis content que vous ayez demandé. Je joue beaucoup à un jeu appelé ArmA 3 , et ceux d'entre vous qui connaissent le jeu savent qu'il utilise à peu près toutes les touches du clavier.
Pour communiquer avec mes amis dans ce jeu, j'utilise TeamSpeak. J'ai une table d'harmonie pour teamspeak, et je veux pouvoir activer différents sons en utilisant des raccourcis clavier au lieu de taper et de cliquer sur alt, mais il n'y a pratiquement pas de touches libres dans ArmA avec tous les mods que j'utilise.

Même si vous pouviez créer ces "fausses clés", comment les utiliseriez-vous en jeu si elles ne sont pas sur un vrai clavier?

Excellente question .
Mon clavier est un Logitech G910 Orion Spark, qui contient 27 macros. Je suppose que je peux définir chacune de ces macros pour appeler les faux boutons du clavier pendant l'utilisation.

C'est probablement extrêmement déroutant à lire, mais j'ai fait de mon mieux.

Windows 10 Pro (x64)

Josh Silveous
la source
1
C'est une énigme intéressante ...
Wogsland
puis-je vous suggérer d'acheter un clavier avec des touches personnalisées, vous pouvez les obtenir. exemple; amazon.fr/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Robert Pounder
1
Les images que vous avez incluses NE SONT PAS d'un clavier américain standard. Je ne peux pas croire que vous ayez la partie la plus fondamentale de ce FAUX. Le clavier standard est le clavier compatible IBM-PC - essentiellement un clavier de bureau pleine taille avec deux touches WINDOWS. Vous avez représenté un clavier propriétaire Apple ici. Ce n'est PAS le clavier standard. Vous devez résoudre ce problème; votre question n'a absolument aucun sens en ce moment puisque vous avez posé des questions sur les claviers standard, puis inclus des diagrammes de claviers non standard. Vous feriez mieux de supprimer ces images si vous posez effectivement des questions sur les claviers standard
InterLinked

Réponses:

15

Lorsque vous appuyez sur une touche de votre clavier, le matériel génère un «code de numérisation», que le logiciel interprète alors comme une certaine pression sur une touche.

Réattribution des clés

KeyTweak vous permet de réaffecter la pression de touche que Windows interprète à partir de chaque code de numérisation en ajoutant les entrées de registre appropriées.

Malheureusement, cela ne vous permet pas d'ajouter de fausses clés supplémentaires. Le plus proche possible est de permettre la réaffectation des clés de contrôle multimédia / Web que certains claviers possèdent. Il ne vous permet pas non plus d'attribuer des codes clés que votre clavier n'utilise pas normalement. Donc, si vous avez un clavier américain, il ne vous permettra pas d'attribuer Ó ou £. Donc, vous seriez toujours limité à utiliser les lettres-clés normales, que vous dites avoir épuisées.

Semblant

AutoHotkey permet aux codes de numérisation et aux symboles inhabituels d'être générés par des scripts.

Ce script génère £ chaque fois que vous appuyez sur Win + p (j'ai récupéré le symbole sur Internet et l'ai collé dans l'éditeur de texte que j'utilisais pour créer le script):

#p::
send, £

Selon votre jeu, vous pourrez peut-être utiliser un script comme celui-ci pour obtenir £ comme clé dans votre jeu. Mais, si le jeu attend la génération de codes de numérisation de clavier réels, cela ne fonctionnera pas. Cela dépend de la façon dont le jeu interagit avec le matériel.

Heureusement, AutoHotkey peut également générer des codes de numérisation au clavier. Ce script générera un espace lorsque vous appuyez sur Win + p, car le code de numérisation 39 (hex) est un espace (voir Liste des codes de numérisation ).

#p::
send, {sc39}

AutoHotkey a également une autre méthode pour générer des clés virtuelles. Je n'ai pas recherché la différence, mais ce script générera de l'espace en utilisant une clé virtuelle lorsque vous appuyez sur win + p:

#p::
send, {vk20}

Cette référence répertorie tous les codes de clé virtuelle, y compris de nombreuses clés non standard que vous n'avez pas encore utilisées: https://autohotkey.com/board/topic/98757-how-to-create-a-new-virtual- clés/

Vous pouvez essayer de créer un script qui envoie une clé virtuelle non standard à votre jeu. Si le jeu l'enregistre et vous permet de l'enregistrer dans sa page de configuration du clavier, vous allez probablement le faire fonctionner.

La dernière pièce du puzzle consiste à obtenir les macros Logitech pour appeler le script AutoHotkey qui génère la clé virtuelle. Vous créez un script AutoHotkey sans raccourci clavier, il se déclenche donc immédiatement lors de son exécution, comme

send, {vk7B}

ou

send, £

Associez des fichiers * .ahk au programme Autohotkey, puis récupérez la macro Logitech pour ouvrir le script enregistré.

Remarque: je n'ai testé cela dans aucun jeu. Il y aura probablement des résultats différents dans différents jeux - en fonction de ce qu'ils acceptent comme entrées valides. Dans le lien Virtual Keys ci-dessus, les gens discutent de faire presque exactement ce que vous voulez faire et semblent avoir réussi à utiliser les touches F13-F24, alors essayez-les d'abord.

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: comme demandé dans les commentaires; un script simple pour créer F13 pourrait ressembler à:

b::
send, {vk7C}

Chaque fois que vous appuyez sur «b» alors que ce script est actif (dans votre bac près de l'horloge), F13 sera envoyé. Ce script restera actif et s'exécutera chaque fois que vous appuyez sur «b» jusqu'à ce que vous le tuiez. Une fois que le jeu enregistre F13 dans la configuration des clés, tuez ce script et créez-en un comme celui-ci pour que Logitech l'appelle:

send, {vk7C}

Celui-ci ne restera pas actif, il s'exécutera une fois puis se terminera, chaque fois qu'il sera appelé.

Sir Adelaide
la source
Cela ressemble exactement à ce dont j'ai besoin. Cependant, je suis complètement perdu dans le programme. J'ai créé un fichier .AHK. La première ligne indique #p :: et la seconde indique envoyer, £ Cela devrait fonctionner, non? Ou est-ce que je manque complètement quelque chose. Si possible, pourriez-vous fournir un exemple de script? Quelque chose comme un script qui dit à l'ordinateur chaque fois que WIN-F1 est pressé pour s'enregistrer comme F13 à la place serait suffisant pour moi de construire. Merci beaucoup :)
Josh Silveous
L'aide d'AutoHotKey (AutoHotkey.chm dans le dossier du programme) est plutôt bonne. L'entrée de la fonction d'envoi et l'entrée de raccourci sont toutes deux de bonnes lectures. Je mettrai également à jour la réponse pour inclure win-F1 -> F13.
Sir Adelaide
Si KeyTweak n'autorise pas les nouvelles clés mais vous permet de les déplacer, pourriez-vous obtenir 1 clé virtuelle supplémentaire en prenant la disposition britannique et en déplaçant les clés pour qu'elles correspondent à la disposition américaine?
user1937198
Cependant, il existe des touches qui n'apparaissent pas sur la plupart des claviers, tels que F24 , tels qu'utilisés par Tom Scott pour son clavier emoji et par Taran de Linus Tech Tips pour ses macros d'éditeur vidéo.
TRiG
1

Toutes mes excuses pour la réponse tardive. J'avais besoin d'accéder aux touches de fonction après F12, ce que les fabricants de claviers actuels ne semblent pas prendre en compte, mais assez facile avec AutoHotkey. Je l'ai utilisé pour ajouter ces touches en tant que macros à ma souris, ce qui ne prend pas en charge l'ajout de clés arbitraires sinon.

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
la source