Jistě každý uživatel počítače zná situaci, kdy je třeba provést mnoho jednotipových akcí. Například při práci s programy, které vyžadují stisknutí stejné klávesy s nastavenou periodicitou. V takových případech může být ruční opakování každého stisknutí únavné a časově náročné.
V článku se podíváme na snadný způsob, jak zablokovat stisk klávesy na klávesnici pomocí programovatelných Maker. Tato metoda vám umožní automatizovat opakující se akce a ušetřit vám čas a úsilí.
K vytvoření smyčkového stisknutí klávesy budeme potřebovat speciální software, který umožní přiřadit klávesu k provedení dané akce. Jedním z takových softwarových produktů je AutoHotkey-praktický nástroj, který vám umožní automatizovat rutinní úkoly v počítači.
Poznámka: Chcete-li použít algoritmus popsaný v tomto článku, musíte si předem stáhnout a nainstalovat AutoHotkey do počítače.
Připojení knihovny pro práci s klávesnicí
Chcete-li použít jQuery, musíte nejprve připojit samotnou knihovnu. To lze provést přidáním následujícího řádku kódu do sekce head HTML dokumentu:
Po připojení knihovny můžete začít psát kód, který zpracovává události klávesnice.
Využijeme funkce keydown() z knihovny jQuery, která bude vyvolána při každém stisknutí klávesy na klávesnici. Níže je uveden příklad kódu, který emuluje smyčkový stisk klávesy "Enter":
$(document).keydown(function(event) >);
V tomto příkladu funkce keydown() spustí se při každém stisknutí klávesy na klávesnici. Pomocí podmínky if se zkontroluje, zda se kód stisknuté klávesy shoduje s kódem klávesy "Enter" (kód 13). Pokud je podmínka splněna, provede se blok kódu uvnitř podmíněné konstrukce.
Místo bloku kódu lze v příkladu přidat funkci nebo metodu, která zvládne požadovanou akci po stisknutí klávesy. Můžete například zavolat funkci, která odešle formulář na server nebo aktualizuje obsah webové stránky. Funkce knihovny jQuery jsou velmi široké a umožňují implementovat širokou škálu scénářů práce s klávesnicí.
Definice stisknuté klávesy
K určení stisknuté klávesy v JavaScriptu lze použít událost keydown . Když uživatel stiskne klávesu na klávesnici (před uvolněním), prohlížeč vygeneruje událost keydown .
Chcete-li určit, která klávesa byla stisknuta, můžete použít vlastnost keycode objektu události. Hodnota vlastnosti keyCode je číselný kód klávesy.
Zde je příklad kódu, který vám umožní určit stisknutí klávesy:
document.addEventListener("keydown", function(event) );
V tomto příkladu kódu je do dokumentu přidána událost keydown a funkce zpětného volání vypustí do konzole kód stisknuté klávesy.
Pomocí přerovnání kódů kláves lze určit, která konkrétní klávesa byla stisknuta a provést příslušné kroky. Pokud je například kód klávesy 13, znamená to, že byla stisknuta klávesa Enter. V takovém případě je možné zavolat příslušnou funkci nebo provést potřebné kroky.
Nyní víte, jak definovat stisknutou klávesu pomocí JavaScriptu. Tato metoda je velmi jednoduchá a pohodlná pro implementaci mnoha funkcí na klávesnici.
Vytvoření funkce pro cyklické stisknutí klávesy
Chcete-li implementovat cyklické stisknutí kláves na klávesnici, budete muset vytvořit funkci, která tuto akci provede. Níže je uveden příklad této funkce:
| Název funkce | Popis |
|---|---|
| pressKey | Funkce, která se provede při každém cyklickém stisknutí klávesy |
Chcete-li vytvořit funkci pressKey , můžete použít programovací jazyk JavaScript. Níže je uveden příklad kódu v JavaScriptu, který tuto funkci implementuje:
function pressKey()/ Тут вы можете поместить код для выполнения циклического нажатия клавиши// Например, можно использовать метод dispatchEvent для имитации нажатия клавиши>
Uvnitř funkce pressKey můžete umístit kód, který bude spuštěn při každém cyklickém stisknutí klávesy. K simulaci stisku klávesy můžete například použít metodu dispatchEvent.
Jakmile vytvoříte funkci pressKey, můžete ji vyvolat na vhodném místě kódu pro zahájení cyklického stisknutí klávesy.
Aplikace funkce na příkladu herní aplikace
Zvažte použití funkce smyčky stisknutí klávesy na klávesnici na příkladu jednoduché herní aplikace. V takové aplikaci lze například použít klávesy se šipkami k ovládání pohybu postavy nebo k provádění určitých akcí v herním světě.
Nejprve je nutné definovat funkci, která se spustí při každém stisknutí klávesy na klávesnici. V rámci této funkce můžeme zvládnout konkrétní stisk klávesy a provádět příslušné akce. Například stisknutím klávesy se šipkou doleva můžete postavu posunout doleva a stisknutím klávesy se šipkou doprava se pohybovat doprava.
// Определение функции, которая будет вызываться при нажатии клавишиfunction handleKeyPress(event)/ Получение ключа нажатой клавишиvar keyPressed = event.keyCode;// Определение действий в зависимости от нажатой клавишиif(keyPressed === 37) / Нажата клавиша со стрелкой влево// Выполнить действия для движения персонажа влево> else if(keyPressed === 39)/ Нажата клавиша со стрелкой вправо// Выполнить действия для движения персонажа вправо> else if(keyPressed === 38)/ Нажата клавиша со стрелкой вверх// Выполнить действия для движения персонажа вверх> else if(keyPressed === 40)/ Нажата клавиша со стрелкой вниз// Выполнить действия для движения персонажа вниз> >// Привязка функции handleKeyPress к событию нажатия клавишиwindow.addEventListener('keydown', handleKeyPress);
V tomto příkladu funkce handleKeyPress přijímá objekt event, který obsahuje informace o stisknuté klávese. Pomocí vlastnosti keycode tohoto objektu určíme hodnotu stisknuté klávesy a provedeme příslušné kroky.
Pomocí funkce smyčky stisknutí klávesy na klávesnici tedy můžeme efektivně ovládat postavu v herní aplikaci a implementovat různé herní mechaniky.