MEGA65 / open-roms

A project to create unencumbered open-source ROMs for use on selected retro computers
Other
263 stars 18 forks source link

All keys repeat all the time, and perhaps a bit too soon after being pressed? #4

Closed gardners closed 5 years ago

gardners commented 5 years ago

Should default to space, delete and cursor keys unless location 650 has the right value.

gardners commented 5 years ago

Fixed, apart from RETURN, the cursor keys and a few others. Why only those repeat immedately (but at the correct speed) is so far a mystery. RETURN repeating immediately is a pain, and must be fixed.

gardners commented 5 years ago

Confirming that all the keys that repeat immediately are in a single keyboard row.

gardners commented 5 years ago

Actually, the problem is that when all keys are released, the repeat doesn't go back to the full repeat start delay.

gardners commented 5 years ago

That problem is now fixed. Remaining problem is repeat timeout resets when shift is released. last_key_matrix_position gets bucky key instead of primary key?

gardners commented 5 years ago

Problem is that last_key_matrix_position gets set to $FF when shift is released.

gardners commented 5 years ago

NoActivityDetected is erroneously called in this situation? The problem is only in VICE: Presumably VICE inserts a small gap between key presses, and we are not debouncing.

A bigger problem is that pressing the same key twice only gives the first output, unless it is held long enough for key repeat to begin again.

gardners commented 5 years ago

Okay, the only remaining problem now is when releasing SHIFT in VICE, which we can consider acceptable for now.