int test_xpm(unsigned short xi, unsigned short yi, char *xpm[]) { if (vg_init(VBE_VIDEO_MODE) == NULL) return 1; if (vg_draw_xpm(xi, yi, xpm) != 0) { vg_exit(); return 1; } vg_update_screen(); kbd_test_scan(0); return vg_exit(); }
int test_xpm(unsigned short xi, unsigned short yi, char *xpm[]) { vg_init(GRAPHIC_MODE); int ipc_status; message msg; int request; int irq_set; irq_set = subscribe_kbd(); while (scanCode != EXIT_MAKE_CODE) { request = driver_receive(ANY, &msg, &ipc_status); if (request != 0) { printf("driver_receive failed with: %d", request); continue; } if (is_ipc_notify(ipc_status)) { switch (_ENDPOINT_P(msg.m_source)) { case HARDWARE: if (msg.NOTIFY_ARG & irq_set) { kbd_handler(); } vg_draw_xpm(xi,yi, xpm); break; default: break; } } else { } } unsubscribe_kbd(); vg_exit(); return 0; }