Международная клавиатура Дворжака не запускает горячие клавиши
Я использую раскладку клавиатуры 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.
Я полагаю, что вам нужно войти в конфигурацию для всех программ, которые вы используете, и переназначить программу, чтобы иметь ярлыки на иврите. Очевидно, это будет зависеть от программы.
Для этого вам необходимо изменить назначение виртуального ключа для ключа. Например, на клавиатуре QWERTY клавиша "A" имеет значение виртуальной клавиши VK_A (0x41 hex). Это означает, что если вы нажмете Ctrl+A, он выполнит правильное действие (Выбрать все). Я использую клавиатуру QWERTZ, и недостаточно просто заменить клавишу "Y" на клавишу "Z" и наоборот. Мне также нужно изменить назначения виртуальных ключей для обоих ключей. Чтобы увидеть и изменить виртуальный ключ, посмотрите в верхнем правом углу окна KLM Keyboard
Editor: 
