Fixed CTRL-ALT-DEL menu option broken by recent keyboard changes.
This commit is contained in:
parent
66b0b9c926
commit
49f2f34249
3 changed files with 26 additions and 6 deletions
|
|
@ -463,3 +463,22 @@ void keyboard_process()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void keyboard_send_scancode(int code, int is_break)
|
||||||
|
{
|
||||||
|
scancode *scancodes = (AT) ? at_scancodes : scancode_xt;
|
||||||
|
int d = 0;
|
||||||
|
|
||||||
|
if (!keyboard_scan) return;
|
||||||
|
|
||||||
|
if (!is_break)
|
||||||
|
{
|
||||||
|
while (scancodes[code].scancodes_make[d] != 0)
|
||||||
|
keyboard_send(scancodes[code].scancodes_make[d++]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (scancodes[code].scancodes_break[d] != 0)
|
||||||
|
keyboard_send(scancodes[code].scancodes_break[d++]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,3 +13,4 @@ enum
|
||||||
};
|
};
|
||||||
|
|
||||||
void keyboard_set_scancode_set(int set);
|
void keyboard_set_scancode_set(int set);
|
||||||
|
void keyboard_send_scancode(int code, int is_break);
|
||||||
|
|
|
||||||
12
src/pc.c
12
src/pc.c
|
|
@ -388,12 +388,12 @@ void resetpc()
|
||||||
|
|
||||||
void resetpc_cad()
|
void resetpc_cad()
|
||||||
{
|
{
|
||||||
keyboard_send(29); /* Ctrl key pressed */
|
keyboard_send_scancode(29, 0); /* Ctrl key pressed */
|
||||||
keyboard_send(56); /* Alt key pressed */
|
keyboard_send_scancode(56, 0); /* Alt key pressed */
|
||||||
keyboard_send(83); /* Delete key pressed */
|
keyboard_send_scancode(83, 0); /* Delete key pressed */
|
||||||
keyboard_send(157); /* Ctrl key released */
|
keyboard_send_scancode(29, 1); /* Ctrl key released */
|
||||||
keyboard_send(184); /* Alt key released */
|
keyboard_send_scancode(56, 1); /* Alt key released */
|
||||||
keyboard_send(211); /* Delete key released */
|
keyboard_send_scancode(83, 1); /* Delete key released */
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetpchard()
|
void resetpchard()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue