#javascript #html #github
Вопрос:
Я работаю над проектом, основанным на ShortcutMapper Уолдо Бронхарта
Короче говоря, ShortcutMapper отображает сочетания клавиш приложений на виртуальную клавиатуру. В своих файлах он ссылается на html-файлы для разных раскладок клавиатуры. Это означает, что их довольно легко изменять и просматривать ярлыки для разных языковых раскладок. Однако у меня возникла проблема при нажатии модификаторов (shift/control/опция).
В проекте каждому ключу присвоено значение ключа данных, которое используется для отображения назначенных ярлыков, но для моего макета мне нужно установить несколько ключей, чтобы они имели несколько значений. Мне это нужно для того, чтобы иметь возможность использовать такие клавиши, как»!», «»»и»#», которые расположены на той же клавише, что и 1, 2 и 3 (изменено с помощью shift)
Мои ярлыки сохраняются как «Shift ВОСКЛИЦАНИЕ», «Shift ДВОЙНАЯ ЦИТАТА» и «Shift ХЭШ», но пока мой код на цифровых клавишах ссылается только на данные-ключ=»ОДИН», данные-ключ=»ДВА» и данные-ключ=»ТРИ». Поэтому они никогда не показываются мне.
Есть ли способ добавить несколько значений к одному элементу или изменить ключ данных в зависимости от нажатых модификаторов?
Код для моего макета числовых строк в настоящее время выглядит следующим образом:
<div class="row"> <button data-key="DOLLAR">
lt;/button>
<button data-key="ONE">1</button>
<button data-key="TWO">2</button>
<button data-key="THREE">3</button>
<button data-key="FOUR">4</button>
<button data-key="FIVE">5</button>
<button data-key="SIX">6</button>
<button data-key="SEVEN">7</button>
<button data-key="EIGHT">8</button>
<button data-key="NINE">9</button>
<button data-key="ZERO">0</button>
<button data-key="PLUS"> </button>
<button data-key="ACCENT_ACUTE">´</button>
</div>
Полные примеры макетов можно найти в репозитории здесь:
https://github.com/waldobronchart/ShortcutMapper/tree/master/content/keyboardsЯ пытался реализовать некоторые JavaScript, но безуспешно (я, по общему признанию, мало что знаю о JavaScript), поэтому я не уверен, как справиться с этой проблемой. Я поискал в Интернете людей, ссылающихся на метод KeyboardEvent.getModifierState (), но не нашел способа заставить его работать. В худшем случае можно было бы добавить дополнительную строку ключей .html с измененными ключами, но это кажется очень плохим решением.