Як призначити esc іншу клавішу. Як призначити клавіші на клавіатурі з непрацюючими або відсутніми кнопками. Перепризначення через системний реєстр

17.11.2019 Цікаве

Програма перепризначення клавіш клавіатури, кнопок миші та прокручування колеса Key Remapperдозволяє:

    Перезначити клавіші клавіатури,натискання кнопок миші та прокручування колеса мишіновими значеннями з можливістю задавати клавіші та кнопки миші, що не присутні на клавіатурі. Наприклад, клавішу CapsLock можна замінити на "Середню кнопку миші", F11 на "Прокручування колеса миші вниз", F12 на Win, Browser Home або "Кнопку миші X2" (які можуть бути фізично відсутні на пристроях введення).

    Проводити зворотну заміну клавіш та кнопок миші, тобто. віртуально змінювати їхнє функціональне призначення. Наприклад, можна віртуально поміняти місцями правий Shift та Enter, "Середню кнопку миші" і лівий Shift.

    Замінюватипевні клавіші чи кнопки миші комбінаціями клавіш або кнопок миші з модифікаторами. Наприклад, можна встановити натискання клавіші на мультимедійній клавіатурі Browser Forward - комбінацію Alt+Shift+Esc (швидке перемикання програм), кнопку миші X1 встановити комбінацію Ctrl+C (скопіювати), на правий Alt встановити комбінацію Ctrl+”Ліва кнопка мыши”.

    Емулювати подвійний клік кнопок миші або подвійне натискання клавіш клавіатуриз можливістю задавати затримку між натисканнями (подвійний клік із затримкою).

    Блокувати (відключати) клавіші клавіатури, кнопки миші, прокручування колеса мишіта їх комбінації з клавішами модифікаторами.

    Обмежуватидія перепризначень та блокувань певними програмами та вікнами. Наприклад, можна визначити, щоб заміна кнопки миші X1 на клавішу "Пробіл" здійснювалася лише у програмі "A" і ніде більше. Або щоб клавіша NumLock замінювалася на комбінацію Ctrl+C+C (подвійне натискання C) скрізь, крім програми, в заголовку вікна якої є слово "B".

    Створювати та швидко(у два кліки мишею) перемикати профілі наборів клавіш.

При цьому програма не робить жодних змін скан-кодів у системному реєстріі не вимагає перезавантаження комп'ютера, щоб заміни клавіш набрали чинності.

За допомогою Key Remapperможливо перепризначати практично будь-які клавіші та кнопки миші.

Системні вимоги: Windows 10/8.1/8/7/Vista/2008/2003/XP/2000

Знімки екрану


Як користуватись програмою

Скачування та встановлення програми Key Remapper

Для роботи з програмою необхідно завантажити інсталяційний дистрибутив, а потім запустити його. Почнеться встановлення, після якого програма буде готова до використання. Після запуску програми на екрані з'явиться вікно на малюнку:

Робота з програмою

У верхній частині екрана розташований список вибору профілю і кнопки для роботи з ними. Поруч знаходиться кнопка "Пауза", яка дає змогу тимчасово відключати програму. Нижче знаходиться основна область, в якій визначаються заміни та блокування клавіш.

Профілі

Для певних програм і цілей потрібні різні набори клавіш, тому в програмі передбачені профілі, за допомогою яких можна створювати набори різноманітних замін та відповідності клавіш, які можна налаштовувати та за потреби швидко перемикати. Їх можна створювати (кнопка "Додати новий"), перейменовувати (кнопка "Перейменувати") і видаляти (кнопка "Видалити").

Під час створення профілю з'являється вікно, в якому потрібно ввести ім'я профілю та вибрати, чи буде новий профіль заповнений даними поточного чи ні.

Перемикати створені профілі можна за допомогою списку, що випадає, або через контекстне меню, яке викликається правою кнопкою миші на значку програми в панелі завдань.

Визначення, заміна та блокування

Для заміни однієї клавіші на іншу необхідно визначити клавішу або кнопку миші, яка фізично натискатиметься і клавішу, яка буде передана системі, як натиснута:

Щоб визначити заміну клавіші, кнопки миші або прокручування колеса, здійсніть подвійне клацаннямишею на рядку "(двічі клацніть, щоб додати)". Цю операцію також можна виконати за допомогою клавіші Insert або за допомогою контекстного меню:

З'явиться вікно, показане на малюнку:

