Struct sdl2::keyboard::KeyboardState
[−]
[src]
pub struct KeyboardState<'sdl> { // some fields omitted }
Methods
impl<'sdl> KeyboardState<'sdl>
[src]
fn new(_sdl: &Sdl) -> KeyboardState
fn is_scancode_pressed(&self, scancode: Scancode) -> bool
Returns true if the scancode is pressed.
Example
use sdl2::keyboard::Scancode; fn is_a_pressed(sdl_context: &mut sdl2::Sdl) -> bool { sdl_context.keyboard_state().is_scancode_pressed(Scancode::A) }
fn scancodes(&self) -> ScancodeIterator
Returns an iterator all scancodes with a boolean indicating if the scancode is pressed.
fn pressed_scancodes(&self) -> PressedScancodeIterator
Returns an iterator of pressed scancodes.
Example
use sdl2::keyboard::Keycode; use sdl2::keyboard::Scancode; use std::collections::HashSet; fn pressed_scancode_set(sdl_context: &sdl2::Sdl) -> HashSet<Scancode> { sdl_context.keyboard_state().pressed_scancodes().collect() } fn pressed_keycode_set(sdl_context: &sdl2::Sdl) -> HashSet<Keycode> { sdl_context.keyboard_state().pressed_scancodes() .filter_map(Keycode::from_scancode) .collect() } fn newly_pressed(old: &HashSet<Scancode>, new: &HashSet<Scancode>) -> HashSet<Scancode> { new - old // sugar for: new.difference(old).collect() }