Creare "chiavi false" che il computer interpreta come reali?


20

Spiegazione

Bene, questa è una fotografia del layout generale di una tastiera.

Quello che mi chiedo è: è possibile emulare tasti extra su una tastiera diversa dai tasti standard? Ad esempio, potrei indurre il mio computer a pensare che la mia tastiera abbia anche 3 tasti extra etichettati FK1, FK2 e FK3.

Queste tre chiavi extra non sarebbero chiavi di lettere, come Home, Inserisci, Pagina su, ecc.
Fondamentalmente non farebbero nulla, a meno che non vengano assegnate per fare qualcosa. Ad esempio, se ho impostato un tasto di scelta rapida in un programma per utilizzare FK1 , lo registrerebbe.

Perché?

Sono contento che tu l'abbia chiesto. Gioco molto ad ArmA 3 e quelli di voi che hanno familiarità con il gioco sanno che utilizza quasi tutti i tasti della tastiera.
Per comunicare con i miei compagni in questo gioco uso TeamSpeak. Ho una tavola armonica per teamspeak e voglio essere in grado di attivare diversi suoni usando i tasti di scelta rapida anziché i tasti di scelta rapida e il clic, ma praticamente non sono rimasti tasti liberi in ArmA con tutte le mod che uso.

Anche se potessi creare queste "chiavi false", come le useresti nel gioco se non fossero su una tastiera reale?

Ottima domanda .
La mia tastiera è un Logitech G910 Orion Spark, con 27 macro. Suppongo di poter impostare ognuna di queste macro per chiamare i pulsanti della tastiera falsi durante l'uso.

Questo è probabilmente estremamente confuso da leggere, ma ho fatto del mio meglio.

Windows 10 Pro (x64)


1
Questo è un enigma interessante ...
wogsland

potrei suggerire di acquistare una tastiera con tasti personalizzati, puoi ottenerli. esempio; amazon.co.uk/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Robert Pounder

1
Le immagini che hai incluso NON sono di una tastiera americana standard. Non riesco a credere che tu abbia ottenuto la parte più basilare di questo SBAGLIATO. La tastiera standard è la tastiera compatibile IBM-PC, sostanzialmente una tastiera desktop full size con due tasti WINDOWS. Qui hai rappresentato una tastiera proprietaria di Apple. Questa NON è la tastiera standard. Dovresti risolvere questo; la tua domanda non ha assolutamente senso in questo momento da quando hai fatto domande sulle tastiere standard, quindi hai incluso diagrammi di tastiere non standard. Farai meglio a rimuovere quelle immagini se stai davvero chiedendo delle tastiere standard
InterLinked

Risposte:


15

Quando si preme un tasto sulla tastiera, l'hardware genera un "codice di scansione", che il software interpreta quindi come un determinato tasto premuto.

Riassegnazione chiave

KeyTweak consente di riassegnare la pressione del tasto che Windows interpreta da ciascun codice di scansione aggiungendo le voci di registro appropriate.

Sfortunatamente, non ti consente di aggiungere ulteriori chiavi false. Il risultato più vicino è consentire la riassegnazione dei tasti di controllo media / web di alcune tastiere. Inoltre, non consente di assegnare codici chiave che la tastiera non utilizza normalmente. Quindi, se hai una tastiera americana, non ti permetterà di assegnare Ó o £. Quindi ti limiteresti ad usare le normali lettere chiave, che dici di aver esaurito.

Fingendolo

AutoHotkey consente agli script di generare codici di scansione e simboli insoliti.

Questo script genera £ ogni volta che si preme Win + p (ho rimosso il simbolo da Internet e l'ho incollato nell'editor di testo che stavo usando per creare lo script):

#p::
send, £

A seconda del tuo gioco, potresti essere in grado di utilizzare uno script come questo per ottenere £ come chiave nel tuo gioco. Ma, se il gioco è in attesa di generare codici di scansione della tastiera reali, questo non funzionerà. Dipende da come il gioco interagisce con l'hardware.

Fortunatamente, AutoHotkey può anche generare codici di scansione della tastiera. Questo script genererà uno spazio quando si preme Win + p, poiché il codice di scansione 39 (esadecimale) è spazio (vedere Elenco dei codici di scansione ).

#p::
send, {sc39}

AutoHotkey ha anche un altro metodo per generare chiavi virtuali. Non ho studiato la differenza, ma questo script genererà spazio usando un tasto virtuale quando si preme win + p:

#p::
send, {vk20}

Questo riferimento elenca tutti i codici chiave virtuale, incluse molte chiavi non standard che non avrai ancora usato: https://autohotkey.com/board/topic/98757-how-to-create-a-new-virtual- tasti /

Puoi provare a creare uno script che invia una chiave virtuale non standard al tuo gioco. Se il gioco lo registra e ti consente di salvarlo nella sua pagina di configurazione della tastiera, probabilmente riuscirai a farlo funzionare.

L'ultimo pezzo del puzzle è far sì che le macro Logitech chiamino lo script AutoHotkey che genera la chiave virtuale. Dovresti creare uno script AutoHotkey senza un tasto di scelta rapida, quindi si avvia subito quando eseguito, ad esempio

send, {vk7B}

o

send, £

Associare i file * .ahk al programma Autohotkey, quindi ottenere la macro Logitech per aprire lo script salvato.

Nota: non l'ho provato in nessun gioco. Avrà probabilmente risultati diversi in diversi giochi, a seconda di ciò che accettano come voci valide. Nel link Chiavi Virtuali sopra, le persone stanno discutendo di fare quasi esattamente quello che vuoi fare e sembrano aver avuto un certo successo con l'uso dei tasti F13-F24, quindi forse prova prima quelli.

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: come richiesto nei commenti; un semplice script per creare F13 potrebbe apparire come:

b::
send, {vk7C}

Ogni volta che premi 'b' mentre questo script è attivo (nel tuo vassoio vicino all'orologio), verrà inviato F13. Questo script rimarrà attivo e funzionerà ogni volta che premi 'b' fino a quando non lo uccidi. Una volta che il gioco registra F13 nella configurazione dei tasti, uccidi questo script e creane uno come questo affinché Logitech chiami:

send, {vk7C}

Questo non rimarrà attivo, verrà eseguito una volta e poi terminerà, ogni volta che viene chiamato.


Sembra esattamente quello di cui ho bisogno. Tuttavia, sono completamente perso nel programma. Ho creato un file .AHK. La prima riga dice #p :: e la seconda dice send, £ Dovrebbe funzionare, giusto? O mi manca qualcosa completamente. Se possibile, potresti fornire uno script di esempio? Qualcosa come uno script che dice al computer ogni volta che WIN-F1 viene premuto per registrarsi come F13 invece mi basterebbe. Grazie
mille

La guida di AutoHotKey (AutoHotkey.chm nella cartella del programma) è abbastanza buona. La voce sulla funzione Invia e la voce HotKey sono entrambe letture valide. Aggiornerò anche la risposta per includere win-F1 -> F13.
Sir Adelaide,

Se KeyTweak non consente nuove chiavi ma ti consente di spostarle, potresti ottenere 1 chiave virtuale aggiuntiva prendendo il layout del Regno Unito e spostando le chiavi in ​​giro per abbinare il layout degli Stati Uniti?
user1937198

Tuttavia, ci sono tasti che non compaiono sulla maggior parte delle tastiere, come F24 , usato da Tom Scott per la sua tastiera emoji e da Taran di Linus Tech Tips per le sue macro di editor video.
TRiG

1

Ci scusiamo per la risposta tardiva. Avevo bisogno di accedere ai tasti funzione oltre F12, qualcosa che gli attuali produttori di tastiere non sembrano tenere conto, ma abbastanza facile con AutoHotkey. Ho usato questo per aggiungere queste sequenze di tasti come macro al mio mouse, che altrimenti non supporta l'aggiunta di chiavi arbitrarie.

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.