Вам нужно мысленно поставить пробел между 00 и fExtended, фактическая фраза «ScanCode: 00», за которой следует «fExtended: 0»
То, что код сканирования равен 0, неудивительно, вы установили его на 0 в своем коде:
down.Data.Keyboard.Scan = 0;
Это не должно вызывать проблем, код сканирования используется только тогда, когда виртуальный ключ неоднозначен. Например, левая и правая клавиши Shift. Вы можете использовать MapVirtualKey (), если хотите.