вот код, который моргает диодами:
Код:
procedure SetState(key:Integer; Value:Boolean);
var
  KeyState:TKeyboardState;
begin
  GetKeyboardState(KeyState);
  KeyState[key]:=Integer(Value);
  SetKeyBoardState(KeyState);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=TRUE;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Tag:=(Timer1.Tag+1) mod 4;
  SetState(VK_NUMLOCK,TIMER1.Tag = 1);
  SetState(VK_SCROLL,TIMER1.Tag = 2);
  SetState(VK_CAPITAL,TIMER1.Tag = 4);
end;
Переключение соответственно осуществляется таймером. могу переписать под Вашу задачу, если нужно.
Добавлено спустя 10 минут 27 секунд:
кстати с юсби клавиатурой это не работает, на ней надо эмулировать нажатие соответствующих клавиш. при этом будет не только диод загораться, но и изменятся значение клавиш.