Fix ADB missing keystrokes problem Thanks, blargg! #14
- Add delay between scans to prevent overlaod of ADB keyboard controllers - <http://geekhack.org/index.php?topic=14290.msg1068919#msg1068919>
This commit is contained in:
parent
63b3e2cbfb
commit
e8e8f93bcf
|
@ -85,6 +85,7 @@ uint8_t matrix_scan(void)
|
||||||
uint8_t key0, key1;
|
uint8_t key0, key1;
|
||||||
|
|
||||||
is_modified = false;
|
is_modified = false;
|
||||||
|
_delay_ms(16); // delay for preventing overload of poor ADB keyboard controller
|
||||||
codes = adb_host_kbd_recv();
|
codes = adb_host_kbd_recv();
|
||||||
key0 = codes>>8;
|
key0 = codes>>8;
|
||||||
key1 = codes&0xFF;
|
key1 = codes&0xFF;
|
||||||
|
|
|
@ -83,6 +83,12 @@ bool adb_host_psw(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Don't call this in a row without the delay, otherwise it makes some of poor controllers
|
||||||
|
* overloaded and misses strokes. Recommended delay is 16ms.
|
||||||
|
*
|
||||||
|
* Thanks a lot, blargg! <http://geekhack.org/index.php?topic=14290.msg1068919#msg1068919>
|
||||||
|
*/
|
||||||
uint16_t adb_host_kbd_recv(void)
|
uint16_t adb_host_kbd_recv(void)
|
||||||
{
|
{
|
||||||
uint16_t data = 0;
|
uint16_t data = 0;
|
||||||
|
|
Loading…
Reference in New Issue