"OrbDuino" serial gaming device to USB HID shield!

Hey, tough i've been lurking the forum for a year by now, this time i decided to post about this usbdrv project.

Im trying also to get my home made joystick to work, but got a detail that is driving me crazy.

I got a classic arcade control with switches, so i want to play my roms with my current keyboard configurations.

As i want to use Arrow UP, DOWN, LEFT, RIGHT, i added to the usbKeyboard.h the definitions from HID Keyboard / Keypad reference:

#define KEY_UP      82
#define KEY_DOWN    81
#define KEY_LEFT    80
#define KEY_RIGHT   79
#define KEY_SHIFT   225

Used correct F_CPU for my ArduinoDuemilanove atmega328 (16MHZ), it compiles, and executes. Buuut.

When i press any button, which generates Arrow Up, Down, Left, or Right, or key "r" or "t", i can see it is working, open notepad, and can type with my joystick + buttons.

The trouble is that it types tooo fast. So, instead of a classic "im keeping pushed left arrow" i get "hundreds of rapid pushing left arrow".

Like old turbo feature on nintendo pads... The trouble here is i dont seem to be able to fix it.

In the main() i've put a counter, so i loose some cpu cycles, but what happens is that left key gets pushed and released very fast every xxx seconds (depends on how many cpu cycles i lose).

So, does any1 has any idea or suggestion? I want to generate "i keep pushed left arrow" or "i keep pushed right arrow" like when you play your roms on your keyboard... not the "very fast typing left arrow over and over".

Any help will be appreciated. I had to let it out of my chest.

Regards