aboutsummaryrefslogtreecommitdiff
path: root/kernel/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c33
1 files changed, 32 insertions, 1 deletions
diff --git a/kernel/main.c b/kernel/main.c
index fc62a10..f0cc0d8 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -171,17 +171,48 @@ void main(struct multiboot_info_t *hdr, uint32_t magic)
printf("Resolution: %dx%dx%d\n", *gfx_width, *gfx_height, *gfx_bpp * 8);
}
- printf("Testing keyboard LED's...\n");
+ printf("Testing keyboard LED's...");
+
+ int n = 3;
+ int s = -1;
while(1)
{
ps2_set_leds(PS2_NUM_LOCK);
timer_delay(HZ/4);
+ if(s < 0)
+ putchar('\b');
+ else
+ putchar('.');
+ n+=s;
+ if(n<=0 || n>=3)
+ s=-s;
ps2_set_leds(PS2_CAPS_LOCK);
timer_delay(HZ/4);
+ if(s < 0)
+ putchar('\b');
+ else
+ putchar('.');
+ n+=s;
+ if(n<=0 || n>=3)
+ s=-s;
ps2_set_leds(PS2_SCROLL_LOCK);
timer_delay(HZ/4);
+ if(s < 0)
+ putchar('\b');
+ else
+ putchar('.');
+ n+=s;
+ if(n<=0 || n>=3)
+ s=-s;
ps2_set_leds(PS2_CAPS_LOCK);
timer_delay(HZ/4);
+ if(s < 0)
+ putchar('\b');
+ else
+ putchar('.');
+ n+=s;
+ if(n<=0 || n>=3)
+ s=-s;
}
}