Новиков новини - скан-код ремаппінг клавіш на клавіатурі, скан коди клавіш, scancode map, архів


Все своє життя був фанатом безшумних, тонких, і красивих клавіатур і на мій подив виявив що таких не так вже й багато, з доступних у вільному продажу, - їх одиниці. Довелося користуватися «Genius SlimStar Pro», і все одно вона мене гнітила, як і думка про те, що я ніколи не знайду клавіатуру яка б задовольняла мене на всі 100%. Я таку знайшов і за рекомендацією товаріщаBoomburum. придбав "Illuminated Keyboard", яка стала гідною подругою моєї "MX Revolution", і я остаточно порвав відносини з Genius, а последніерасскази про підтримку користувачів з боку Logitech. переконали мене, що вкладені (не малі гроші) себе виправдають за 3 гарантійних року.

Але є невелика біда в клавіатурах цієї компанії, - "Чи не стандартні, що не зручні, або непотрібні розташування деяких кнопок". У разі сIlluminated. це дві однакові кнопки "". ліва з яких пішла на шкоду клавіші «LShift», речі на картинці ви можете помітити що раніше ці клавіатури мали стандартний розмір «LShift». Під катом, я розповім як повернути «стандартну довжину» цієї кнопки, так як в сліпий друку і в силу звички, я натискаю саме / замість шифт. А заодно розповім як без додаткового встановленого ПО, на прикладі, ви зможете змінювати призначення будь-яких клавіш ваших клавіатур (в тому числі і функціональних / медійних) за допомогою Реєстру та Скан-коду клавіш.


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


Дізнатися Скан-код необхідної для ремаппінга клавіші ви можете тут. а якщо у вас супер нова клавіатура з кнопками космічного походження, то відловити скан-код ви можете використовуючи програму "KeyboardTest" від розробника Passmark Software. Програма платна, але безкоштовним триалом. Або OpenSource ПрограммуSharpKeys. Вона потрібна була для визначення скан-коду лівої "", так як багато наївно вважали що сигнали в обох однакові, а значить і не підлягають ремаппінгу. На ділі виявилося не так.

Правий "" має скан-код: 2b.00
Лівий нижній "" має скан-код: 56.00

І так, ми визначили скан-код нашої невдалої кнопки, тепер нам потрібно знайти скан-код «LShift». Його можна знайти за цією вище посиланням і він дорівнює: 2A.00

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
потім збережіть, запустіть, і перезавантажте ПК.