pc-keyboard 0.4.0

PS/2 keyboard interface library. Handles UK 105-key keyboards producing Scancode Set 2.

pc-keyboard

A simple driver for handling PC keyboards, with both Scancode Set 1 (when running on a PC) and Scancode Set 2 support (when reading a PS/2 keyboard output directly).

Supports:

  • Scancode Set 1 and 2
  • US 104-key layout
  • UK 105-key layout

Usage

extern crate pc_keyboard;

use pc_keyboard::{Keyboard, layouts, ScancodeSet2};

fn main() {
	let mut kb = pc_keyboard::Keyboard::new(layouts::Us104Key, ScancodeSet2);
	match kb.add_byte(0x20) {
		Ok(Some(event)) => {
			println!("Event {:?}", event);
		}
		Ok(None) => {
			println!("Need more data");
		}
		Err(e) => {
			println!("Error decoding: {:?}", e);
		}
	}
}