Реестр настройка клавиатуры

Оглавление:

Страна Админа

Популярно об информационных системах и технологиях

admin@adminland.ru

Главное меню

Поддержите adminland

Материалы читают десятки тысяч, комментируют просто десятки, а перечислить 10 рублей рука поднимается у единиц.

За семь месяцев 2018 года набралось уже 20 человек — им персональное спасибо.

Сумма абсолютно не важна — главное участие.

Понаблюдал на выходных — у церквей и музыкантам в переходах подают значительно активнее.

Настройка языковой панели и горячих клавиш для всех пользователей.

Как установить для уже созданных локальных пользователей определенные настройки языковой панели и задать комбинации клавиш для переключения языков?

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

Редактировать реестр

Опубликовано 8 мая, 2013 — 14:17 пользователем manager

Проблему можно решить путем редактирования реестра. А именно ветки HKCU для текущего пользователя или ветки соответствующей пользователю в HKEY_USERS или загрузить NTUSER.DAT пользователя.

Рассмотрим на примере HKCU

Смена языка ввода
HKCU\Keyboard Layout\Toggle\Hotkey (REG_SZ)
HKCU\Keyboard Layout\Toggle\Language Hotkey (REG_SZ)

Смена раскладки клавиатуры
HKCU\Keyboard Layout\Toggle\Layout Hotkey (REG_SZ)

1 — ALT+SHIFT
2 — CTRL+SHIFT
3 — не назначено
4 — ё

Языковая панель
HKCU\Software\Microsoft\CTF\LangBar\ShowStatus (REG_DWORD)
0 — располагается в произвольном месте
3 — скрыта
4 — закреплена в панели задач

HKCU\Software\Microsoft\CTF\LangBar\Label (REG_DWORD)
0,1 — отображать текстовые метки на языковой панели

HKCU\Software\Microsoft\CTF\LangBar\ExtraIconsOnMinimized (REG_DWORD)
0,1 — отображать дополнительные занчки языковой панели на панели задач

HKCU\Software\Microsoft\CTF\LangBar\Transparency (REG_DWORD)
0-255 — языковая панель прозрачна когда неактивна (255 — не прозрачна)

Кнопка справки на языковой панели
HKCU\Software\Microsoft\CTF\LangBar\ItemState\\DemoteLevel (REG_DWORD)
1 — показать
3 — скрыть

Если раздел или параметр отсутствует его нужно создать.

Опубликовано 8 мая, 2013 — 14:50 пользователем manager

Загружаем ветку реестра пользователя

reg load HKU\load c:\users\имя_пользователя\ntuser.dat

Создаем или перезаписываем параметр, определяющий клавиши для изменения языка ввода CTRL+SHIFT

reg add «HKU\load\Keyboard Layout\Toggle» /v Hotkey /t REG_SZ /d «2» /f

reg add «HKU\load\Keyboard Layout\Toggle» /v «Language Hotkey» /t REG_SZ /d «2» /f

Аналогично для раскладки клавиатуры устанавливаем ALT+SHIFT

reg add «HKU\load\Keyboard Layout\Toggle» /v «Layout Hotkey» /t REG_SZ /d «1» /f

Настраиваем свойства языковой панели

reg add «HKU\load\Software\Microsoft\CTF\LangBar» /v ShowStatus /t REG_DWORD /d 0 /f

reg add «HKU\load\Software\Microsoft\CTF\LangBar» /v Label /t REG_DWORD /d 1 /f

reg add «HKU\load\Software\Microsoft\CTF\LangBar» /v ExtraIconsOnMinimized /t REG_DWORD /d 0 /f

reg add «HKU\load\Software\Microsoft\CTF\LangBar» /v Transparency /t REG_DWORD /d 255 /f

Отключаем кнопку помощи на языковой панели

reg add «HKU\load\Software\Microsoft\CTF\LangBar\ItemState\» /v DemoteLevel /t REG_DWORD /d 3 /f

А теперь когда все готово нужен еще маленький штрих, без которого работать не будет. Изменяем параметр UserPreferencesMask имеющий тип REG_BINARY. Например, значение параметра как оно представлено в regedit 9e 1e 07 80 12 00 00 00 меняем на 9e 1e 07 80 12 01 00 00

