diff --git a/file_io.cpp b/file_io.cpp index 3bd708e..16bfec0 100644 --- a/file_io.cpp +++ b/file_io.cpp @@ -1948,8 +1948,7 @@ const char *FileReadLine(fileTextReader *reader) while ((reader->pos < end) && *reader->pos && !IS_NEWLINE(*reader->pos)) reader->pos++; *reader->pos = 0; - while (IS_WHITESPACE(*st)) - st++; + while (IS_WHITESPACE(*st)) st++; if (*st == '#' || *st == ';' || !*st) { reader->pos++; diff --git a/input.cpp b/input.cpp index 44cb648..e79c46d 100644 --- a/input.cpp +++ b/input.cpp @@ -558,8 +558,8 @@ static const int ev2ps2[] = static const int ev2ps2_set1[] = { - NONE, //0 KEY_RESERVED - 0x01, //1 KEY_ESC + NONE, //0 KEY_RESERVED + 0x01, //1 KEY_ESC 0x02, //2 KEY_1 0x03, //3 KEY_2 0x04, //4 KEY_3 @@ -598,7 +598,7 @@ static const int ev2ps2_set1[] = 0x25, //37 KEY_K 0x26, //38 KEY_L 0x27, //39 KEY_SEMICOLON ; - 0x28, //40 KEY_APOSTROPHE + 0x28, //40 KEY_APOSTROPHE 0x29, //41 KEY_GRAVE LSHIFT | 0x2a, //42 KEY_LEFTSHIFT 0x2b, //43 KEY_BACKSLASH @@ -613,7 +613,7 @@ static const int ev2ps2_set1[] = 0x34, //52 KEY_DOT 0x35, //53 KEY_SLASH RSHIFT | 0x36, //54 KEY_RIGHTSHIFT - 0x37, //55 KEY_KPASTERISK + 0x37, //55 KEY_KPASTERISK LALT | 0x38, //56 KEY_LEFTALT 0x39, //57 KEY_SPACE 0x3a, //58 KEY_CAPSLOCK @@ -642,8 +642,8 @@ static const int ev2ps2_set1[] = 0x51, //81 KEY_KP3 0x52, //82 KEY_KP0 0x53, //83 KEY_KPDOT - NONE, //84 ??? - NONE, //85 KEY_ZENKAKU + NONE, //84 ??? + NONE, //85 KEY_ZENKAKU 0x56, //86 KEY_102ND 0x57, //87 KEY_F11 0x58, //88 KEY_F12 @@ -659,7 +659,7 @@ static const int ev2ps2_set1[] = EXT | 0x35, //98 KEY_KPSLASH 0xE2, //99 KEY_SYSRQ RALT | EXT | 0x38, //100 KEY_RIGHTALT - NONE, //101 KEY_LINEFEED + NONE, //101 KEY_LINEFEED EXT | 0x47, //102 KEY_HOME EXT | 0x48, //103 KEY_UP EXT | 0x49, //104 KEY_PAGEUP @@ -1076,10 +1076,11 @@ static int ev2archie[] = NONE //255 ??? }; +uint8_t ps2_kbd_scan_set = 2; uint32_t get_ps2_code(uint16_t key) { - if (key > 255) return NONE; - return (ps2_kbd_scan_set == 1) ? ev2ps2_set1[key] : ev2ps2[key]; + if (key > 255) return NONE; + return (ps2_kbd_scan_set == 1) ? ev2ps2_set1[key] : ev2ps2[key]; } uint32_t get_amiga_code(uint16_t key) diff --git a/input.h b/input.h index d5dfbd0..24144d8 100644 --- a/input.h +++ b/input.h @@ -107,7 +107,7 @@ void input_uinp_destroy(); extern char joy_bnames[NUMBUTTONS][32]; extern int joy_bcount; -extern uint8_t ps2_kbd_scan_set; +extern uint8_t ps2_kbd_scan_set; void parse_buttons(); char *get_buttons(int type = 0); diff --git a/main.cpp b/main.cpp index bcb26dd..f9109d2 100644 --- a/main.cpp +++ b/main.cpp @@ -34,7 +34,6 @@ along with this program. If not, see . #include "osd.h" const char *version = "$VER:" VDATE; -uint8_t ps2_kbd_scan_set = 2; int main(int argc, char *argv[]) { diff --git a/user_io.cpp b/user_io.cpp index ed1b4d2..4082508 100644 --- a/user_io.cpp +++ b/user_io.cpp @@ -2897,9 +2897,9 @@ void user_io_poll() if (core_type == CORE_TYPE_SHARPMZ) sharpmz_poll(); static uint8_t leds = 0; - static uint8_t ps2_scancode_f0 = 0; - - if(use_ps2ctl && !is_minimig() && !is_archie()) + static uint8_t ps2_scancode_f0 = 0; + + if (use_ps2ctl && !is_minimig() && !is_archie()) { leds |= (KBD_LED_FLAG_STATUS | KBD_LED_CAPS_CONTROL); @@ -2909,72 +2909,73 @@ void user_io_poll() if (ps2ctl & 1) { static uint8_t cmd = 0; - static uint8_t byte = 0; + static uint8_t byte = 0; printf("kbd_ctl = 0x%02X\n", kbd_ctl); if (!byte) { cmd = kbd_ctl; - - if (ps2_scancode_f0 == 0) - { - switch (cmd) - { - case 0xff: - ps2_kbd_scan_set = 2; - kbd_reply(0xFA); - kbd_reply(0xAA); - break; - case 0xf2: - kbd_reply(0xFA); - kbd_reply(0xAB); - kbd_reply(0x83); - break; - case 0xF0: // scan get/set - kbd_reply(0xFA); - ps2_scancode_f0 = 1; - break; - - case 0xF6: // set default parameters - kbd_reply(0xFA); - ps2_kbd_scan_set = 2; - break; + if (ps2_scancode_f0 == 0) + { + switch (cmd) + { + case 0xff: + ps2_kbd_scan_set = 2; + kbd_reply(0xFA); + kbd_reply(0xAA); + break; - case 0xf4: - case 0xf5: - case 0xfa: - kbd_reply(0xFA); - break; + case 0xf2: + kbd_reply(0xFA); + kbd_reply(0xAB); + kbd_reply(0x83); + break; + case 0xF0: // scan get/set + kbd_reply(0xFA); + ps2_scancode_f0 = 1; + break; - case 0xed: - kbd_reply(0xFA); - byte++; - break; + case 0xF6: // set default parameters + kbd_reply(0xFA); + ps2_kbd_scan_set = 2; + break; - case 0xee: - kbd_reply(0xEE); - break; + case 0xf4: + case 0xf5: + case 0xfa: + kbd_reply(0xFA); + break; - default: - kbd_reply(0xFE); - break; - } - } - - else - { - if (cmd<=3) { - kbd_reply(0xFA); - if (!cmd) // get - kbd_reply(ps2_kbd_scan_set); - else // set - ps2_kbd_scan_set = cmd; - ps2_scancode_f0 = 0; - } else { - kbd_reply(0xFE); // RESEND - } - } + case 0xed: + kbd_reply(0xFA); + byte++; + break; + + case 0xee: + kbd_reply(0xEE); + break; + + default: + kbd_reply(0xFE); + break; + } + } + + else + { + if (cmd <= 3) { + kbd_reply(0xFA); + if (!cmd) // get + kbd_reply(ps2_kbd_scan_set); + else // set + ps2_kbd_scan_set = cmd; + ps2_scancode_f0 = 0; + } + else { + kbd_reply(0xFE); // RESEND + } + } } else @@ -2986,7 +2987,7 @@ void user_io_poll() byte = 0; if (kbd_ctl & 4) leds |= KBD_LED_CAPS_STATUS; - else leds &= ~KBD_LED_CAPS_STATUS; + else leds &= ~KBD_LED_CAPS_STATUS; break; @@ -3070,7 +3071,7 @@ void user_io_poll() if (!use_ps2ctl) { uint16_t s = user_io_kbdled_get_status(); - if(s & 0x100) use_ps2ctl = 1; + if (s & 0x100) use_ps2ctl = 1; if (!use_ps2ctl) leds = (uint8_t)s; } @@ -3095,7 +3096,7 @@ void user_io_poll() { res_timer = GetTimer(1000); } - else if(CheckTimer(res_timer)) + else if (CheckTimer(res_timer)) { if (is_menu()) { @@ -3131,7 +3132,7 @@ void user_io_poll() res_timer = GetTimer(500); if (!minimig_get_adjust()) { - if(is_minimig()) minimig_adjust_vsize(0); + if (is_minimig()) minimig_adjust_vsize(0); video_mode_adjust(); } } @@ -3305,7 +3306,7 @@ static void send_keycode(unsigned short key, int press) { 0xE0, 0xB7, 0xE0, 0xAA, 0x00, 0x00, 0x00, 0x00 }, { 0xE0, 0x2A, 0xE0, 0x37, 0x00, 0x00, 0x00, 0x00 } }; - + const unsigned char *p = (ps2_kbd_scan_set == 1) ? c_set1[press] : c[press]; spi_uio_cmd_cont(UIO_KEYBOARD);