@@ -36,6 +36,7 @@ pub fn print_touchpad_fw_ver() -> Result<(), HidError> {
36
36
let vid = dev_info. vendor_id ( ) ;
37
37
let pid = dev_info. product_id ( ) ;
38
38
let usage_page = dev_info. usage_page ( ) ;
39
+ let hid_ver = dev_info. release_number ( ) ;
39
40
40
41
debug ! (
41
42
" Found {:04X}:{:04X} (Usage Page {:04X})" ,
@@ -58,13 +59,24 @@ pub fn print_touchpad_fw_ver() -> Result<(), HidError> {
58
59
59
60
println ! ( "Touchpad" ) ;
60
61
println ! ( " IC Type: {:04X}" , pid) ;
62
+
61
63
let ver = match pid {
62
64
0x0239 => format ! ( "{:04X}" , read_239_ver( & device) ?) ,
63
65
0x0274 => format ! ( "{:04X}" , read_274_ver( & device) ?) ,
64
66
_ => "Unsupported" . to_string ( ) ,
65
67
} ;
66
68
println ! ( " Firmware Version: v{}" , ver) ;
67
69
70
+ // Linux does not expose a useful version number for I2C HID devices
71
+ #[ cfg( target_os = "linux" ) ]
72
+ debug ! ( " HID Version {:04X}" , hid_ver) ;
73
+ #[ cfg( not( target_os = "linux" ) ) ]
74
+ if ver != format ! ( "{:04X}" , hid_ver) {
75
+ println ! ( " HID Version v{:04X}" , hid_ver) ;
76
+ } else if log_enabled ! ( Level :: Debug ) {
77
+ println ! ( " HID Version v{:04X}" , hid_ver) ;
78
+ }
79
+
68
80
// If we found one, there's no need to look for more
69
81
return Ok ( ( ) ) ;
70
82
}
0 commit comments