Remap buttons

Signed-off-by: Nicholas Mello <nick@nmello.dev>
This commit is contained in:
2026-07-25 17:51:19 -05:00
parent 78c77a6b2d
commit 74e63c513f
2 changed files with 45 additions and 4 deletions

View File

@@ -114,6 +114,15 @@ pub enum UsbKeycodes {
Mute,
VolumeUp,
VolumeDown,
ControlLeft = 224,
ShiftLeft,
AltLeft,
GUILeft,
ControlRight,
ShiftRight,
AltRight,
GUIRight,
}
pub struct Key<'a> {

View File

@@ -47,11 +47,11 @@ async fn main(_spawner: Spawner) {
let driver = Driver::new(p.USB, Irqs);
let mut usb_buf = usb::UsbKeyboardBuf::new();
let usbkey = usb::UsbKeyboard::create_usb(&mut usb_buf, driver);
let mut keyboard = Keyboard::<6>::new();
let mut keyboard = Keyboard::<10>::new();
let mut signal_pin = Input::new(p.PIN_15, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Left) {
match keyboard.add_key(signal_pin, UsbKeycodes::X) {
Ok(()) => info!("Key 'a' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
@@ -59,7 +59,7 @@ async fn main(_spawner: Spawner) {
}
let mut signal_pin = Input::new(p.PIN_16, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Down) {
match keyboard.add_key(signal_pin, UsbKeycodes::C) {
Ok(()) => info!("Key 's' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
@@ -75,7 +75,7 @@ async fn main(_spawner: Spawner) {
}
let mut signal_pin = Input::new(p.PIN_18, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Right) {
match keyboard.add_key(signal_pin, UsbKeycodes::D) {
Ok(()) => info!("Key 'd' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
@@ -91,12 +91,44 @@ async fn main(_spawner: Spawner) {
}
let mut signal_pin = Input::new(p.PIN_20, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::ShiftLeft) {
Ok(()) => info!("Key 'w' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
}
}
let mut signal_pin = Input::new(p.PIN_14, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Up) {
Ok(()) => info!("Key 'w' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
}
}
let mut signal_pin = Input::new(p.PIN_13, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Down) {
Ok(()) => info!("Key 'w' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
}
}
let mut signal_pin = Input::new(p.PIN_12, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Right) {
Ok(()) => info!("Key 'w' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
}
}
let mut signal_pin = Input::new(p.PIN_11, Pull::None);
signal_pin.set_schmitt(true);
match keyboard.add_key(signal_pin, UsbKeycodes::Left) {
Ok(()) => info!("Key 'w' registered"),
Err(e) => {
defmt::panic!("Failed to register key! {:?}", e);
}
}
let led = Output::new(p.PIN_25, Level::Low);