При появі цього вікна, фокус автоматично переходить на визначення клавіші/кнопки миші.

Натисніть потрібну клавішу, кнопку миші (для визначення лівої кнопки миші - утримуйте клавішу Ctrl або будь-який інший модифікатор) або прокрутіть колесо миші та виберіть, що потрібно зробити: замінити іншу клавішу чи комбінацію чи заблокувати?

Якщо потрібно визначити нове значення клавіші, встановіть курсор у полі введення під прапорцем "Змінити на клавішу, кнопку миші або комбінацію" і натисніть на клавіатурі необхідну клавішу або комбінацію (утримуючи клавіші модифікатори Alt, Ctrl, Shift та/або Win натисніть основ). Якщо на клавіатурі немає відповідних клавіш, їх можна визначити, вибравши основну клавішу зі списку. Якщо потрібно встановити клавіші модифікатори, поставте навпроти їх найменувань галочки. Якщо необхідно натиснути кнопку миші або повернути колесо миші, натисніть їх або виберіть у списку, що випадає, дію, що починається з "Миша ...". Наприклад: "Миша - натиснути праву кнопку", "Миша - повернути колесо вгору" і т.п.

Якщо потрібно заблокувати клавішу, виберіть прапорець "Заблокувати". Якщо прапорець "Повне блокування" не встановлено, то просте натискання клавіші буде блокуватися, але при натиснутих модифікаторах (Ctrl, Shift тощо) клавіша блокуватися не буде. Якщо прапорець встановлений, буде повне блокування. Наприклад, якщо заблокувати клавішу "A" і не встановити прапорець "Повне блокування", то комбінація Ctrl+A буде працювати. Але якщо повне блокуваннявключити – не буде.

Після закінчення визначення натисніть кнопку "OK".

Якщо програма не стоїть у режимі "Пауза", то заміна вже працюватиме.

Якщо потрібно віртуально поміняти клавіші та/або кнопки миші місцями, необхідно провести дві заміни клавіш - одну на іншу і навпаки.

Важливо, що одну клавішу не можна поставити дві і більше дії заміни чи блокування. Якщо таке відбувається, то виконується те, що знаходиться вище у списку. Якщо одна дія знаходиться в папці, а інша на цю клавішу знаходиться нижче її, то буде виконана дія з папки.

Робота із замінами та блокуваннями

Програма дозволяє структурувати заміни та блокування у папках, які можна створювати за допомогою комбінації клавіш Ctrl+Insert або через контекстне меню – "Вставити папку".

Ви можете вільно переміщати дії та папки просто перетягуванням миші. Якщо на початку перетягування натиснуто клавішу Ctrl, дія або папка копіюються. Також передбачені звичні функції вирізування, копіювання, вставки та видалення.

Якщо потрібно тимчасово вимкнути будь-яку заміну чи блокування, або навіть усю папку, можна скористатися клавішею "Пробіл" або контекстним меню - "Вимкнути...". Для увімкнення необхідно повторити операцію.

Гарячі клавіші програми

Ctrl+P Увімкнути паузу
Insert Вставити дію (заміну чи блокування)
Shift+Insert Вставити папку
Enter Додати/Змінити папку або дію залежно від контексту
Space Вимкнути/Увімкнути дію або папку (включаючи всі дії, які вона містить)
Ctrl+Space Вимкнути всі дії папки
Shift+Space Увімкнути всі дії папки
Ctrl+Shift+Space Інвертувати стан усіх дій папки (включити вимкнені та вимкнути увімкнені)
Delete Видалити папку або дію
Ctrl+Delete Видалити всі папки та дії (очистити поточний профіль)
Shift+Вгору Підняти папку або дію вгору
Shift+Вниз Опустити папку або дію вниз
Ctrl+X Вирізати дію чи папку
Ctrl+C Копіювати дію чи папку
Ctrl+V Вставити дію або папку

В основному, складнощі з гарячими клавішами виникають у випадку, коли часто доводиться використовувати кнопки під час роботи. Наприклад, при зміні мови з англійської на російську. Встановлення необхідної комбінації клавіш врятує невдаху від неприємних миттєвостей і пошуку варіантів. Давайте прямо зараз поговоримо про те, як змінити кнопки.

У діалоговому вікні «Налаштування» можна легко переставити або змінити клавіші панелі інструментів, команди меню або меню. Фахівці розробили інструкції щодо зміни налаштувань за допомогою миші або за допомогою клавіатури. Ми розповімо про всі варіанти. Спочатку розповімо, як змінити призначення клавіш для відкриття діалогового вікна, використовуючи мишу.

Прості способи

Таких методів існує три.

Варіант 1

  • У меню Сервіс вибираємо команду "Налаштування".
  • Панель інструментів, яку ви хочете змінити, має бути видимою.
  • У вікні "Налаштування" переходимо на "Панелі інструментів".
  • Позначаємо панель інструментів, яку потрібно відобразити.
  • У вікні "Налаштування" вибираємо вкладку "Команди".

Варіант 2

  • Натискаємо кнопку панелі інструментів.
  • У вікні "Налаштування" на вкладці "Команди" клацаємо "Змінити виділений об'єкт".
  • Натискаємо ВВЕДЕННЯ.
  • У вікні "Налаштування" натискаємо "Закрити".

Варіант 3

Змінюємо клавіші для команди меню:

  • Вибираємо команду меню.
  • У вікні "Налаштування" натискаємо "Змінити виділений об'єкт".
  • У графі «Ім'я контекстного меню» вводимо ім'я потрібної кнопки панелі інструментів, натиснувши амперсанд (&) перед тією літерою, якою збираєтеся надати значення клавіші швидкого вибору.
  • Натискаємо ВВЕДЕННЯ, а потім «Закрити» у вікні «Налаштування»

Як змінити клавіші на клавіатурі за допомогою клавіатури

Усього існує два варіанти зробити це.

Варіант 1

  • Натискаємо ALT + Е (російське), вводимо "н". Так відкриється вікно "Налаштування".
  • Панель інструментів, яку ви збираєтеся змінити, має бути видимою.
  • У вікні "Налаштування" натискаємо ALT + І. Так відкриється вкладка "Панелі інструментів".
  • Використовуємо кнопки зі стрілками, щоб вибрати панель інструментів. Тепер натискаємо ПРОБІЛ для вибору панелі інструментів.
  • У вікні "Налаштування" натискаємо ALT + К (російське) для відкриття вкладки "Команди".

Варіант 2

  • Натискаємо клавіші ALT+R, щоб відкрилося вікно «Перестановка команд»
  • За допомогою клавіш стрілок для вибору знайдемо «Панель інструментів».
  • Натискаємо клавішу TAB та переміщуємося до списку «Панель інструментів», потім використовуємо кнопки зі стрілками для вибору клавіші, яку хочемо змінити. Натискаємо ВВЕДЕННЯ.
  • Натискаємо TAB, щоб переміститися до списку «Елементи керування» та за допомогою клавіш зі стрілками вибираємо кнопку, яку потрібно змінити.
  • Натискаємо ALT + Ы щоб вибрати «Змінити виділений об'єкт».
  • Натискаємо TAB та переміщуємось до поля «Ім'я контекстного меню». Вводимо ім'я потрібної кнопки панелі інструментів, натиснувши амперсанд (&) перед літерою, якою збираєтеся присвоїти значення клавіші швидкого вибору.
  • Натисніть Enter.
  • За допомогою TAB переміщуємося до кнопки «Закрити» і натискаємо ВВЕДЕННЯ.

Змінюємо клавіші через "Пуск"

Для зміни деяких комбінацій клавіш можна скористатися і стандартним менюПуск. Ми розповімо, як змінити гарячі клавіші, наприклад, для швидкого перемикання з однієї мови на іншу.

  • Виберемо в меню "Пуск" параметри "Налаштування"
  • Потім - "Панель управління"
  • Далі – «Мова та регіональні стандарти»
  • Потім пройдемо шлях "Мов" - "Докладніше" - "Параметри клавіатури" - і "Зміна сполучення клавіш".
  • У вікні виберемо ту комбінацію клавіш, яка здасться найбільш зручною: Alt + Shift або Ctrl + Shift.
  • Натискаємо "ОК" у всіх відкритих вікнах.

Тепер ви знаєте, як змінити поєднання клавіш на ПК усіма зручними способами. Приємної роботи!

Питання від користувача

Добрий день.

У мене ноутбук вже десь близько 4-5 років. І кнопка "я/z" перестала спрацьовувати (точніше, якщо на неї сильно натиснути - тільки тоді спрацює). Хотів замінити клавіатуру, але точно такої ж ні (прилаштовувати схожу - це означає зіпсувати ноутбук).

