I found most of what I needed in an old post - I can now save user input into a string and 'echo' each char to the screen at the location of a prompt like I want:
while (window.pollEvent(e)) {
if (e.type == Event::KeyPressed) {
if (e.type == Event::TextEntered) {
if (e.text.unicode < 128) {
input += static_cast<char>(e.text.unicode);
output.setFillColor(Color::White);
output.setString(input);
}
}
}
.
.
.
window.draw(prompt);
window.draw(output);
What I need now is a way to make the 'backspace' button work like it's supposed to. Will I have to manually pop a char off the end of the string for each "Keyboard::Backspace" detected, or does SFML have something for that?