#include "include.h" void waitForKey(char key) { while (true) { hidScanInput(); u32 key_down = hidKeysDown(); if (key_down & key) break; } } int cursor_select(int items) { int cursor_position = 1; printf("\x1b[%d;1H>", cursor_position); while (true) { hidScanInput(); u32 key_down = hidKeysDown(); if (key_down & KEY_DDOWN) { printf("\x1b[%d;1H ", cursor_position); cursor_position = (cursor_position >= items) ? 1 : cursor_position + 1; printf("\x1b[%d;1H>", cursor_position); } if (key_down & KEY_DUP) { printf("\x1b[%d;1H ", cursor_position); cursor_position = (cursor_position <= 1) ? items : cursor_position - 1; printf("\x1b[%d;1H>", cursor_position); } if (key_down & KEY_B) { return 0; } if (key_down & KEY_A) { break; } printf("\x1b[10;16Hcursorpos: %d", cursor_position); } return cursor_position; } void print_menu(char menu_items[10][32], int items_length) { for (int i = 0; i < items_length; i = i + 1) { printf("\x1b[%d;2H%s", i+1, menu_items[i]); } } int print_select_menu(char menu_items[10][32], int items_length) { consoleClear(); print_menu(menu_items, items_length); int selection = cursor_select(items_length); return selection; }