Не підкажіть, як замість "я" перепризначити клавішу, скажімо, на лівий "Ctrl (їм все одно майже не користуюся, звик до правого). Пробував утиліти KeyExtender, SharpKeys (і ще якусь назву вже не пам'ятаю), але вони у мене чомусь не заробили (можливо захист системи не дає).

PS використовую зараз Windows 8.

Доброго дня!

Також додам, що з подібним завданням стикаються не тільки ті, у кого не працює певна клавіша, але й ті, хто хоче покращити керованість персонажа в грі, задати на одну клавішу відразу послідовність натискань, ті, хто взагалі хоче відключити зайві кнопки (наприклад, такі можуть бути мультимедійної клавіатурі).

У статті розгляну кілька утиліт, і покажу на скрін як виконати це завдання. Приступимо до справи?

"Міняємо" одну кнопку на іншу

MapKeyboard

Розробник: http://www.inchwest.com

Одна з найнадійніших у плані роботи утиліт. Принаймні у мене вона працювала як у "старих" Windows 2000/XP, так і щодо нових ОС Windows 8/10.

Утиліта дуже компактна і не потребує встановлення. Після запуску, для заміни клавіші, вам потрібно виконати всього 3 дії (вони у мене позначені на скрині вище):

  1. вибрати клавішу, натомість непрацюючий (наприклад, лівий Ctrl);
  2. потім вказати у графі "Remap selected key to" клавішу, яка не працює (тобто замість неї буде використано лівий Ctrl);
  3. натиснути кнопку збереження "Save layout" (система буде перезавантажена). Після перезавантаження - замість Ctrl, спрацьовуватиме кнопка "Z".

Якщо ви бажаєте скинути всі введені зміни: скористайтеся кнопкою "Reset keyboard layout".

KeyTweak

Сайт розробника: http://webpages.charter.net/krumsick/

Головне вікно KeyTweak: дія №1

Проста, але надійна програма, що дозволяє змінювати призначення клавіш на клавіатурі. Дозволяє поміняти scan-код клавіш між собою або взагалі відключити окремі клавіші.

Зазначу, що користуватися програмою вкрай просто (попри те, що вона не має перекладу російською). Спочатку вибираєте клавішу, яка у вас погано спрацьовує, потім у графі "Choose New Remmaping" вказуєте клавішу натомість, і натискаєте кнопку "Remap Key" (див. скрін вище).

Після цього прийміть зміни (кнопка "Apply" у нижньому правому куті екрана) і погодьтеся на перезавантаження комп'ютера.

Власне, перезавантажившись, ваші клавіші виконуватимуть "нові" призначені дії. Зручний, простий та ефективно працюючий інструмент!

Key Remapper

Головне вікно програми (після встановлення та запуску програми).

Цю програму просто не міг не відзначити у цій статті. Вона не просто дозволяє перепризначати окремі клавіші клавіатури, а й дозволяє задавати цілі комбінації натискань: як вам, наприклад, якщо на коліщатко мишки ви повісите Alt+Shift+Esc (швидке перемикання програм)?! Також за допомогою кнопок на клавіатурі можна емулювати роботу мишки.

І ще одна важлива деталь: налаштувати заміну можна тільки в певних додатках (що, безсумнівно, сподобатися любителям ігор: адже можна отримати певну перевагу та прискорити свою реакцію, якщо за натисканням на одну кнопку буде виконуватися ціла комбінація!).

Програма підтримує кілька профілів (наприклад, можна створити набір замін під кожну гру окремо).

Важливо: програма не робить жодних змін у реєстрі системи, не вимагає перезавантаження ПК для того, щоб зміни набули чинності.

Щодо використання: то тут все просто:

  • вказуєте спочатку ту клавішу, яку хочете змінити;
  • а потім у другій графі ту клавішу, яка замінить її. Див. скрін нижче.

Зазначу, що повна версіяпрограми платна. Однак, знайомство можна спокійно почати з безкоштовного продукту. Рекомендую!

Доповнення вітаються...

Всього найкращого!

Порада 1: Як змінити функцію клавіші

