okey/cli/commands/
device.rs1use anyhow::Result;
2
3use crate::{cli::utils::device::is_keyboard, fs::device as fs};
4
5pub fn list(keyboard: bool) -> Result<()> {
6 let devices = fs::find_input_devices()?;
7
8 for device in devices {
9 if keyboard && !is_keyboard(&device) {
10 continue;
11 }
12
13 let name = device.name().unwrap_or("Unknown");
14 let phys = device.physical_path().unwrap_or_default();
15 let uniq = device.unique_name().unwrap_or_default();
16 let input_id = device.input_id();
17
18 println!("• {name}");
19 println!(" ├─ Path : {phys}");
20 println!(" ├─ Unique ID : {uniq}");
21 println!(" ├─ Vendor : {:#06x}", input_id.vendor());
22 println!(" ├─ Product : {:#06x}", input_id.product());
23 println!(" └─ Version : {:#06x}", input_id.version());
24 println!();
25 }
26
27 Ok(())
28}