Fenrir
7 years ago
1 changed files with 47 additions and 0 deletions
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
extern crate ctru; |
||||
|
||||
use ctru::gfx::Gfx; |
||||
use ctru::console::Console; |
||||
use ctru::services::apt::Apt; |
||||
use ctru::services::hid::{Hid, KeyPad}; |
||||
use ctru::applets::swkbd::{Swkbd, Button}; |
||||
|
||||
fn main() { |
||||
let apt = Apt::init().unwrap(); |
||||
let hid = Hid::init().unwrap(); |
||||
let gfx = Gfx::default(); |
||||
let _console = Console::default(); |
||||
|
||||
println!("Press A to enter some text or press Start to quit"); |
||||
|
||||
while apt.main_loop() { |
||||
gfx.flush_buffers(); |
||||
gfx.swap_buffers(); |
||||
gfx.wait_for_vblank(); |
||||
|
||||
hid.scan_input(); |
||||
|
||||
if hid.keys_down().contains(KeyPad::KEY_A) { |
||||
// Prepares a software keyboard with two buttons: One to cancel input and one
|
||||
// to accept it. You can also use `Swkbd::init()` to launch the keyboard in different
|
||||
// configurations.
|
||||
let mut keyboard = Swkbd::default(); |
||||
|
||||
// String used to store text received from the keyboard
|
||||
let mut text = String::new(); |
||||
|
||||
// Raise the software keyboard. You can perform different actions depending on which
|
||||
// software button the user pressed
|
||||
match keyboard.get_utf8(&mut text) { |
||||
Ok(Button::Right) => println!("You entered: {}", text), |
||||
Ok(Button::Left) => println!("Cancelled"), |
||||
Ok(Button::Middle) => println!("How did you even press this?"), |
||||
Err(_) => println!("Oh noes, an error happened!"), |
||||
} |
||||
} |
||||
|
||||
if hid.keys_down().contains(KeyPad::KEY_START) { |
||||
break; |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue