Получаю скан-коды клавиатуры через прерывание BIOS  int 16h, функцией 0:
Код:
   uint8_t _asciiCode = 0;
   uint8_t _scanCode = 0;
   __asm
   {
      mov ah, 00h
      int 16h
      mov _asciiCode, al
      mov _scanCode, ah
   }
Экспериментально установлено, что приходят сканкоды из набора 1.
Однако выявился ряд странных особенностей:
- Все приходящие сканкоды однобайтовые. Даже если нажата клавиша, у которой в описании указан двухбайтовый сканкод(например Del).
- Не приходят сканкоды отпускание клавиш, только на нажатие.
- Не приходят сканкоды на нажатие клавиш-модификаторов.
- При нажатой клавише Alt при нажатии цифровых клавиш приходят совсем другие сканкоды. А при нажатии символьных клавиш не приходит никаких сканкодов.
Это всё по большей части можно пережить, за исключением последнего пункта. Я не могу ловить нажатия сочетаний Alt+символьная клавиша (например Alt-[). Подскажите пожалуйста, как можно решить эту проблему наиболее простым способом?