Функції окремих клавіш та їх поєднань, задані в Windows за промовчанням, не завжди влаштовують користувачів. У ОС Microsoft існує можливість міняти функціюдеяких клавіш, здійснюючи зміни у реєстрі, проте ці можливості дуже обмежені. Тим, хто хоче радикально змінити функціональність своєї клавіатури, підлаштовуючи її роботу оптимальним для себе чином, необхідно вдатися до сторонніх програм.

Вам знадобиться- комп'ютер з встановленою Windows;- доступ в Інтернет.

Інструкція

1. Одним із найкращих безкоштовних додатківДля перепрограмування клавіатури є Mkey. Зайдіть на сайт http://www.seriosoft.org, завантажте програму на свій комп'ютер та інсталюйте її. При установці Mkey змінює драйвера клавіатури на власні і повністю підпорядковує собі роботу клавіатури.

2. Якщо ви бажаєте змінити функціюякийсь клавіші, відкрийте вікно програми та увійдіть у меню «Клавіші». Клацніть правою кнопкою миші у лівій зоні вікна та виберіть опцію «Додати». Після появи діалогового вікна натисніть клавішу, функціюяку хочете змінити, і введіть у форму будь-яку назву цієї клавіші. Підтвердивши рішення натисканням кнопки «Ок», виберіть у центральній зоні вікна одне з дій, виконання якого хочете доручити цієї кнопці. Підтвердьте свій вибір, натиснувши піктограму «Зберегти» у нижньому правому кутку. З цього часу вибрана клавіша виконуватиме призначену їй функцію.

3. Для тих, хто хоче радикально змінити свою роботу із клавіатурою, можна порадити наступний варіант. Придбайте мультимедійну клавіатуру з набором кнопок, які керують плеєром. Виберіть на клавіатурі кнопки, якими ви не користуєтеся звичайній роботі. Це можуть бути клавіші цифрового блоку (праворуч на клавіатурі), частина функціональних кнопок (F1, F2 тощо), клавіші Scroll Lock, Pause Break та інші. Разом з мультимедійними число клавіш, які можна перепрограмувати без будь-яких збитків для роботи, може становити кілька десятків.

4. За допомогою програми Mkey налаштуйте ці клавіші на особливі функції. Це може бути запуск найбільш використовуваних вами програм і різні дії (вирізати, копіювати, оновити, вставити, переміститися по вкладках, підключитися до інтернету тощо). На відміну від системних поєднань клавіш керування ними буде здійснюватися одним натисканням кнопки, що набагато зручніше і швидше, ніж робити те саме, натискаючи одночасно дві або три кнопки.

5. Для того, щоб швидше запам'ятати нові функції клавіш, наклейте на них відповідні значки за допомогою скотчу або наклейок для клавіш. В результаті цих перетворень ваша клавіатура набуде ексклюзивної функціональності, що оптимальним чином відповідає вашим запитам. Швидкість та зручність роботи на клавіатурі значно зростуть.

Порада 2: Як змінити клавіші

У ноутбуках з різних причин можуть вийти з ладу одна або кілька клавіш на клавіатурі. Оскільки замінити всю клавіатуру досить дороге задоволення, можна змінити призначення клавіш і перенести їх функції на менш використовувані клавішінаприклад, на другий Ctrl, Alt або Win.

Вам знадобитьсяПрограми KEY TWEAK, MKey, Keyboard Layout Manager

Інструкція

1. Завантажуємо програми з інтернету та запускаємо одну з них.

3. Натискаємо на клавішу, що не працює. Якщо мова йде про перенесення функції з клавіш, наприклад, клавіші Fn для шульги у звичну для них праву сторону, то програма сповістить користувача, що клавіша працює.

4. Задаємо нову клавішу для обраної функції за допомогою мишки та віртуальної клавіатури. Підтверджуємо свій вибір натисканням на неї та на механічній клавіатурі. Програма видасть інформацію про функції, що виконуються цією клавішею, а також повідомить, чи є дублювання.

5. Закриваємо програму заміни функціонального призначення клавіш та перевіряємо працездатність клавіатури. Для цього відкриваємо текстовий редакторнаприклад Блокнот, і по черзі набираємо всі символи за допомогою всіх клавіш. Також перевіряємо працездатність клавіш у програмах, що найчастіше використовуються. Це слід зробити після перезавантаження комп'ютера.

Зверніть увагу

Деякі клавіші мають лише 1 значення, наприклад Num Lock або Insert, тому передати їм інші функції не можна. Це апаратна прошивка, яку не зможуть змінити програми для заміни клавіш. Крім того, зміна прошивки може призвести до збою і клавіатура перестане реагувати на команди, що вводяться. Без звернення до сервісний центрнавряд чи вдасться вирішити цю проблему.

