Skip to content

Commit 3632a04

Browse files
Move scancodes to their own file.
1 parent 7831179 commit 3632a04

File tree

4 files changed

+370
-348
lines changed

4 files changed

+370
-348
lines changed

src/lib.rs

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ use core::marker::PhantomData;
2626
//
2727
// ****************************************************************************
2828

29+
pub mod layouts;
30+
2931
mod scancodes;
3032
pub use crate::scancodes::{ScancodeSet1, ScancodeSet2};
3133

@@ -36,7 +38,6 @@ pub use crate::scancodes::{ScancodeSet1, ScancodeSet2};
3638
// ****************************************************************************
3739

3840
/// `Keyboard<T, S>` encapsulates decode/sampling logic, and handles state transitions and key events.
39-
/// Size: 10 bytes
4041
#[derive(Debug)]
4142
pub struct Keyboard<T, S>
4243
where
@@ -379,17 +380,6 @@ pub trait KeyboardLayout {
379380
pub trait ScancodeSet {
380381
/// Handles the state logic for the decoding of scan codes into key events.
381382
fn advance_state(state: &mut DecodeState, code: u8) -> Result<Option<KeyEvent>, Error>;
382-
383-
/// Convert a Scan Code set X byte to our 'KeyCode' enum
384-
fn map_scancode(code: u8) -> Result<KeyCode, Error>;
385-
386-
/// Convert a Scan Code Set X extended byte (prefixed E0) to our `KeyCode`
387-
/// enum.
388-
fn map_extended_scancode(code: u8) -> Result<KeyCode, Error>;
389-
390-
/// Convert a Scan Code Set X extended byte (prefixed E1) to our `KeyCode`
391-
/// enum.
392-
fn map_extended2_scancode(code: u8) -> Result<KeyCode, Error>;
393383
}
394384

395385
/// The set of modifier keys you have on a keyboard.
@@ -725,8 +715,6 @@ impl Modifiers {
725715
}
726716
}
727717

728-
pub mod layouts;
729-
730718
// ****************************************************************************
731719
//
732720
// Tests
@@ -1017,37 +1005,6 @@ mod test {
10171005
process_keyevents(&mut k, &test_sequence);
10181006
}
10191007

1020-
#[test]
1021-
fn validate_scancodes() {
1022-
let mut codes = Vec::new();
1023-
let mut errs = Vec::new();
1024-
for code in 0x00..=0x7F {
1025-
let r = ScancodeSet1::map_scancode(code);
1026-
match r {
1027-
Ok(c) => codes.push(c),
1028-
Err(_) => errs.push(code),
1029-
}
1030-
}
1031-
codes.sort();
1032-
println!("{:?}", codes);
1033-
assert_eq!(codes.len(), 87);
1034-
assert_eq!(errs.len(), 41);
1035-
1036-
let mut codes = Vec::new();
1037-
let mut errs = Vec::new();
1038-
for code in 0x00..=0xFF {
1039-
let r = ScancodeSet2::map_scancode(code);
1040-
match r {
1041-
Ok(c) => codes.push(c),
1042-
Err(_) => errs.push(code),
1043-
}
1044-
}
1045-
codes.sort();
1046-
println!("{:?}", codes);
1047-
assert_eq!(codes.len(), 89);
1048-
assert_eq!(errs.len(), 167);
1049-
}
1050-
10511008
#[test]
10521009
fn test_set_1_down_up_down() {
10531010
let mut k =

src/scancodes/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//! A collection of Scancode implementations
2+
3+
mod set1;
4+
mod set2;
5+
6+
pub use self::set1::ScancodeSet1;
7+
pub use self::set2::ScancodeSet2;

0 commit comments

Comments
 (0)