Назначение всех бит мне неизвестно, на MSDN описаны только первые 4 байта. Поэтому просто посмотрите значение для текущего пользователя и измените его соответствующим образом.

reg add «HKU\load\Control Panel\Desktop» /v UserPreferencesMask /t REG_BINARY /d 9e1e078012010000 /f

Выгружаем ветку реестра

reg unload HKU\load

Заходим под пользователем — смотрим результат.

www.adminland.ru

Интересные настройки реестра – секреты реестра Windows

В данной статье мы рассмотрим интересные, а может для кого и полезные настройки операционной системы Windows с помощью реестра. С помощью этих настроек Вы сможете отключить надоедающие Вам функции Windows или изменить их по своему вкусу.

Добавление своей папки на боковую панель

Давайте приступим и для начала я покажу как добавить свои директории на боковую панель диалогового окна Explorer’а «Открыть/Сохранить».

Мне кажется, что Вы хоть раз хотели, чтобы при открытии или сохранении файлов, Вы имели доступ к любимой директории одним кликом мыши. WinXP предлагает стандартный набор — Сеть, Мои Документы, Рабочий стол и т.д., что не всегда удобно. Если Вас данный набор ярлыков не устраивает, то можно добавить свои, например следующим образом:

  1. Пуск->Выполнить->Regedit
  2. Найдите ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\comdlg32
  3. Щелкните правой кнопкой мыши на ключ comdlg32 и выберите Новый->Раздел
  4. Назовите новый раздел PlacesBar
  5. Щелкните правой кнопкой мыши на правой панели и выберите Новый->Расширенный Строковой параметр
  6. Назовите его Place0
  7. Щелкните правой кнопкой мыши на параметр Place0, выберите Изменить и пропишите в строке путь к желаемой директории, например C:\Downloads или %USERPROFILE%\Desktop
  8. Аналогичным образом создайте параметры Place1, Place2, Place3, Place4, прописывая путь к желаемым директориям (максимальное количество ярлыков — 5)
  9. Закройте Regedit.

Теперь давайте разберемся с клавишами клавиатуры, случайное нажатие на которых раздражает некоторых пользователей.

Отключение клавиши Windows

На некоторых современных клавиатурах присутствует клавиша Windows (как правило, логотип-флажок Майкрософт). Некоторым пользователям она мешает при быстрой печати. Чтобы отключить ее, нужно в реестре найти ключ

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout.

Создайте новый двоичный параметр, с заголовком Scancode Map и присвойте ему значение

00 00 00 00 00 00 00 00 03 00 00 00 00 00 5B E0 00 00 5C E0 00 00 00 00.

После перезагрузки клавиша Windows будет отключена.

Недостаточно места на диске

Если Windows постоянно выводит сообщения о том, что на диске мало места, то в разделе реестра

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explоrer

создайте параметр NoLowDiskSpaceChecks типа DWORD со значением, равным 1, — и Windows перестанет Вас оповещать.

Очистка файла подкачки перед перезагрузкой системы

Очистить файл pagefile.sys перед перезагрузкой системы. В данном файле может храниться конфиденциальная информация. Если данная опция включена, возможно, значительное увеличение времени выключения компьютера. Для того чтобы очищать этот файл сделайте вот что:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

ClearPageFileAtShutdown:DWORD =1 или 0

Включать Num Lock при загрузке

Определяет состояние кнопки Num Lock при вводе логина и пароля. Windows XP отключает Num Lock в любом случае, даже если в BIOS состояние Num Lock находится в положении включено, для того чтобы контролировать этот параметр используйте следующие настройки:

HKEY_USERS\.DEFAULT\Control Panel\Keyboard

InitialKeyboardIndicators:DWORD =2 — Num Lock включен, 0 — выключен

Автоматически выгружать не используемые библиотеки

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

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer

AlwaysUnloadDLL:DWORD = 1 — выгружать библиотеки, 0 — не выгружать

Отключить слежение Windows XP за пользователем

Операционная система Windows XP постоянно записывает действия пользователя, какие программы он запускал, какие открывал документы и т.д. В целях безопасности (да и просто, если охота) данную опцию можно отключить следующим образом:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

NoInstrumentation:DWORD = 1 — отключить слежение, 0 — включить.

Но помните, что при выключенной опции НЕ БУДЕТ СОХРАНЯТЬСЯ список часто вызываемых программ, недавние документы и пр.

Запрашивать пароль после выхода из ждущего режима

Для того чтобы при выходе из ждущего режима операционная система запрашивала пароль Вам необходимо сделать вот что:

HKCU\Software\Policies\Microsoft\Windows\System\Power

PromptPasswordOnResume:DWORD = 1 – запрашивать пароль

Показывать выполняемые команды при запуске и выходе из системы

Очень полезная настройка, с помощью которой Windows показывает информацию о выполняемых процессах во время загрузки системы. Поможет быстро выяснить, на запуск чего система тратит много времени и если возможно, отключить не нужные сервисы. Для этого сделайте следующее:

verbosestatus:DWORD значение 1 — показывать, 0 — стандартная загрузка

Не показывать имя последнего пользователя

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

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System

DontDisplayLastUserName:DWORD = 1 — убрать имя пользователя

Автоматически перезагрузить компьютер

Операционная система Windows всегда думает о пользователях, не прошёл мимо и факт зависания компьютера. Теперь Вам не надо тянуться к кнопке Reset (перезагрузка), компьютер может перезагрузиться самостоятельно, если произойдет непоправимая ошибка. Данную опцию можно настроить в «Свойствах системы», вкладка «Дополнительно», раздел «Загрузка и восстановление». А в реестре можно изменить следующую настройку:

HKLM\SYSTEM\CurrentControlSet\Control\CrashControl

AutoReboot: DWORD =1 – перезагружать компьютер, 0 – не перезагружать

Использовать свою программу дефрагментации диска

Дефрагментацию диска выполнять очень полезно, но многим стандартный дефрагментатор Windows не нравится, но Вы легко можете задать свою программу дефрагментации диска. Она будет вызываться, если Вы в свойствах диска, на вкладке Сервис нажмёте на кнопку «Выполнить дефрагментацию», для этого выполните следующие действия:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ MyComputer\DefragPath

EXPAND STRING (По умолчанию), система использует следующую командную строку %systemroot%\system32\dfrg.msc %c:

С помощью параметра %с передается имя диска. Замените программу на свою и все!

Использовать свою программу очистки системы

При очистке системы, по умолчанию Windows XP использует утилиту для очистки системы — CleanUP, которая также многим пользователям не нравится, вы можете заменить её на свою, следующим образом:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ MyComputer\cleanuppath

EXPAND STRING (по умолчанию), система использует следующую командную строку %SystemRoot%\system32\cleanmgr.exe /D %c

С помощью параметра %с передается имя диска. Для CleanUp если не задан параметр /D, то параметр %с игнорируется и система предлагает пользователю выбрать диск самостоятельно.

Проверка диска — изменение времени ожидания

При загрузке Windows после неправильного выключения запускается проверка дисков. При этом пишется что-то типа «Через 10 секунд начну проверять. «. Чтобы уменьшить время ожидания надо в разделе

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager

создать или отредактировать параметр AutoChkTimeOut типа DWORD и присвоить ему значение в секундах. По умолчанию установлена пауза в 10 секунд. Если Вы присвоите ему значение больше чем 259200 секунд (около 3 дней), то будет использоваться значение по умолчанию.

Активация Windows

Если Вам понадобилось по каким-то причинам сбросить текущую активацию Windows, то Вам необходимо в разделе реестра

HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\WPAEvents

изменить любую цифру в значении параметра OOBETimer. Это аннулирует текущую активацию. Далее запускаем активизацию системы, набираем в «Пуск -> Выполнить» следующее:

В окне «активизировать по телефону» вводим в окошке для серийника новый серийный номер.

Вот пока и все что я хотел рассказать и показать про настройки реестра или как многие называют – секреты реестра, т.к. в реестре можно изменить практически все, что можно настроить в Windows, т.е. в реестре хранятся все настройки операционной системы Windows, но не все умеют пользоваться этими настройками.

info-comp.ru

Реестр настройка клавиатуры

Иногда возникает желание переместить или отключить какие-то кнопки клавиатуры. Мысль, сделать это физически, не всегда плодотворна, хотя я встречал советы, выломать Caps Lock или Ins. Функциональность компьютерной клавиатуры в определенных пределах можно подогнать и софтверным путем. Начиная с Windows 2000 (включая XP, Vista и 7), существует возможность переопределения или отключения клавиш, для чего необходимо внести специальную запись в системный реестр Windows.

Плюс данного способа заключается в том, что изменения действуют для всех приложений, для самой Windows, в том числе в окне командной строки («консоль»). По понятным причинам функциональность клавиш при работе с BIOS не может быть изменена таким образом. Для сравнения, другие механизмы имеют более ограниченный «радиус действия»: макросы работают лишь внутри отдельно взятых прикладных программ; утилита ЮNIK преследует другую цель, а именно присвоение символьным клавишам произвольных символьных значений, со служебными клавишами она не работает

Важная оговорка: В то время как «ядро» механизма (стандартные клавиши, настройка всего компьютера целиком) работает единообразно, дополнительные функции требуют учета особенностей конкретной версии Windows и/или компьютера. Так описанная ниже перенастройка «валютных» клавиш ноутбуков фирмы Acer работает не во всех моделях. В некоторых версиях Windows возможно присвоение разных схем переопределения отдельным пользователям одного и того же компьютера.

Чаще всего необходимость в переопределении клавиш может возникать у пользователей ноутбуков. Особенность ноутбучных клавиатур заключается в том, что служебные клавиши часто располагаются по-разному. По этой причине могут возникать проблемы, например:
(1) При переходе с одного ноутбука на другой приходится переучиваться.
(2) Необходимо попеременно работать с несколькими компьютерами с разным рас­по­ложе­нием отдельных клавиш, например, на стандартной клавиатуре десктопа и нестандартной ноутбука.
(3) От приобретения неплохого ноутбука приходится отказаться по причине неудачного рас­положения всего лишь нескольких, но важных клавиш.

Как это делается

Необходимые изменения в реестр можно вносить разными способами. В частности, в Интернете находится (расположено & можно найти) некоторое количество программ, которые могут сделать это автоматически. Мы рассмотрим здесь правку реестра вручную, справиться с чем может, в принципе, почти любой мало-мальски знакомый с компьютером пользователь. Для этого запускаем программу regedit (Пуск/Start – Выполнить/Run – regedit). В реестре ищем позицию:

Создаем здесь новую двоичную запись («двоичный параметр») под названием Scancode Map. Плавающее меню «Создать» и диалог для обработки двоичного параметра, показанные на картинках ниже, вызываются кликом правой кнопки мыши, соответственно внутри пустого пространства редактора реестра либо по имени параметра, который нужно изменить. Эти команды можно вызвать и через позицию «Правка» меню окна regedit.

Данная запись может быть отредактирована средствами regedit.

Она имеет строго предписанную структуру, описание которой может быть найдено в следующем документе компании Microsoft: http://www.microsoft.com/whdc/archive/w2kscan-map.mspx

Cтруктуру данной строки можно пояснить на примере ниже, все числа – в шестнадцатеричной форме (hexadecimal):

Группировки по две шестнадцатеричные цифры – 00, E0, 3A и т.д. – означают отдельные байты, знание чего пригодится нам чуть ниже. Промежутки введены исключительно для удобства восприятия человеком, ту же самую строчку можно записать следующим образом:

Поле число записей содержит число полей по 4 байта (= 8 шестнадцатиричных цифр; = 32 бита), расположенных после этого этого поля, и равно числу замен + 1. Если строка Scancode Map создана, но ни одна клавиша не переназначена, то это поле должно содержать значение 1.

В более развернутом виде, число записей образуется путем суммирования следующих позиций:
(1: факультативно) число пар клавиш, обменивающихся своими функциями, * 2 +
(2: факультативно) число клавиш, получающих новые функции, но не отдающих свои +
(3: факультативно) число отключаемых клавиш +
(4: всегда) один (последняя цепочка нулей).
Например, если мы меняем местами Del и Ins, что требует две записи, а Caps Lock отключаем совсем, для чего нужна одна запись, то здесь нужно поставить число 04000000 (1*2 + 0 + 1 + 1).

Ключевую роль играют поля замена , содержащие т.н. скан-коды клавиш, которые генерируются клавиатурой. Скан-коды, как правило, состоят из одного или двух байт, хотя известны и более длинные комбинации. В реестре всегда должны быть указаны два байта (= 4 цифры), поэтому, если скан-код состоит из одного байта (= две цифры), то две недостающие цифры просто заменяются нулями. Сразу нужно указать на то, что порядок записи байтов в реестр обратный (т.н. little endian). Проиллюстрировать это лучше всего на примерах:

  • скан-код клавиши Enter – 1C; для получения двухбайтовой комбинации это число нужно предварить двумя нулями, итого получаем – 00 1С; при вставке в реестр нужно поменять порядок байт на противоположный – 1С 00
  • скан-код клавиши PgUp изначально содержит два байта – E0 49; следовательно, нам нужно лишь поменять их местами при записи в реестр – 49 E0

Каждое из полей первая и вторая замена содержат скан-коды двух клавиш. Вначале идут четыре цифры, означающие скан-код той клавиши, функцию которой данная физическая клавиша должна начать выполнять после переопределения. Последние четыре цифры означают первоначальный скан-код самой физической клавиши, что соответствует символу, который на нее нанесен. Еще раз обратим внимание: порядок пар цифр (= байтов), вводимых в реестр, должен быть обратным по сравнению со скан-кодом. Структура отдельной замены выглядит следующим образом:

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

В случае, если клавиша просто отключается ( третья замена ), то вместо скан-кода новой функции ставятся четыре нуля. Например, запись для отмены (запрета, деактивации) клавиши Caps Lock будет выглядеть следующим образом: 0000 3A00.

Скан-коды могут быть получены из различных источников в Интернете, например: http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc (колонка «scan 1 make»)

Можно воспользоваться и простой утилитой KeyCode.exe. Для вставки в реестр используется шестнадцатеричное значение из левого поля в сегменте Scan Code initially. В сегменте Scan Code reaching your Application показывается значение скан-кода после переопределения. Если такового нет, то соответствующие – шестнадцатеричные (слева) и десятичные (справа) – значения обоих сегментов должны совпадать. Утилита работает описанным образом для подавляющего большинства стандартных клавиш. Исключение составляют Pause, Num Lock и PrtScr.

Pause и PrtScr являются типичными примерами «сложных» клавиш. Вышеприведенный источник содержит дополнительную информацию по этому поводу. Скан-код клавиши PrtScr – E0 2A E0 37; клавиши Pause – E1 1D 45 E1 9D C5. Однако, как показывают эксперименты, для PrtScr можно ограничиться использованием последних двух байт, или, точнее, первых (и здесь играет роль обратный порядок записи). Иными словами, четырехзначная комбинация, которая должна быть внесена в реестр, для этой клавиши будет выглядеть как 37 E0. Дополнительные технические детали относительно работы KeyCode.exe и скан-кодов приведены на этой странице.

После изменения реестра компьютер необходимо перезагрузить либо выйти/войти с завершением сеанса текущего пользователя. Если эксперименты оказались неудачными и путеводная звезда потеряна, то позицию Scancode Map можно просто-напросто стереть. Ниже приведены два примера из практики, когда переопределение клавиш оказалось полезным.

«The Application key can be located wherever it appropriately fits.»
Microsoft

В какой-то момент развития компьютеростроения стандартная клавиатура показалась скучноватой и компания Microsoft решила обогатить ее двумя (или тремя, как считать) новыми клавишами. Одной из них стала клавиша Application, назначение которой заключалось в вызове контекстного (= плавающего) меню. Однако, так как пользователи привыкли вызывать это меню правой кнопкой мыши, популярность новой клавиши оказалась скромной. Отказаться от нее совсем было нельзя, иначе такая клавиатура не прошла бы тест на Windows-совместимость и не смогла бы носить гордый предикат Designed for Windows YX, а вот отправить куда-нибудь на периферию, можно было вполне, тем более что на это было дано явное разрешение самим Майкрософтом. Для сравнения, подобная вольность в отношении другой новой кнопки (или кнопок) с логотипом Windows не приветствовалась, ее следовало располагать поблизости от вспомогательных, но важных клавиш Ctrl, Alt и Shift.

Большинство производителей не воспользовались великодушием поставщика ОСов и слепо влепили кнопку Application туда, где ее нарисовали программисты из Редмонда, т.е. между правыми Alt и Ctrl. Иным был подход компании Toshiba, которая отправила Application в крайний правый угол, а ценное место заняла кнопками |, Ins и Del. Насчет правильности решения в отношении первых двух не уверен, а вот расположение Del в районе между клавишей Space (Пробел) и блоком стрелочных клавиш мне понравилось. В итоге чего на своем новом ноутбуке, пришедшем на смену Тошибе, я присвоил кнопке Application функцию Delete. Заодно, клавиши Ins и Del оказались разнесенными, что тоже является положительным эффектом.

Скан-код клавиши Application – E0 5D; Del – E0 53. Следовательно, строчка для обмена функциями будет выглядеть следующим образом:

00000000 00000000 03000000 5DE053E0 53E05DE0 00000000

Зачем нам валюта?

При разработке своих ноутбуков фирма Acer проявила чудеса инновативности (или все же инновационности?) и ввела в блоке «стрелочных» клавиш две отдельные кнопки для валютных единиц: € и $. Лично мне оба этих знака нужны нечасто. А вот против того, чтобы рядом с четырьмя стрелочными клавишами находилась пара других для управления курсором, например, Home и End, я ничего не имею. Кстати, именно таково конструктивное решение в некоторых ноут- и нетбуках, например, LG X110. Интересно отметить, что хотя этот нетбук и производится на основе MSI Wind, но его клавиатура представляет собой специальную разработку: Это касается не только разумного расположения клавиш, но и прекрасных механических характеристик; на мой взгляд клавиатура LG X110/130 на текущий момент является одной из лучших в классе нетбуков.

Скан-код клавиши «евро» – E0 33; «доллар» – E0 34. Следовательно, строчка для присвоения обеим клавишам значений Home и End, соответственно, будет выглядеть следующим образом:

00000000 00000000 03000000 47E033E0 4FE034E0 00000000

Замечание : Для получения нужного эффекта при переназначении «валютных» клавиш в ноутбуках фирмы Acer, загружаемая по умолчанию утилита Launch Manager должна быть выгружена. Если по каким-то причинам вы не можете пойти на этот радикальный шаг, то в файле mmkeybd.cfg (расположенном в директории программы, скорее всего, C:\Program Files\Launch Manager) нужно закомментировать соответствующие строчки (номера клавиш в начале строк могут быть другими, ориентироваться при поиске следует на скан-коды и комментарии; клавиша Dollar Symbol может называться Money Symbol):

; Key 23 = 1, E0,33, E0,B3,F508,Euro Symbol
; Key 24 = 1, E0,34, E0,B4,F509,Dollar Symbol

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

В ноутбуках фирмы Toshiba Launch Manager называется Easy Button, а соответствующий конфигурационный файл находится в директории этой программы C:\Program Files\EzButton и может называться ezbutton.cfg или cpldbl10.cfg.

Коварная Fn-кциональность

В ноутбучных и малогабаритных клавиатурах используется клавиша Fn . Как правило, она находится справа от левого Ctrl. У ноутбуков Lenovo – наоборот. В некоторых ноутбуках, например, lenovo x100e в BIOS’е есть настройка, позволяющая поменять левый Ctrl и Fn местами. Техническая реализация клавиши Fn отличается от других и привязана к «железу», а не к операционной системе, а это означает, что механизм переопределения с помощью записи в реестр Windows здесь не поможет. Поэтому, хотя эта клавиша и может генерировать скан-код – неодинаковый у разных моделей ноутбуков –, ее полноценное переопределение с помощью записи в реестр, как подтвердили эксперименты, невозможно. Даже если клавише Fn присвоить какое-то другое значение скан-кода, и она будет выполнять соответствующую ему новую функцию, свою прежнюю функциональность она при этом не потеряет. Аналогично, если присвоить скан-код клавиши Fn какой-то другой, это не приведет к тому, что эта другая клавиша начнет выполнять функции Fn.

