Международная клавиатура Дворжака не запускает горячие клавиши
Я использую раскладку клавиатуры Engilsh-Dvorak; Мой второй язык клавиатуры - иврит, который не имеет ничего общего с Дворжаком, кроме горячих клавиш (например, если я пишу документ на иврите и хочу сделать жирный текст, используя Ctrl+b).
Клавиатура на иврите по умолчанию, поставляемая с Windows (7 и ниже), имеет режим сдвига, который сопоставляет каждый ивритский символ с соответствующим английским символом QWERTY). Очевидно, что я бы хотел использовать соответствующую клавишу Dvorak вместо QWERTY, поэтому я создал клавиатуру Hebrew-Dvorak с программным обеспечением под названием Keyboard Layout Manager (KLM), которое создает новые DLL-библиотеки раскладок клавиатуры.
Он прекрасно работает для клавиши Shift, однако горячие клавиши, запускаемые клавишей Ctrl(например, Ctrl+l в FF), соответствуют соответствующей клавише QWERTY. Я изучил правильно работающую английскую раскладку Дворака с помощью KLM, и в его представлении "Ctrl+ нажатие" не было ни одного символа, который соответствовал бы ни одной клавише, но все же я пытался закодировать ивритские клавиши Ctrl+, чтобы работать с их соответствующие ключи Дворжака, но это не имело никакого эффекта.
2 ответа
После долгого времени, связанного с этим вопросом, я связался с Миланом Видаковичем из KLM. Очень любезно он объяснил мне, как решить проблему. Вот его ответ:
Для этого вам необходимо изменить назначение виртуального ключа для ключа. Например, на клавиатуре QWERTY клавиша "A" имеет значение виртуальной клавиши VK_A (0x41 hex). Это означает, что если вы нажмете Ctrl+A, он выполнит правильное действие (Выбрать все). Я использую клавиатуру QWERTZ, и недостаточно просто заменить клавишу "Y" на клавишу "Z" и наоборот. Мне также нужно изменить назначения виртуальных ключей для обоих ключей. Чтобы увидеть и изменить виртуальный ключ, посмотрите в верхнем правом углу окна KLM Keyboard Editor:
Теперь, если вы, например, поместите символ "A" на клавишу "B", а затем, если вы нажмете Ctrl+B, вы ожидаете, что теперь он выберет все, потому что вы поместили символ "A" на " B'ключ. Этого не произойдет, потому что ключ "B" имеет значение VirtualKey VK_B:
Вам необходимо изменить назначение виртуального ключа для клавиши "B", чтобы компьютер считал, что это клавиша "A". Для этого вам нужно открыть поле со списком VirtualKey в KLM и изменить виртуальный ключ на значение "A":
Однако не забывайте, что ключ 'A' также имеет значение VK_A, поэтому вам нужно изменить значение виртуального ключа на 'B' или что-то еще. Вы можете разрешить компьютеру разрешать все дубликаты назначения виртуальных ключей, нажав кнопку "Разрешить ВК".
Поскольку обычная демо-версия klm не позволяет вам изменять виртуальный ключ, я разместил здесь измененную демо-версию (как 32-битные, так и 64-битные исполняемые файлы):
http://www.klm32.com/KLM32/demo/demo.html
С наилучшими пожеланиями,
Милан Видакович
Я думаю, проще говоря, компьютер распознает только сочетания клавиш на одном языке, а вы используете другой.
Например, вы можете нажимать Ctrl+א, но компьютер видит Ctrl+A.
Я полагаю, что вам нужно войти в конфигурацию для всех программ, которые вы используете, и переназначить программу, чтобы иметь ярлыки на иврите. Очевидно, это будет зависеть от программы.