int resetwarning_do (int canreset)
{
+ if (!currprefs.keyboard_connected)
+ return 0;
if (resetwarning_phase || regs.halted > 0) {
/* just force reset if second reset happens during resetwarning */
if (canreset) {
}
}
-void keyboard_connected(void)
+void keyboard_connected(bool connect)
{
+ if (connect) {
+ write_log(_T("Keyboard connected\n"));
+ } else {
+ write_log(_T("Keyboard disconnected\n"));
+ }
kbstate = 0;
kblostsynccnt = 0;
resetwarning_phase = 0;
if ((hsync_counter & 15) == 0)
check_keyboard();
}
+ } else {
+ while (keys_available()) {
+ get_next_key();
+ }
}
}
currprefs.collision_level = changed_prefs.collision_level;
if (!currprefs.keyboard_connected && changed_prefs.keyboard_connected) {
// send powerup sync
- keyboard_connected();
+ keyboard_connected(true);
+ } else if (currprefs.keyboard_connected && !changed_prefs.keyboard_connected) {
+ keyboard_connected(false);
}
currprefs.keyboard_connected = changed_prefs.keyboard_connected;
extern void rtc_hardreset (void);
-extern void keyboard_connected(void);
+extern void keyboard_connected(bool);
#endif /* UAE_CIA_H */