Implement (half) simple semaphore & mutex lock, and ...
[lunaix-os.git] / lunaix-os / kernel / k_main.c
index fe5645f9f0427a86331c20d5ab1f0cde783879d3..c3819d9d8050b1e54a8f15d420f328b8ca1ea3b0 100644 (file)
@@ -55,16 +55,16 @@ _kernel_main()
 
     // timer_run_second(1, test_timer, NULL, TIMER_MODE_PERIODIC);
 
+    struct kdb_keyinfo_pkt keyevent;
     while (1)
     {
-        struct kdb_keyinfo_pkt* keyevent = kbd_try_read_one();
-        if (!keyevent) {
+        if (!kbd_recv_key(&keyevent)) {
             continue;
         }
-        if ((keyevent->state & KBD_KEY_FPRESSED) && (keyevent->keycode & 0xff00) <= KEYPAD) {
-            tty_put_char((char)(keyevent->keycode & 0x00ff));
+        if ((keyevent.state & KBD_KEY_FPRESSED) && (keyevent.keycode & 0xff00) <= KEYPAD) {
+            tty_put_char((char)(keyevent.keycode & 0x00ff));
+            tty_sync_cursor();
         }
-        lxfree(keyevent);
     }
 
     spin();