Корисна порада

У різних виробниківноутбуків можуть бути різні варіанти зчитування скан-кодів з клавіатури, тому може знадобитися не одна, а кілька програм для заміни функціонального призначення клавіш на клавіатурі.

Відео на тему

Зверніть увагу

У Mkey не підлягають перепрограмування лише клавіші Shift, Ctrl, Alt та Win.

Корисна порада

Крім Mkey існують інші програми зміни функцій клавіш – наприклад, KeyRemapper, KeyTweak, Hot.Keyboard. Однак частина з них є платними, не перевершуючи при цьому функціональністю Mkey, інші поступаються їй своїми можливостями.

У книзі зібрані та узагальнені поради щодо вирішення різних проблем, які рано чи пізно виникають при експлуатації як економічних нетбуків, так і сучасних настільних моделей. Всі наведені рецепти випробувані на практиці та розбиті на теми: апаратні засоби персональних комп'ютерів, комп'ютерні мережіта підключення до Інтернету, встановлення, налаштування та ремонт Windows, робота в Інтернеті, захист від вірусів. Розглянуто не тільки готові рішенняраптово виникаючих проблем, а й відповіді багато питань, що виникають ще до покупки комп'ютера. Наведено необхідний мінімум технічних відомостей, що дозволяє ухвалити усвідомлене рішення.

Компакт-диск додається лише до друкованого видання книги.

Книга:

Розділи на цій сторінці:

На клавіатурі є багато клавіш, якими ви ніколи не користуєтеся. Одна з найдокучливіших – клавіша , що збереглася з часів програмістських мов типу Фортрана, де все писалося великими літерами. Рідко хто користується і системними клавішами Windows(і основний, і для виклику контекстного меню) – це зручніше робити мишею. Тим часом випадкове натискання цих кнопок гальмує всю роботу. Ті, кого це дратує, можуть відключити їх або перепризначити інші функції – наприклад, на сусідні клавіші.

Розглянемо на прикладах ці дії, а потім розповімо, як це здійснюється у загальному випадку – для будь-якої клавіші.

Спочатку потрібно в розділі реєстру HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ControlKeyboard Layout (не плутати з Keyboard Layouts!) створити новий двійковий параметр (у меню так і буде написано - двійковий параметр), назвавши його Scancode Map (з пробілом!), і привласнити йому значення за слідом:

00 00 00 00 00 00 00 00

03 00 00 00 00 00 5C E0

00 00 5D E0 00 00 00 00

Цей рядок відключить клавішу з прапорцем Windows та сусідню клавішу виклику спливаючого меню. Розберемося в тому, що тут написано.

Спочатку має йти 8 пар нулів поспіль. Потім йде число (з провідним нулем) – в даному випадку 03, яке означає кількість клавіш, що відстежуються, плюс одиниця (тобто в цьому прикладі відстежуємо дві клавіші). Після нього завжди має йти три пари нулів (доповнюючи до 4 пар цифр). Закінчуватися запис повинен завжди четвіркою пар нулів. А ось між ними ми повинні записати стільки четвірок парних чисел, скільки ми передбачили клавіші для відстеження – у цьому випадку дві. У них записуються так звані скан-код клавіш, які бажаємо відключити. У табл. 12.2 наведено коди тих клавіш, які доцільно розглядати у плані кандидатів на відключення чи заміну (див. далі).

Ці коди записуються в останні дві пари кожної четвірки пар чисел, перші дві пари знову ж таки нулі – як ви і бачите у зразку. Таким чином, наведений як приклад рядок відключить нам праву клавішу (з прапорцем Windows) (00 00 5C E0) та сусідню клавішу Виклик спливаючого меню (00 00 5D E0).

Таблиця 12.2. Скан-коди клавіш


Що таке скан-коди та де їх взяти

Скан-код – це число, яке видає клавіатура при натисканні певної клавіші. Скан-коди не слід плутати з віртуальними кодами клавіш - останні формуються вже на рівні BIOS і Windows і надалі визначають коди символів, ті, що, наприклад, утворюють вміст текстових документів. У більшості випадків вони ніяк не пов'язані між собою. Наприклад, віртуальний код клавіші "пробіл" - 32 (збігається з кодом символу "пробіл" в однобайтних кодуваннях), а скан-код її - 57 (в HEX-формі це буде 20 і 39 відповідно). Зауважте, що віртуальні коди не еквівалентні символьним – щоб перетворити віртуальний код на код символу, треба ще врахувати мовну розкладку, стан клавіш , і, між іншим, систему кодувань, що використовується - однобайтну або Unicode. Все це робить системний драйвер клавіатури ще до того, як подія натискання потрапляє в чергу Windows-повідомлень. Деякі клавіші ( або ) взагалі ні з якими символами не пов'язані та у зазначену чергу не потрапляють. Тому для повної заміни функціональності якоїсь клавіші підмінити віртуальні коди (що взагалі-то може зробити будь-хто, хто володіє навичками програмування в Delphi або Visual C++) недостатньо - треба діяти на більш глибокому рівні, маніпулюючи саме скан-кодами. Це дозволяє здійснити параметр Scancode Map в реєстрі Windows.

Для наших цілей скан-коди, як ви можете здогадатися за наведеною таблицею, мають бути представлені у шістнадцятковій (HEX), а не десятковій формі. Таблиці віртуальних кодів та кодів символів зазвичай додається до будь-якого посібника з Windows-програмування, а ось повну таблицюскан-код розшукати непросто. Одна з таких таблиць знаходиться на сайті «Електронна бібліотека» за посиланням http://ntlib.chat.ru/ware/tables/scan.htm. Вона трохи невдало складена - так звані розширені клавіші (це ті, у яких другий байт у нашій таблиці дорівнює E0) там показані додаванням зайвого розряду, що дорівнює 1. Тобто вибравши з колонки HEX скан-код, наприклад, 11С (клавіша на цифровій клавіатурі), його треба для наших цілей переписати як 1С E0. Офіційний повний набір скан-кодів, включаючи клавіші керування живленням (але виключаючи додаткові медіаклавіші), можна завантажити з сайту Microsoft. Посилання на документ дуже довге, тому просто наберіть у пошуку на microsoft.com слова «Keyboard Scan Code Specification», і отримайте шукане – щоправда, англійською. Під час вивчення цього документа врахуйте, що нас цікавить лише один набір кодів: Scan Code Set 1.

Зрозуміло, готувати такий рядок чисел слід заздалегідь і уважно перерахувати всі пари, перш ніж вводити їх у реєстр. Але під час введення ви побачите, що вам допоможуть не наробити помилок. Введення значення двійкового числа здійснюється вручну (рис. 12.11), але незважаючи на незвичний вигляд цього редактора, ви швидко переконаєтесь, що працювати з ним дуже зручно. Зокрема, не виникає проблем при підрахунку пар, що вводяться – вони автоматично групуються по вісім у рядку. Не забудьте перезавантажити комп'ютер після остаточного введення значень параметра.


Рис. 12.11. Введення значень двійкового параметра

Для не просто скасування, а ще й перепризначення, доведеться трохи ускладнити запис – перші дві пари нулів у тих четвірках, що містять коди клавіш, замінити на ті коди, які повинні, на вашу думку, працювати. Наприклад, значення параметра Scancode Map, що дорівнює

00 00 00 00 00 00 00 00

03 00 00 00 00 00 5C E0

1D E0 5D E0 00 00 00 00

зробить так, що права клавіша з прапорцем Windows відключиться, а Буде дублювати правий , Т. е. найближчу до неї клавішу. Саме це значення Scancode Map наведено як приклад на рис. 12.11.

Покажемо, як впоратися з . Експерименти показують, що з нею не все однозначно – зокрема спроба простого відключенняможе дати результатів. Але я наведу значення параметра Scancode Map, яке гарантовано відключає - її функція змінюється на функцію (правого, але на практиці це не має значення), а Тут, як і раніше, дублює правий :

00 00 00 00 00 00 00 00

03 00 00 00 1D E0 5D E0

2A 00 3A 00 00 00 00 00

На диску, що додається, в папці Registry знаходиться файл key.reg, при запуску якого і підтвердження того, що ви дійсно хочете внести зміни до реєстру, автоматично створиться параметр Scancode Map з таким значенням. Якщо не хочете чіпати нічого, крім , то відредагуйте це значення наступним чином: 03 замініть на 02 і замініть чотири байти з ненульовим значенням у другому рядку нулями.