Как привязать кнопки клавиатуры
Вопрос от пользователя
Здравствуйте.
У меня ноутбуку уже где-то около 4-5 лет. И клавиша "я/z" перестала срабатывать (точнее, если на нее сильно нажать - только тогда сработает). Хотел заменить клавиатуру, но в точности такой же нет (прилаживать похожую - это значит испортить ноутбук).
Не подскажите, как вместо "я" переназначить клавишу, скажем, на левый "Ctrl (им все равно почти не пользуюсь, привык к правому). Пробовал утилиты KeyExtender, SharpKeys (и еще какую-то, название уже не помню), но они у меня почему-то не заработали (возможно защита системы не дает).
PS использую сейчас Windows 8.
Также добавлю, что с подобной задачей сталкиваются не только те, у кого не работает определенная клавиша, но и те, кто хочет улучшить управляемость персонажа в игре, задать на одну клавишу сразу последовательность нажатий, те, кто хочет вообще отключить лишние кнопки (например, такие могут быть на мультимедийной клавиатуре) .
В статье рассмотрю несколько утилит, и покажу на скринах как выполнить сию задачу.
Приступим к делу.
«Меняем» одну кнопку на другую
MapKeyboard: всего три действия для замены клавиши (кликабельно!)
Одна из самых надежных в плане работы утилит. По крайней мере у меня она работала как в "старых" Windows 2000/XP, так и в относительно новых ОС Windows 8/10.
Утилита очень компактная и не нуждается в установке. После запуска, для замены клавиши, вам нужно выполнить всего 3 действия (они у меня помечены на скрине выше):
- выбрать клавишу, взамен неработающий (например, левый Ctrl) ;
- затем указать в графе "Remap selected key to" клавишу, которая не работает (т.е. вместо нее будет использован левый Ctrl) ;
- нажать кнопку сохранения "Save layout" (система будет перезагружена) . После перезагрузки — вместо Ctrl, будет срабатывать кнопка "Z".
Если вы хотите сбросить все введенные изменения: воспользуйтесь кнопкой "Reset keyboard layout" .
Кстати, утилиту рекомендуется запускать от имени администратора. Для этого, после ее извлечения из архива, щелкните по исполняемому файлу правой кнопкой мышки и выберите "Запуск от имени админа. ". (см. пример ниже).
Запуск от имени администратора
Эта утилита обладает лучшей совместностью с ОС Windows 10 (работает во всех ее версиях!). К тому же, отключать и переназначать клавиши в ней простой и быстро!
Рассмотрю краткий пример.
Утилита PowerToys - настройка клавиш
- клавишу, которую будем менять (или отключать) — она слева (в моем примере "Numpad 0");
- а справа указать то, на что ее меняем — например, "Undefined" (если ее совсем отключаем) или указать конкретную клавишу (сочетание).
Undefined — клавиша будет отключена (Утилита PowerToys).
Главное окно KeyTweak: действие №1
Простая, но надежная программа, позволяющая менять назначение клавиш на клавиатуре. Позволяет поменять scan-код клавиш между собой, либо вообще отключить отдельные клавиши.
Отмечу, что пользоваться программой крайне просто (несмотря на то, что у нее нет перевода на русский) . Сначала выбираете клавишу, которая у вас плохо срабатывает, затем в графе "Choose New Remmaping" указываете клавишу взамен, и нажимаете кнопку "Remap Key" (см. скрин выше) .
После чего примите изменения (кнопка "Apply" в правом нижнем углу экрана) и согласитесь на перезагрузку компьютера.
Собственно, перезагрузившись, ваши клавиши станут выполнять "новые" назначенные действия. Удобный, простой, и эффективно работающий инструмент!
Главное окно программы (после установки и запуска программы).
Эту программу просто не мог не отметить в этой статье. Она не просто позволяет переназначать отдельные клавиши клавиатуры, но и позволяет задавать целые комбинации нажатий: как вам, например, если на колесико мышки вы повесите Alt+Shift+Esc (быстрое переключение программ) ?!
Также с помощью кнопок на клавиатуре можно эмулировать работу мышки.
Программа поддерживает несколько профилей (например, можно создать набор замен под каждую игру в отдельности).
Важно : программа не делает никаких изменений в реестре системы, не требует перезагрузки ПК для того, чтобы изменения вступили в силу.
Что касается использования: то здесь все просто:
- указываете сначала ту клавишу, которую хотите поменять;
- а затем, во второй графе, ту клавишу, которая заменит ее. См. скрин ниже.
Обратите внимание, что задавать можно целые комбинации
Отмечу, что полная версия программы платная. Однако, знакомство можно спокойно начать с бесплатного продукта. Рекомендую!
Извиняюсь за глупость природную, но нельзя ли как в Маковском Xcode в меню кнопки программы просто задать связанную с этой кнопкой кнопку клавиатуры?
Извиняюсь за глупость природную, но нельзя ли как в Маковском Xcode в меню кнопки программы просто задать связанную с этой кнопкой кнопку клавиатуры?
Можно сделать так: устанавливаем свойство KeyPreview формы в True (таким образом форма будет перехватывать нажатия клавиш), и делаем обработчик события формы KeyDown или KeyPress.
Вот только раздел форума почему-то выбран не тот.
Извиняюсь еще раз. Но мозг рушится все новыми бедами и заботами :)
Оказалось, что keypress работает только для выделенного элемента. например для окошка textbox.
Когда я мышкой нажимаю какую то кнопку на форме - то похоже фокус смещается и событие keypress не обрабатывается.
Неужели нет простого способа привязать "горячую клавишу" к кнопке формы?
Просто у меня 50 кнопок и у каждой прописывать Keydown или еще что невероятно геморойно. Да и неправильно как то.
Когда я мышкой нажимаю какую то кнопку на форме - то похоже фокус смещается и событие keypress не обрабатывается.
Неужели нет простого способа привязать "горячую клавишу" к кнопке формы?
Просто у меня 50 кнопок и у каждой прописывать Keydown или еще что невероятно геморойно. Да и неправильно как то.
Я имею в виду событие формы, а не элементов на ней.
Делаем что-то вроде:
if (e.KeyCode == Keys.D1)
button1_Click(sender, e); // или пишем здесь нужный код
if (e.KeyCode == Keys.D2)
button2_Click(sender, e);
>
Конечно, можно применить switch вместо if.
Повторюсь, что свойство формы KeyPreview необходимо установить в True.
Если я не ошибаюсь, только у компонента MenuItem есть свойство Shortcut, позволяющее задать горячие клавиши.
Зачем оно?
В первую очередь, разумеется, для удобства, как было сказано выше. Зачем нужна клавиша Scroll Lock, или, к примеру, Drop-down? Можно же повесить на эту клавишу какой-нибудь удобный ярлык, всяко будет лучше, чем бессмысленный расход рабочего пространства, не правда ли?
Но причин на самом деле может быть гораздо больше. Чаще всего люди хотят ремапнуть свою клавиатуру из-за существования клавиши Caps Lock, лично мне эта клавиша безразлична, неприязнь к ней скорее возникает у тех, кто имеет некоторые проблемы со слеПОЙ ПЕЧАТЬЮБ
Горазо реже, но все таки возникает ситуация, когда очень хочется ремапнуть кнопки мыши. Что бы было понятнее, на кой черт надо трогать мышь, опишу свою ситуацию. Я каждый день провожу несколько часов за беседами в Mumble, где для активации микрофона у меня выбрана функция Push-to-Talk. Мышь я держу постоянно, а вот над клавиатурой рука находится не всегда, поэтому в качестве шорткат-кнопки на PtT была выбрана кнопка Mouse5, которая, к сожалению, используется многими приложениями, вопреки моим желаниям. Больше всего раздражает эта кнопка во время серфинга, в любом браузере на нее повешена функция «go forward». Когда у меня была мышка Razer Lachesis, то с этим проблем было мало, штатный софт от производителя позволял делать с кнопками мыши что душе угодно. К сожалению, с более качественной мышью G9x пришлось перейти на менее удобный софт — SetPoint, который не поддерживает подобные выкрутасы.
Надеюсь, предисловие достаточно подробное, поэтому перейду-ка я пожалуй к делу.
Ремаппим клавиатуру
Несмотря на то, что к некоторым клавиатурам (Microsoft, Logitech G-Series, Lenovo ThinkPad) существует фирменный софт, дающий возможность делать подобные трюки, я опишу утилиты, которые будут работать с любой клавиатурой.
На самом-то деле все описанные ниже утилиты работают с реестром, то есть, если хочется приключений и интимных развлечений с мозгом, можно все, что нужно проделать самостоятельно и без посредников. Подобный метод я описывать не буду, так как сам не разобрался с этим, если кому интересно, копайтесь где-то здесь:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
SharpKeys
Простенькая утилитка, позволяющая лишь менять местами функции клавиш, да и то не всех. Работает только с WinXP\2003, упомянул о ней лишь из-за достаточно таки высокой популярности.
Microsoft Keyboard Layout Creator
Последняя (1.4) версия доступна на MS Download Center.
KeyTweak
Ничего лучше для решения подобных задач просто не существует. Удобный и понятный интерфейс, мощный функционал и далее по списку. Работает на любой NT-версии системы, не требует дотнета и весит всего около 300КБ.
Мануал и установщик можно загрузить с сервера разработчика.
Ремаппим мышь
Единственное, что не греет душу, так это то, что утилита по сути является костылем. Она перехватывает ввод данных с мыши и изменяет их в соответствии с выставленными пользователем настройками. Баг я обнаружил всего один, при задании длинных (более трех кнопок) сочетаний клавиш программа иногда запинается, то есть вводит сочетание в неправильном порядке.
Ну вот, собственно, и все, о чем я хотел поведать. Надеюсь, топик окажется полезным. Если у читателя есть какое-либо иное мнение насчет решения подобных задач, я с удовольствием его прочитаю в комментариях.
Ах да, хотелось бы увидеть аналог этого топика, но для Linux, им я тоже пользуюсь :)
Вопрос от пользователя
Здравствуйте.
У меня ноутбуку уже где-то около 4-5 лет. И клавиша "я/z" перестала срабатывать (точнее, если на нее сильно нажать - только тогда сработает). Хотел заменить клавиатуру, но в точности такой же нет (прилаживать похожую - это значит испортить ноутбук).
Не подскажите, как вместо "я" переназначить клавишу, скажем, на левый "Ctrl (им все равно почти не пользуюсь, привык к правому). Пробовал утилиты KeyExtender, SharpKeys (и еще какую-то, название уже не помню), но они у меня почему-то не заработали (возможно защита системы не дает).
PS использую сейчас Windows 8.
Также добавлю, что с подобной задачей сталкиваются не только те, у кого не работает определенная клавиша, но и те, кто хочет улучшить управляемость персонажа в игре, задать на одну клавишу сразу последовательность нажатий, те, кто хочет вообще отключить лишние кнопки (например, такие могут быть на мультимедийной клавиатуре) .
В статье рассмотрю несколько утилит, и покажу на скринах как выполнить сию задачу.
Приступим к делу.
«Меняем» одну кнопку на другую
MapKeyboard: всего три действия для замены клавиши (кликабельно!)
Одна из самых надежных в плане работы утилит. По крайней мере у меня она работала как в "старых" Windows 2000/XP, так и в относительно новых ОС Windows 8/10.
Утилита очень компактная и не нуждается в установке. После запуска, для замены клавиши, вам нужно выполнить всего 3 действия (они у меня помечены на скрине выше):
- выбрать клавишу, взамен неработающий (например, левый Ctrl) ;
- затем указать в графе "Remap selected key to" клавишу, которая не работает (т.е. вместо нее будет использован левый Ctrl) ;
- нажать кнопку сохранения "Save layout" (система будет перезагружена) . После перезагрузки — вместо Ctrl, будет срабатывать кнопка "Z".
Если вы хотите сбросить все введенные изменения: воспользуйтесь кнопкой "Reset keyboard layout" .
Кстати, утилиту рекомендуется запускать от имени администратора. Для этого, после ее извлечения из архива, щелкните по исполняемому файлу правой кнопкой мышки и выберите "Запуск от имени админа. ". (см. пример ниже).
Запуск от имени администратора
Эта утилита обладает лучшей совместностью с ОС Windows 10 (работает во всех ее версиях!). К тому же, отключать и переназначать клавиши в ней простой и быстро!
Рассмотрю краткий пример.
Утилита PowerToys - настройка клавиш
- клавишу, которую будем менять (или отключать) — она слева (в моем примере "Numpad 0");
- а справа указать то, на что ее меняем — например, "Undefined" (если ее совсем отключаем) или указать конкретную клавишу (сочетание).
Undefined — клавиша будет отключена (Утилита PowerToys).
Главное окно KeyTweak: действие №1
Простая, но надежная программа, позволяющая менять назначение клавиш на клавиатуре. Позволяет поменять scan-код клавиш между собой, либо вообще отключить отдельные клавиши.
Отмечу, что пользоваться программой крайне просто (несмотря на то, что у нее нет перевода на русский) . Сначала выбираете клавишу, которая у вас плохо срабатывает, затем в графе "Choose New Remmaping" указываете клавишу взамен, и нажимаете кнопку "Remap Key" (см. скрин выше) .
После чего примите изменения (кнопка "Apply" в правом нижнем углу экрана) и согласитесь на перезагрузку компьютера.
Собственно, перезагрузившись, ваши клавиши станут выполнять "новые" назначенные действия. Удобный, простой, и эффективно работающий инструмент!
Главное окно программы (после установки и запуска программы).
Эту программу просто не мог не отметить в этой статье. Она не просто позволяет переназначать отдельные клавиши клавиатуры, но и позволяет задавать целые комбинации нажатий: как вам, например, если на колесико мышки вы повесите Alt+Shift+Esc (быстрое переключение программ) ?!
Также с помощью кнопок на клавиатуре можно эмулировать работу мышки.
Программа поддерживает несколько профилей (например, можно создать набор замен под каждую игру в отдельности).
Важно : программа не делает никаких изменений в реестре системы, не требует перезагрузки ПК для того, чтобы изменения вступили в силу.
Что касается использования: то здесь все просто:
- указываете сначала ту клавишу, которую хотите поменять;
- а затем, во второй графе, ту клавишу, которая заменит ее. См. скрин ниже.
Обратите внимание, что задавать можно целые комбинации
Отмечу, что полная версия программы платная. Однако, знакомство можно спокойно начать с бесплатного продукта. Рекомендую!
Читайте также: