Переназначение клавиш на клавиатуре (22.03.2021). |
![]() |
2021 - Март | |||
22.03.2021 19:10 | |||
Пусть умерла кнопка; например, TAB. Не дублируется на клавиатуре - по факту, ее нужно выбрасывать. Но есть способ переназначения клавиш на клавиатуре - и можно клавишей Ё нажимать TAB, не заморачиваясь с выбором и приобретением новой клавиатуры. Так был затроллен один из заказчиков, чтобы его тупые операторы не могли нажимать Ctrl+Alt+Delete: клавиши Alt были выведены из обращения, т.к. на них был назначен Right Shift. Делается через реестр: - HKEY_LOCAL_MACHINE; - SYSTEM\ControlSet001\Control\Keyboard Layout; - бинарный параметр Scancode Map. Алгоритм заполнения: for (int i=0; i<8; i++) byteRemap[i] = 0x00; //Вступительные нулевые 8 байтов. byteRemap[8] = 0x03; //Число изменений клавиш (пар) + 1. По факту - ни на что не влияет, можно и 0 написать. for (int i=9; i<12; i++) byteRemap[i] = 0x00; //Промежуточные нулевые 3 байта. byteRemap[12] = 0x36; byteRemap[13] = 0x00; //На что заменить (правый Shift). byteRemap[14] = 0x38; byteRemap[15] = 0x00; //Что заменить (левый Alt). byteRemap[16] = 0x36; byteRemap[17] = 0x00; //На что заменить (правый Shift). byteRemap[18] = 0x38; byteRemap[19] = 0xE0; //Что заменить (правый Alt). for (int i=20; i<24; i++) byteRemap[i] = 0x00; //Заключительные нулевые 4 байта. |