mirror of
https://gitlab.com/niansa/llama_nds.git
synced 2025-03-06 20:53:28 +01:00
Added fast scrolling using left/right
This commit is contained in:
parent
719835fe31
commit
3629e6f272
3 changed files with 30 additions and 10 deletions
15
NDSUI.cpp
15
NDSUI.cpp
|
@ -164,12 +164,17 @@ void NDSUI::scanButtons() {
|
||||||
scanKeys();
|
scanKeys();
|
||||||
int keys = keysDownRepeat();
|
int keys = keysDownRepeat();
|
||||||
// Scrolling
|
// Scrolling
|
||||||
if (keys & KEY_DOWN) {
|
if (scrollOff != 0) {
|
||||||
if (scrollOff != 0) {
|
if (keys & KEY_DOWN) {
|
||||||
scrollOff--;
|
scrollOff -= 1;
|
||||||
|
} else if (keys & KEY_RIGHT) {
|
||||||
|
scrollOff -= 5;
|
||||||
}
|
}
|
||||||
} else if (keys & KEY_UP) {
|
}
|
||||||
scrollOff++;
|
if (keys & KEY_UP) {
|
||||||
|
scrollOff += 1;
|
||||||
|
} else if (keys & KEY_LEFT) {
|
||||||
|
scrollOff += 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,10 +47,6 @@ public:
|
||||||
std::getline(std::cin, outstr);
|
std::getline(std::cin, outstr);
|
||||||
return outstr.c_str();
|
return outstr.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void clearScreen() {
|
|
||||||
consoleClear();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define IPPROTO_TCP 0
|
#define IPPROTO_TCP 0
|
||||||
|
|
21
main.cpp
21
main.cpp
|
@ -33,18 +33,37 @@ basiccoro::AwaitableTask<void> async_main(Runtime& rt, AsyncManager &aMan, NDSUI
|
||||||
// Display prompt
|
// Display prompt
|
||||||
auto& msg = ui.addLogMessage(ui.createLogMessage("Bot", "Initializing..."));
|
auto& msg = ui.addLogMessage(ui.createLogMessage("Bot", "Initializing..."));
|
||||||
|
|
||||||
|
// Hide keyboard
|
||||||
|
keyboardHide();
|
||||||
|
|
||||||
|
// Clear console
|
||||||
|
consoleClear();
|
||||||
|
|
||||||
// Run inference
|
// Run inference
|
||||||
std::string result;
|
std::string result;
|
||||||
co_await client.ask(prompt, [&msg, &ui] (unsigned progress) -> basiccoro::AwaitableTask<void> {
|
co_await client.ask(prompt, [&msg, &ui] (unsigned progress) -> basiccoro::AwaitableTask<void> {
|
||||||
msg = ui.createLogMessage("Bot", (std::to_string(progress)+"%"));
|
msg = ui.createLogMessage("Bot", (std::to_string(progress)+"%"));
|
||||||
|
// Check if ready to generate
|
||||||
|
if (progress == 100) {
|
||||||
|
// Show help
|
||||||
|
std::cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
|
||||||
|
"Stop now: [START] Abort \n"
|
||||||
|
"Stop soon: [SELECT] Cancel" << std::flush;
|
||||||
|
}
|
||||||
co_return;
|
co_return;
|
||||||
}, [&result, &msg, &ui] (std::string_view token) -> basiccoro::AwaitableTask<void> {
|
}, [&result, &msg, &ui] (std::string_view token) -> basiccoro::AwaitableTask<void> {
|
||||||
|
// Update message with current generation result
|
||||||
result.append(token);
|
result.append(token);
|
||||||
msg = ui.createLogMessage("Bot", result+"...");
|
msg = ui.createLogMessage("Bot", result+"...");
|
||||||
co_return;
|
co_return;
|
||||||
});
|
});
|
||||||
msg = ui.createLogMessage("Bot", result);
|
msg = ui.createLogMessage("Bot", result);
|
||||||
std::cout << "\n";
|
|
||||||
|
// Clear console
|
||||||
|
consoleClear();
|
||||||
|
|
||||||
|
// Show keyboard
|
||||||
|
keyboardShow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue