Странное поведение клавиатуры при переназначении клавиш

Тема в разделе "WASM.NT.KERNEL", создана пользователем Llirik, 28 апр 2011.

  1. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Вопрос такой. Почему при подмене клавиши "8" на "7" на цифровой панели клавиатуры происходит и подмена клавиш "стрелка вверх" на "Home"? Ведь скан-коды у них разные.
    Код (Text):
    1. KKbFilter_ServiceCallback proc pDeviceObject:PDEVICE_OBJECT, InputDataStart:PKEYBOARD_INPUT_DATA, InputDataEnd:PKEYBOARD_INPUT_DATA, InputDataConsumed:PULONG
    2. mov eax, InputDataStart
    3. assume eax:ptr KEYBOARD_INPUT_DATA
    4. cmp [eax].MakeCode, 0048h
    5. jnz  lll
    6. mov [eax].MakeCode, 0047h
    7. lll:
    8. assume eax:nothing
    9.     push    InputDataConsumed
    10.     mov eax, pDeviceObject
    11.     push    InputDataEnd
    12. assume eax:ptr DEVICE_OBJECT
    13. mov ecx, [eax].DeviceExtension
    14. assume eax:nothing
    15. assume ecx:ptr FiDO_DEVICE_EXTENSION
    16.     push    InputDataStart
    17.     push    [ecx].ClassDeviceObject
    18.     call    [ecx].ClassService
    19. ret
    20. KKbFilter_ServiceCallback endp
     
  2. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Я даже не понимаю где происходит эта вторая подмена
     
  3. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    всё. разобрался) не то смотрел) скан-код у них одинаковый)