Ноутбуки DELL протиОбробка Переривання Користувача()

Минув місяць, і питання стало руба: треба. Поліз у інтернет, зробив дзвінок другові. Інтернет сказав, що проблема не в одного мене, сипнув усілякими комбінаціями клавіш, які нібито замінюють 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 байти, але заміна двобайтного коду працює.

Про всяк випадок робимо архівну копію реєстру. У принципі модифікація реєстру полягає у додаванні одного параметра, але – береженого Бог береже.

Заходимо у гілку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout