Utwórz „fałszywe klucze”, które komputer interpretuje jako prawdziwe?

18

Wyjaśnienie

Dobrze, więc to jest zdjęcie ogólnego układu klawiatury.

Zastanawiam się: Czy można emulować dodatkowe klawisze na klawiaturze innej niż standardowe klucze? Na przykład, mogę oszukać mój komputer, by pomyślał, że moja klawiatura też ma 3 dodatkowe klucze oznakowane FK1, FK2 i FK3.

Te trzy dodatkowe klucze nie byłyby kluczami literowymi Home, Insert, Page up itp.
Zasadniczo nic by nie zrobili, chyba że mieliby coś zrobić. Na przykład, jeśli ustawię skrót klawiszowy w programie do użycia FK1 , zarejestruje to.

Czemu?

Cieszę się, że zapytałeś. Gram w grę o nazwie ArmA 3 dużo, a ci z was, którzy znają grę, wiedzą, że się zużywa prawie każdy klawisz na klawiaturze.
Aby komunikować się z moimi kolegami w tej grze, używam TeamSpeak. Mam płytę rezonansową dla zespołu i chcę być w stanie aktywować różne dźwięki za pomocą skrótów klawiaturowych zamiast alt-tabulacji i klikania, ale praktycznie nie ma wolnych kluczy w ArmA ze wszystkimi modami, których używam.

Nawet gdybyś mógł stworzyć te „fałszywe klucze”, jak byś je wykorzystał w grze, jeśli nie ma ich na prawdziwej klawiaturze?

Doskonałe pytanie .
Moja klawiatura to Logitech G910 Orion Spark, która zawiera 27 makr. Zakładam, że mogę ustawić każdy z tych makr na wywołanie fałszywych przycisków klawiatury podczas używania.

Jest to prawdopodobnie bardzo mylące przy czytaniu, ale zrobiłem co w mojej mocy.

Windows 10 Pro (x64)

Josh Silveous
źródło
1
To ciekawa zagadka ...
wogsland
Mogę zasugerować zakup klawiatury z niestandardowymi klawiszami, możesz je zdobyć. przykład; amazon.co.uk/Programmable-aLLreLi-Mechanical-Keyboard-Gameboard/…
Robert Pounder
1
Dołączone zdjęcia NIE są standardową klawiaturą amerykańską. Nie mogę uwierzyć, że masz najbardziej podstawową część tego ZŁEGO. Standardową klawiaturą jest klawiatura kompatybilna z IBM-PC - w zasadzie pełnowymiarowa klawiatura biurkowa z dwoma klawiszami WINDOWS. Przedstawiłeś tutaj zastrzeżoną klawiaturę Apple. To NIE jest standardowa klawiatura. Powinieneś to naprawić; Twoje pytanie nie ma teraz żadnego sensu, ponieważ pytałeś o standardowe klawiatury, a następnie dołączałeś schematy niestandardowych klawiatur. Lepiej będzie usuwać te obrazy, jeśli rzeczywiście pytasz o standardowe klawiatury
InterLinked

Odpowiedzi:

14

Po naciśnięciu klawisza na klawiaturze sprzęt generuje „kod skanowania”, który następnie interpretuje jako pewne naciśnięcie klawisza.

Zmiana przypisania klucza

KeyTweak umożliwia ponowne przypisanie naciśnięcia klawisza, który system Windows interpretuje z każdego kodu skanowania, dodając odpowiednie wpisy rejestru.

Niestety, nie pozwala na dodanie dodatkowych fałszywych kluczy. Najbliższe to umożliwia ponowne przypisanie klawiszy sterowania mediami / stronami internetowymi, które mają niektóre klawiatury. Nie pozwala także na przypisywanie kodów kluczy, których normalnie nie używa klawiatura. Więc jeśli masz klawiaturę amerykańską, nie pozwoli ci ona na przypisanie - lub £. Więc nadal będziesz ograniczać się do używania normalnych liter kluczowych, które, jak mówisz, wyczerpały się.

Symulować coś

AutoHotkey umożliwia tworzenie kodów skanowania i nietypowych symboli przez skrypty.

Ten skrypt generuje £ za każdym razem, gdy zostanie naciśnięty Win + p (dostałem symbol z internetu i wkleiłem go do edytora tekstu, którego użyłem do utworzenia skryptu):

#p::
send, £

W zależności od gry możesz użyć takiego skryptu, aby uzyskać klucz w grze. Ale jeśli gra czeka na wygenerowanie rzeczywistych kodów skanowania klawiatury, to nie zadziała. Zależy to od interakcji gry ze sprzętem.

Na szczęście AutoHotkey może również generować kody skanowania klawiatury. Ten skrypt wygeneruje spację po naciśnięciu Win + p, ponieważ kod skanowania 39 (hex) jest spacją (patrz Lista kodów skanowania ).

#p::
send, {sc39}

AutoHotkey ma również inną metodę generowania wirtualnych kluczy. Nie zbadałem różnicy, ale ten skrypt wygeneruje przestrzeń za pomocą wirtualnego klucza po naciśnięciu win + p:

#p::
send, {vk20}

Ten odnośnik zawiera listę wszystkich kodów klucza wirtualnego, w tym wiele niestandardowych kluczy, których jeszcze nie używałeś: https://autohotkey.com/board/topic/98757-how-to-create-a-new-virtual-keys/

Możesz spróbować utworzyć skrypt, który wysyła niestandardowy wirtualny klucz do twojej gry. Jeśli gra zarejestruje to i pozwoli ci zapisać je na stronie konfiguracji klawiatury, prawdopodobnie uda ci się to uruchomić.

Ostatnim elementem układanki jest uzyskanie makr Logitech do wywołania skryptu AutoHotkey, który generuje klucz wirtualny. Stworzyłbyś skrypt AutoHotkey bez skrótu klawiszowego, więc uruchamia się natychmiast po uruchomieniu - na przykład

send, {vk7B}

lub

send, £

Powiąż pliki * .ahk z programem Autohotkey, a następnie uzyskaj makro Logitech, aby otworzyć zapisany skrypt.

Uwaga: Nie testowałem tego w żadnych grach. Prawdopodobnie będzie mieć różne wyniki w różnych grach - w zależności od tego, co uznają za prawidłowe wpisy. W powyższym linku Wirtualni ludzie dyskutują na temat robienia prawie dokładnie tego, co chcesz, i wydaje się, że odnieśli sukces w używaniu klawiszy F13-F24, więc może spróbuj najpierw.

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

EDYTOWAĆ: Zgodnie z prośbą w komentarzach; prosty skrypt do utworzenia F13 może wyglądać tak:

b::
send, {vk7C}

Za każdym razem, gdy naciśniesz 'b', gdy ten skrypt jest aktywny (na tacy obok zegara), zostanie wysłany F13. Ten skrypt pozostanie aktywny i będzie uruchamiany za każdym razem, gdy trafisz „b”, dopóki go nie zabijesz. Gdy gra zarejestruje F13 w konfiguracji klucza, zabij ten skrypt i zrób taki, aby Logitech zadzwonił:

send, {vk7C}

Ten nie będzie aktywny, będzie działał raz, a następnie kończy się za każdym razem, gdy zostanie wywołany.

Sir Adelaide
źródło
To wygląda dokładnie tak, jak potrzebuję. Jestem jednak całkowicie zagubiony w programie. Stworzyłem plik .AHK. Pierwsza linia mówi #p :: a drugi mówi wyślij, £ To powinno działać, prawda? A może brakuje mi czegoś całkowicie. Jeśli to możliwe, możesz podać przykładowy skrypt? Coś w rodzaju skryptu, który mówi komputerowi za każdym razem, gdy WIN-F1 zostanie naciśnięty, aby zarejestrować się jako F13, wystarczyłoby mi do zbudowania. Dzięki tona :)
Josh Silveous
Pomoc AutoHotKey (AutoHotkey.chm w folderze programu) jest całkiem dobra. Wpis w funkcji Send i wpis HotKey są dobrymi odczytami. Zaktualizuję również odpowiedź, aby zawierała win-F1 - & gt; F13.
Sir Adelaide
Jeśli KeyTweak nie zezwala na nowe klucze, ale pozwala na ich przeniesienie, czy możesz uzyskać 1 dodatkowy klucz wirtualny, biorąc układ z Wielkiej Brytanii i przesuwając klawisze w celu dopasowania do amerykańskiego układu?
user1937198
Istnieją jednak klucze, które nie pojawiają się na większości klawiatur, takie jak F24 , jak używane przez Tom Scott dla jego klawiatury i wzmacniacza emoji przez Taran z Linus Porady techniczne dla jego makr edytora wideo.
TRiG
0

Przepraszam za spóźnioną odpowiedź. Musiałem uzyskać dostęp do klawiszy funkcyjnych za F12, coś, czego obecni producenci klawiatur wydają się nie uwzględniać, ale dość łatwo z AutoHotkey. Użyłem tego, aby dodać te naciśnięcia klawiszy jako makra do myszy, co nie obsługuje dodawania dowolnych kluczy w inny sposób.

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
źródło