Переопределение клавиши «PowerOff» на клавиатуре ноутбука Asus под Windows 10 64 бит?

1599
MAnd

Что я пытаюсь сделать:

Чтобы переназначить кнопку питания ноутбука, которая нелепо расположена как клавиша на клавиатуре.

Контекст:

Недавно я купил обновленную версию ноутбука ASUS VivoBook Pro N552VW. Это отличная машина с отличными характеристиками. Мне нравится каждая деталь в ней, кроме одной вещи, которую я просто не могу проглотить, и при этом я не могу понять, почему на Земле она существует.

Гений дизайна продукта решил, что кнопка питания для включения и выключения компьютера должна находиться между клавишами клавиатуры. Еще мудрее, гений решил, что он должен быть расположен там, где обычно находится выделенная клавиша «Конец», как это видно на рисунке ниже:

Переопределение клавиши «PowerOff» на клавиатуре ноутбука Asus под Windows 10 64 бит?

Облегчение проблемы:

Хотя такой дизайн, очевидно, подвержен ошибкам, то есть всегда существует риск случайного нажатия клавиши питания и последующего перехода ноутбука в режим сна в середине рабочего сеанса. Но это легко решить, перейдя к настройкам питания Windows и определив, что ничего не произойдет при нажатии кнопок питания. Смотри картинку ниже:

Переопределение клавиши «PowerOff» на клавиатуре ноутбука Asus под Windows 10 64 бит?

Что еще предстоит сделать:

Однако то, что я действительно хотел бы сделать, это сопоставить такой ключ, чтобы он вел себя так, как будто это снова был выделенный ключ End. Я пробовал несколько программ сопоставления клавиш, но ни один не работал. Я знаю, что ключи питания часто отображаются в процессе включения BIOS на довольно низком уровне, поэтому я собирался сдаться.

Именно тогда я нашел этот вопрос в стеке потока AskUbuntu: https://askubuntu.com/questions/580902/how-to-change-mapping-for-the-poweroff-key-on-keyboard

Там дано решение для ОС Ubuntu. Это тогда вернуло мне надежду, что сделать то же самое под окнами возможно. Поэтому мой вопрос здесь: как я мог правильно переназначить глупую кнопку питания Asus, чтобы вести себя так, как если бы это была клавиша «End»?

Мое предпочтительное решение будет делать это через реестр Windows. Только если это вообще невозможно, я бы хотел поэкспериментировать с возможностью использования внешних программ переопределения, которые должны быть загружены все время.

Что я попробовал точно:

Я на самом деле пытался как изменить реестр, а также с использованием внешнего программного обеспечения. Никакое бесплатное программное обеспечение, которое я мог найти, не позволило мне правильно переназначить ключ питания.

Изменяя реестр, лучшее, что я мог узнать, это сделать ключ NumLock ключом End (тогда NumLock будет доступен по Ctrl + Alt + PauseBreak):

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Раскладка клавиатуры

"Scancode Map" = 00,00,00,00,00,00,00,00,03,00,00,00,4f, e0,45,00,45,00,46, e0,00,00,00, 00

Само собой разумеется, это выделяется как довольно грязное решение, поскольку это создает больше беспорядка.

8
Извините, я не могу помочь, кроме как поддержать ваше представление о том, что это испорченный дизайн клавиатуры. Paul 6 лет назад 1
Используйте [SharpKeys] (https://github.com/randyrants/sharpkeys/releases), чтобы увидеть, генерирует ли ключ питания код сканирования ([учебное пособие] (https://www.howtogeek.com/howto/windows-vista). / карта-любой ключ к любому ключу-на-Windows-XP-Vista /)). Если у него его нет, он не может быть отображен, только отключен, как вы сделали. Максимум, что вы можете сделать, это сбросить его обратно, чтобы отключить питание, а затем перехватить это событие, но это больше проблем, чем оно того стоит. Примечание. Иногда длительное нажатие на эту кнопку - единственный способ выключить зависший компьютер в полуупорядоченном порядке. harrymc 6 лет назад 0
Вы не видели Mac или другие ноутбуки с клавишей питания на клавиатуре? У старых Mac даже есть клавиша извлечения DVD на клавиатуре. И нет, вы не можете переназначить клавишу, если она обработана микропрограммой клавиатуры и не генерирует какой-либо скан-код, как вы обычно не можете переназначить клавишу Fn в Windows. Дубликат: [Могу ли я переназначить клавишу питания на клавишу завершения в Windows 10?] (Https://superuser.com/q/1262161/241386) phuclv 6 лет назад 1
[Подключить кнопку питания системы в Windows] (https://stackoverflow.com/q/18392653/995714), [Как перехватить нажатие кнопки физического питания в Windows?] (Https://stackoverflow.com/q / 14593834/995714), [Запустить программу: жёсткое нажатие кнопки «Power»] (https://stackoverflow.com/q/48285507/995714) phuclv 6 лет назад 1
копия [Можно ли переназначить кнопку питания ПК или ноутбука?] (https://superuser.com/q/907609/241386), к сожалению, ее нельзя закрыть из-за награды phuclv 6 лет назад 0

1 ответ на вопрос

5
harrymc

Используйте клавиши Sharp, чтобы увидеть, генерирует ли клавиша Power скан-код на вашей клавиатуре. Если это так, то SharpKeys может переназначить ключ в реестре, который будет работать для всех программ.
См. Учебное пособие в статье « Сопоставление любого ключа с любым ключом» в Windows 10, 8, 7 или Vista .

В случае, если клавиша Power не генерирует скан-код под Windows, он не может быть сопоставлен, только отключен, как вы это сделали. Даже если Linux может переназначить его, потому что он обеспечивает лучший контроль над клавиатурой, это не относится к Windows.

Максимум, что вы можете сделать в этом случае, - это повторно активировать кнопку питания и вернуть ее обратно, чтобы снова отключить питание, а затем перехватить и отменить это событие, переназначив его на другую клавишу, например Endклавишу. Это может быть сделано с помощью AutoHotkey, но может быть больше проблем, чем оно того стоит. Если вам интересно, я могу расширить свой ответ, чтобы показать, как это делается.

Я отмечаю, что иногда использование кнопки «Питание» - это единственный способ выключить зависший компьютер в полуупорядоченном порядке.

Если вы ссылаетесь на сценарий предотвращения выключения в [AHK: OnMessage] (https://autohotkey.com/docs/commands/OnMessage.htm), обратите внимание, что ** «сообщается, что это НЕ работает в Windows Vista и более поздних версиях» **. Еще я бы хотел увидеть твою магию. guest-vm 6 лет назад 0
@guest: Есть несколько таких скриптов, которые можно найти. Я считаю, что API-программа может отменить завершение работы, без всякой магии, поэтому AHK должна быть в состоянии сделать это тоже. Но, как я уже сказал, это может не стоить того, чтобы указывать постеру на эти ссылки и просить его потратить свое время на их проверку, поскольку не всегда гарантируется, что эти решения будут работать во всех случаях. harrymc 6 лет назад 0