Каталог решений - Ноутбуки DELL против Обработка Прерывания Пользователя()

Ноутбуки DELL против Обработка Прерывания Пользователя()

Ноутбуки DELL против Обработка Прерывания Пользователя()

В наличии

Не так давно я заменил старый рабочий десктоп на ноутбук DELL. Клевый, быстрый, удобный, но еще перед покупкой озадачился одним интересным вопросом: а где кнопочка Pause/Break? Прерывание всяческих отчетов и обработок по Ctrl + Break приходится делать достаточно часто…

Категория:

Описание

Прошел месяц, и вопрос встал ребром: надо. Полез в интернет, сделал звонок другу. Интернет сказал что проблема не у одного меня, сыпанул всяческими комбинациями клавиш, якобы заменяющих Ctrl + Break, и выдал кучу ссылок на софт, позволяющий переназначить как отдельные кнопки, так и их комбинации. Друг написал скрипт, переназначающий Ctrl + PrintScreen на Ctrl + Break. И все вроде бы стало хорошо минут на 15…

Через 15 минут я понял что ни куча софта ни скрипт не работают в терминальной сессии. Для того чтобы это там работало, нужно это устанавливать на самом сервере терминалов. А заказчиков, с которыми я работаю через терминал, изрядное количество, и не везде политика безопасности позволяет мне самому там что-то устанавливать, да и хлопотно это.

И тогда на глаза попалась пара статей про то, что можно отловить сканкоды клавиш и переназначить их прямо через реестр, не применяя никакого софта. Собственно софт для переназначения кнопок через реестр есть, но все что мне попалось, кнопку Pause/Break переназначить было неспособно, так как сканкоды обычных клавиш имеют 2 байта, а она -3 байта.

Беглый взгляд на клавиатуру довольно быстро уперся в правый Alt, которым я практически не пользуюсь. И понеслось…

Сканкоды клавиш можно определить с помощью утилиты http://www.law.net.ru/technologies/k_remap/KeyCode.exe.

Так, сканкод Break – E0 46, правый Alt – E0 38. Выше я упомянул, что клавиша Break имеет сканкод в 3 байта, но замена двухбайтного кода работает.

Открываем Regedit.

На всякий случай делаем архивную копию реестра. В принципе модификация реестра заключается в добавлении одного параметра, но — береженого Бог бережет.

Заходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

Добавляем двоичный параметр ScanCode Map

Формат записи Scancode Map

00 00 00 00

00 00 00 00

02 00 00 00

46 E0 38 E0

00 00 00 00

00 00 00 00

00 00 00 00

всегда нули

всегда нули

Число замен +1

первая замена

вторая замена

третья замена

всегда нули 

 

«Число замен +1» — если одна замена, 1+1 = 2, заменить можно до 3х клавиш. Если замен меньше 3х, свободное место забиваем нулями.                                 

Замены клавиш записываются в формате   «два байта нового кода кнопки в обратном порядке»  «два байта старого кода кнопки в обратном порядке».

В моем случае в поле «Первая замена» заносим: 46 E0 (два байта Break в обратном порядке) 38 E0 (два байта правый Alt в обратном порядке), поля «Вторая замена» и «Третья замена» заполняем нулями.

Закрываем реестр с сохранением изменений.

Перезагружаемся.

Теперь правый Alt работает как кнопка Break, прерывать выполнение отчетов и обработок можно комбинацией клавиш Ctrl + правый Alt.

 

Использованы следующие источники:

http://www.law.net.ru/technologies/k_remap/index.htm

P.S. Спасибо Kom-off за написание скрипта переопределения клавиш.

has been added to your cart:
Оформление заказа