OSDN Git Service

[VM][FM77AV][WIP] Fixing real-time-key-scanning , WIP.
[csp-qt/common_source_project-fm7.git] / source / src / vm / fm7 / keyboard.cpp
index cc9c959..e99ecfd 100644 (file)
@@ -896,16 +896,16 @@ void KEYBOARD::key_up(uint32 vk)
                        this->write_signals(&break_line, 0x00);
                }
        }
-       //if(key_pressed_flag[scancode] == false) return; 
+       if(key_pressed_flag[scancode] == false) return; 
        key_pressed_flag[scancode] = false; 
        if(keymode == KEYMODE_SCAN) { // Notify even key-up, when using SCAN mode.
-         //printf("UP SCAN=%04x break=%d\n", scancode, stat_break);
-         //if(scancode !=  0) {   
+               //printf("UP SCAN=%04x break=%d\n", scancode, stat_break);
+               if(scancode !=  0) {   
                        code_7 = scancode | 0x80;
                        keycode_7 = code_7 | 0x8000;
                        mainio->write_signal(FM7_MAINIO_KEYBOARDIRQ, keycode_7, 0x8000);
                        display->write_signal(SIG_FM7_SUB_KEY_FIRQ, keycode_7, 0x8000);
-                       //}
+               }
        }
 }
 
@@ -936,7 +936,7 @@ void KEYBOARD::key_down_main(void)
                code_7 = scancode & 0x7f;
        }
        //printf("DOWN SCAN=%04x 7CODE=%03x break=%d\n", scancode, code_7, stat_break);
-       //if(key_pressed_flag[scancode] != false) return;
+       if(key_pressed_flag[scancode] != false) return;
        if(code_7 < 0x200) {
                keycode_7 = code_7 | 0x8000;
                //mainio->write_signal(FM7_MAINIO_PUSH_KEYBOARD, code_7, 0x1ff);