Можно ли как-то сделать так чтобы скрипт срабатывал не после двух нажатий или одного, а целой комбинации? AHK
Вот есть скрипт который должен сработать после нажатия клавиши. Но мне нужно чтобы он работал после комбинации клавиш. К примеру: g+h+t+5+8+i (как на кодовом замке сейфа). Можно ли это как-то реализовать? Мб подскажите как это называется?) Облазил инет + англоязычный и ничего полезного не нашёл. А может такого вовсе и нет? Подскажите плиз)
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Этот пример на JavaScript предназначен только для демонстрации и понимания алгоритма. Логика скрипта проста, и реализация на других языках не должна вызвать затруднений.
Если код вводится последовательным одиночным нажатием клавиш, то будет как-то так:
// Валидная комбинация
var sSecretCode = 'ght58i';
// Вводимая комбинация
var sInputCode = '';
(function() {
/* "Слушаем" клавиатуру */
window.addEventListener('keydown', function(ev) {
// Добавляем символ нажатой клавиши в конец вводимой комбинации
sInputCode = sInputCode + ev.key;
// Если символы в заданной позиции совпадают, тогда...
if (sInputCode[sInputCode.length - 1] === sSecretCode[sInputCode.length - 1]) {
// Если обе комбинации полностью совпали, тогда...
if (sInputCode === sSecretCode) {
// Выполняем нужный скрипт
console.log("Отлично! Запускаем скрипт.");
// Сбрасываем введённую комбинацию
sInputCode = '';
}
// ... иначе...
} else {
// Сбрасываем введённую комбинацию
sInputCode = '';
}
// Отображаем текущий набор (для наглядности)
console.log("Текущая набранная комбинация: ", sInputCode);
}, false);
})()
При любой ошибке ввода, нужно набирать код сначала.