Вместе с тем, я допускаю, что в каких-то моделях ноутбуков (которые можно назвать «100 проц. Win-book») или клавиатур такое переназначение все-таки возможно, поэтому стоит, как минимум, попробовать. Скан-код клавиши Fn может быть определен с помощью представленной выше утилиты KeyCode. Последующее ничем не отличается от переназначения других клавиш.

Внимание : Манипуляции с системным реестром могут привести к сбоям в работе с компьютером! Автор данной страницы не несет ответственности за вызванные тем самым проблемы.

www.law.net.ru

Предыстория

Спецификация для Windows.
При нажатии любой клавиши контроллер клавиатуры вырабатывает скан-код, соответствующей позиции клавиши, который передаются в компьютер. Служебные коды, которые может вырабатывать контроллер клавиатуры, передаются для обработки подпрограммам BIOS. В буфере клавиатуры для кода клавиши отводится по 2 байта, т. е. он рассчитан на 16 символов.

Узнать Скан-код необходимой для ремаппинга клавиши вы можете здесь, а если у вас супер новая клавиатура с кнопками космического происхождения, то отловить скан-код вы можете используя программу «KeyboardTest» от разработчика Passmark Software. Программка платная, но бесплатным триалом. Или OpenSource Программу SharpKeys. Она потребовалась для определения скан-кода левой «\», так как многие наивно полагали что сигналы у обеих одинаковые, а значит и не подлежат ремаппингу. На деле оказалось не так.

Правый «\» имеет скан-код: 2b.00
Левый нижний «\» имеет скан-код: 56.00

И так, мы определили скан-код нашей незадачливой кнопки, теперь нам нужно найти скан-код «LShift». Его можно найти по данной выше ссылке и он равен: 2A.00

Ремаппинг клавиш

Есть куча приложений которые делают этот ремаппинг, многие за базу принимают существующие скан-коды, многие не имеют сканера, что бы определить скан-код клавиши которой нет в базе. Да и устанавливать лишнее приложение очень не хотелось. По-гуглив я остановился на возможностях Windows. а точнее редактора реестра (Пуск-Выполнить: regedit). Или вышеупомянутую программу SharpKeys, которая имеет GUI и выполняет такую же замену в реестре

1. В ветке
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
создайте бинарный параметр с именем «Scancode Map»
2. В параметр «Scancode Map» записываем следующие значения:
00.00.00.00.00.00.00.00.02 — девятый байт (02) в этой записи означает количество клавиш которое мы будем менять (и равен количеству клавиш +1) в нашем случае это 02, так как мы меняем значения одной клавиши. После этого вписываем еще три «пустых» байта, и теперь наш параметр выглядит так:
00.00.00.00.00.00.00.00.02.00.00.00.
Поскольку мы уже определили все Скан-коды, то продолжая наш параметр, нам следует указать скан-код значения новой кнопки (в нашем случае это 2A.00), а затем скан-код старой (заменяемой) кнопки 56.00. Теперь необходимо закрыть эту функцию четырьмя «пустыми» байтами, то есть 00.00.00.00:

3. Перезагружаем компьютер и пользуемся нашими новыми кнопками.

PS: Если нужно сделать ремаппинг не на всем ПК, а только в вашем сеансе, то значения необходимо менять в HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Control\Keyboard Layout

UPD: Если вы боитесь работать в реесте, то создайте текстовый файл с расширением *.reg, и впишите туда следующее:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«Scancode Map»=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,56,00,00,00,00,00
затем сохраните, запустите, и перезагрузите ПК.

UPD2: Перенос Скриншотов на
1. Левый Win-key выглядит так:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«Scancode Map»=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,E0,5B,E0,00,00,00,00
Правый Win-key выглядит так:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«Scancode Map»=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,E0,5C,E0,00,00,00,00

m.habr.com